Based in Lagos, Nigeria. Working with teams worldwide.Local time --:-- WAT

Damilare Peter Eniayewu Product architect and engineering leader.

I design products that move money and handle health data, then build and lead the teams that ship them.

Nine years across cross-border remittance at Cede, digital lending at Access Bank, the Fitness Time app at Leejam and telehealth at FastCare. I work where product, architecture and regulation all have to agree.

Open to senior architecture and engineering leadership roles, remote or relocation

Portrait of Damilare Peter Eniayewu
Settled$4B+processed on the payments platform I led
~2Mdownloads of the Fitness Time app I architect
Teams I've built with
Health StationCede TechnologiesLeejam SportsAccess BankEsSolo HoldingsMycover.aiUbenwa HealthMadesoftlogicGoldenwave Innovations
Peter Eniayewu at his desk, checking a mobile build on his phone
His workspace: a curved monitor with code open, a portrait display, a laptop and a tablet

I trained as an electrical engineer at Obafemi Awolowo University and came into software through mobile. Most of my career has been spent on products where a bug costs someone money or care: remittance, lending, wallets, card terminals, insurance and telehealth.

As CTO and Product Architect at Cede Technologies I led a team of about ten across product and engineering, owned the AWS estate, and ran security and compliance myself as ISMS Manager: SOC 2, PCI-DSS, ISO 27001 and 22301, KYC and AML. I still write production code, mostly Flutter, Swift and Go.

I work best with teams that want an architect who can also sit in the code review, talk to the regulator and explain the trade-off to the CEO in plain words.

Based
Nigeria, working worldwide
Hours
WAT, UTC+1
Years
9, since 2018
Teams led
up to 10 people
Markets
15+ countries on 5 continents

Every line comes from a role I held. Each one settles as you scroll past it.

WhereWhatFigureState
CedeTransactions processed on the platform I led$4B+settled
CedeMarkets on the B2B payments platform8+settled
CedeInstitutional and liquidity partners25+settled
CedeRetail users across Cede's consumer products100K+settled
VoyeCountries launched within six months4settled
LeejamSaved in year one by replacing third-party dependencies$500K+settled
LeejamCrash rate after the stability programme<1%settled
LeejamFitness Time app downloads, October 2026~2Msettled
Nanni AIParents using the baby-cry translator I worked on500K+settled
Nanni AICries translated in nearly every country4Msettled
EsSoloPlatform revenue on the white-label wallet, five markets$1M+settled
CareerApps shipped across Africa, the Middle East, Europe and North America30+settled
CareerYears shipping production mobile and fintech software9settled
13 entries, all from my own roles.Public context and sources are on each case study.

One career, three emphases. The titles and dates are identical in all three; what changes is which work comes first.

  • Engineering Leader & Product Architect

    For CTO, VP or Head of Engineering, Engineering Manager, Principal or Solutions Architect.

    Cede in depth: leading the team, the AWS estate, information security and compliance, defending against fraud and attacks, and the product calls behind a $4B+ payments platform.

    Default CV
  • Lead Mobile Engineer

    For Lead, Staff or Principal Mobile Engineer, Mobile Architect, Head of Mobile.

    Leejam in depth: the Fitness Time rebuild, mobile security and anti-tampering, card-present POS, health and IoT integrations, AI features and enterprise delivery.

  • Product Engineer

    For Senior or Staff Product Engineer, Founding Engineer, Technical Product Owner, Product Architect, Frontend Lead.

    Owning the product end to end: the calls behind Cede, Health Station and Leejam, and the React, Next.js and Flutter work that shipped them.

Two pages each, single column, written for applicant tracking systems. Use the Word file when a portal asks for an upload, and the PDF everywhere else.

How I think about a payment, from the tap to the auditor. 6 stages, each a call I have made in production. Scroll to send one through.

lib/transfer/send_transfer.dartinitiated
Future<Transfer> sendTransfer(Quote quote, Recipient to) async {
  final key = _keys.forQuote(quote.id); // same key on every retry

  return _api.post(
    '/v1/transfers',
    headers: {
      'Idempotency-Key': key,
      'X-Device-Id': await _device.boundId(),
    },
    body: quote.toTransfer(to),
    retry: RetryPolicy.exponential(max: 3),
  );
}
stage 1 of 6. Illustrative code written for this page; client code stays with clients.

01Tap. The client never trusts the network

Every transfer carries an idempotency key and a bound device ID from the first tap. Retries are safe, double sends are impossible, and the server can tell a new phone from a known one.

lib/transfer/send_transfer.dartinitiated
Future<Transfer> sendTransfer(Quote quote, Recipient to) async {
  final key = _keys.forQuote(quote.id); // same key on every retry

  return _api.post(
    '/v1/transfers',
    headers: {
      'Idempotency-Key': key,
      'X-Device-Id': await _device.boundId(),
    },
    body: quote.toTransfer(to),
    retry: RetryPolicy.exponential(max: 3),
  );
}

02Edge. Partners sign, handlers stay clean

WAF rules sit in front. Behind them, partner requests are verified in middleware with HMAC-SHA256 and mapped to a shadow user, so business handlers never learn a second auth model.

internal/edge/hmac.goauthenticated
func PartnerAuth(keys KeyStore) func(http.Handler) http.Handler {
	return func(next http.Handler) http.Handler {
		return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
			p, err := keys.Lookup(r.Header.Get("X-Partner-Id"))
			if err != nil || !p.Verify(r, time.Now(), 5*time.Minute) {
				http.Error(w, "invalid signature", http.StatusUnauthorized)
				return
			}
			ctx := auth.WithUser(r.Context(), p.ShadowUser())
			next.ServeHTTP(w, r.WithContext(ctx))
		})
	}
}

03Risk. Score with signals that exist here

Nigerian fraud does not look like card fraud in Europe. BVN match, SIM swap recency, device age and USSD patterns are first-class inputs, and the decision has a latency budget.

internal/risk/decide.goscored 0.12
func (e *Engine) Decide(ctx context.Context, t Transfer) Decision {
	ctx, cancel := context.WithTimeout(ctx, 250*time.Millisecond)
	defer cancel()

	s := e.signals.Collect(ctx, t) // parallel, partial results allowed
	score := e.model.Score(s.BVNMatch, s.SimSwapAge, s.DeviceAge, s.Velocity24h)

	switch {
	case score >= 0.85:
		return Block(score, s)
	case score >= 0.60:
		return Review(score, s)
	default:
		return Allow(score, s)
	}
}

04Ledger. Money moves in pairs

Double-entry, one database transaction, and a constraint that refuses to commit if debits and credits disagree. Balances are derived, never edited.

migrations/0042_post_transfer.sqlposted
BEGIN;

INSERT INTO entries (txn_id, account_id, direction, amount_minor, currency)
VALUES
  ($1, $2, 'debit',  $4, $5),  -- sender wallet
  ($1, $3, 'credit', $4, $5);  -- corridor settlement account

UPDATE transfers SET state = 'posted', posted_at = now()
WHERE id = $1 AND state = 'approved';

-- deferred constraint: sum(debits) = sum(credits) per txn_id
COMMIT;

05Payout. Assume the rail will fail

NGN payouts route across ranked rails with circuit breakers. A timeout is not a failure, it is a question, so it becomes a status query instead of a resend.

internal/payout/route.gosettled
for _, rail := range r.Rank(p.Corridor) {
	if r.breaker.Open(rail.Name) {
		continue
	}
	res, err := rail.Send(ctx, p)
	switch {
	case err == nil:
		return res, nil
	case errors.Is(err, ErrTimeout):
		return r.tsq.Schedule(p, rail) // ask, never resend
	default:
		r.breaker.Record(rail.Name, err)
	}
}
return nil, ErrNoRailAvailable

06Evidence. Every control leaves a receipt

SOC 2 and PCI-DSS are easier when evidence is a side effect of the infrastructure. Logs are retained by policy and locked, so the auditor's question takes a query, not a week.

infra/audit.tfaudited
resource "aws_s3_bucket_object_lock_configuration" "audit" {
  bucket = aws_s3_bucket.audit_logs.id

  rule {
    default_retention {
      mode  = "COMPLIANCE"
      years = 7
    }
  }
}

resource "aws_cloudwatch_log_group" "payments" {
  name              = "/payments/api"
  retention_in_days = 400 # PCI-DSS 10.5.1 asks for 12 months minimum
}

24 of the 30+ apps I've shipped, across payments, lending, insurance, health and fitness. Open any one for the full case study.

Filter
  1. PaymentsVoye at Cede TechnologiesCross-border remittance and peer-to-peer FX for diaspora communities, on top of a B2B payments and treasury platform.
  2. Fitness, HealthFitness Time at Leejam SportsThe member app and website for Leejam's Fitness Time gyms in Saudi Arabia and the UAE: memberships, bookings, InBody results and wearable data.
  3. Fitness, Health, AIFT Trainers at Leejam SportsThe app Fitness Time's personal trainers coach with: client profiles, schedules, workout programmes and progress from wearables, plus shifts and leave.
  4. HealthFastCare and HMIS at Health StationTelehealth and hospital management software: FastCare's patient and doctor apps, the HMIS platform, an admin portal and hospital-facing tools.
  5. Lending, PaymentsQuickBucks at Access BankAccess Bank's instant digital lending app: payday loans, salary advance, device and vehicle finance, open to customers and non-customers.
  6. Health, CommerceNahdi at Al Nahdi Medical CompanyPharmacy commerce app for Al Nahdi's 1,200+ pharmacies in Saudi Arabia and the UAE: e-prescriptions, delivery, store locator and Nuhdeek loyalty.
  7. Mobility, LogisticsLibmot at Libra MotorsInter-city bus booking and same-day courier for a Nigerian transport operator running since 2003: Libmot Mobile and Libmot Express.
  8. Health, AIMySmartMedic at UNICCON GroupAI-assisted telemedicine for underserved communities: video consultations with licensed doctors, e-prescriptions and a health chatbot.
  9. PaymentsExpedier at Expedier Inc.A Canadian digital financial platform for newcomers and underserved communities: global wallets, cards, transfers and credit building.
  10. PaymentsBoundlessPay at Boundless NexusA crypto multi-wallet for Nigerians: buy, sell and convert crypto, send money abroad, save, invest and pay bills from one app.
  11. LogisticsDellyman at DellymanA same-day delivery marketplace in Lagos: customers compare logistics companies, book a rider and track the delivery live.
  12. MediaAdmoni at AdMoniAds that pay the viewer: people earn tokens for engaging with partner ads and redeem them for airtime, data, TV and electricity.
  13. AI, HealthNanni AI at Ubenwa HealthAn AI baby-cry translator and parenting app, trained on clinically labelled infant cries.
  14. Payments, AIVoisek at VoisekPhone-fraud protection that banks build into their own apps: fraud calls blocked before they ring, smishing filtered out of SMS.
  15. Insurance, AIMyCover.ai SDK at Mycover.aiEmbedded insurance for other companies' apps: an SDK to sell, pay for and manage policies from licensed insurers, plus AI-assisted claims inspection.
  16. Commerce, PaymentsVendease at VendeaseFood procurement for restaurants and hotels in Nigeria and Ghana: supplies straight from farms and manufacturers, credit to pay over time, and a restaurant point of sale.
  17. PaymentsEsSolo at EsSolo HoldingsA white-label wallet and cardholder platform: one Flutter codebase shipped as separately branded apps for clients in five markets.
  18. PaymentsBanking POS at EsSolo HoldingsBanking point-of-sale software for Android terminals: EMV chip and NFC contactless card reading, PIN entry and ISO 8583 messaging, with sensitive card data encrypted on the device.
  19. PaymentsPaySprint at PaySprint Inc.No-hardware payments for small businesses in Canada and beyond: send and receive money, invoicing and in-store payments from a phone.
  20. PaymentsWallX at WallX AfricaB2B payments and business tools for African SMEs: invoicing, collections and a merchant portal with a companion mobile app.
  21. PaymentsTwig at TWIG SolutionsAutomated saving for the UAE that works with the bank account people already have.
  22. Media, MobilityStereopay at Stereo PayRide, listen, earn: advertisers and creators fund audio campaigns, and the drivers who play them to passengers share the revenue.
  23. PaymentsCliqbox at formerly AjoboxAjobox, an app for group contributions and SME lending, which became the social finance platform Cliqbox.
  24. PaymentsIyawali at IyawaliA cross-border remittance app, no longer operating.

Embedded fraud intelligence for African fintech. Most fraud tooling is built for card networks in Europe and North America. Fraud here runs through SIM swaps, BVN and NIN gaps, USSD sessions and coerced transfers, so Finshyd treats those as first-class signals instead of afterthoughts.

It is designed as an SDK and an API that a bank, wallet or lender can drop in, with a decision returned inside the payment flow rather than in a report the next morning.

  • CoreGo modular monolith
  • EventsKinesis, canonical schema with BVN, NIN, SIM swap, carrier and USSD fields
  • Devicedevice_sentinel_security, my open-source Flutter SDK for root, jailbreak, Frida and tamper signals
  • RegionAWS af-south-1
  • BudgetSync decision under 300ms at p99
  • StatusIncorporated, in active build
decisionsallow 0 / review 0 / block 0target p99 < 300ms
12:52:00₦7,600 via POS withdrawalbvn=matchdevice=knownallow0.05 · 58ms
12:51:58₦885,550 via USSD *737#bvn=matchdevice=knownallow0.19 · 66ms
12:51:56₦476,150 via bill paymentbvn=partialdevice=knownallow0.26 · 31ms
12:51:54₦867,800 via app transferbvn=partialdevice=knownallow0.31 · 40ms
12:51:53₦119,050 via bill paymentbvn=matchdevice=knownallow0.07 · 78ms
12:51:51₦302,250 via app transferbvn=matchdevice=knownallow0.06 · 30ms
12:51:49₦477,700 via bill paymentbvn=matchdevice=knownallow0.06 · 44ms
12:51:48₦581,550 via app transferbvn=matchdevice=knownallow0.14 · 72ms
12:51:46₦441,700 via app transferbvn=matchdevice=knownallow0.09 · 65ms
Simulated stream. Real signals, made-up transactions. No customer data touches this page.

Roles

  1. Health StationcontractFrontend Team LeadWeb and mobile lead for FastCare telehealth and the HMIS hospital management platform.
  2. Cede TechnologiesCTO and Product ArchitectLed product, engineering and infrastructure for Voye and the B2B platform. ISMS Manager for the ISO 27001 programme.
  3. Leejam SportsProduct Architect and Mobile Engineering LeadFitness Time member app and website, the FT Trainers staff app and a custom health data plugin.
  4. Access Bank via Oxygen XcontractSenior Software EngineerQuickBucks digital lending, on mobile and web for clients, vendors and admin.
  5. EsSolo HoldingsSenior Mobile EngineerMulti-tenant white-label wallet across five markets, $1M+ in platform revenue, plus banking POS software for Android terminals: EMV, NFC and ISO 8583.
  6. Mycover.aiMobile EngineerInsurtech. Owned the embedded insurance SDK through versioning, docs and B2B adoption, and built ML-assisted claims inspection.
  7. Ubenwa HealthcontractSenior Mobile EngineerNanni AI, the infant cry translator.
  8. MadesoftlogicSoftware DeveloperBuilt Esopos, a cloud-based point of sale for supermarkets that kept working offline, then BoundlessPay and a ride-hailing app on contract.
  9. Goldenwave InnovationsWeb and Mobile DeveloperWebsites and mobile apps for individuals and small businesses. First production Flutter work.

What I reach for

Mobile
Flutter and Dart daily, Swift and SwiftUI, Kotlin and Java for Android POS terminals, React Native (and two migrations off it)
Web
Next.js, React, TypeScript
Backend
Go, Node.js, PostgreSQL
Cloud
AWS: ECS Fargate, RDS, Kinesis, WAF, CloudFront, CloudWatch, GuardDuty, Security Hub. Cloudflare at the edge
Delivery
Trunk-based development, feature flags with Unleash, mobile CI/CD
Card-present
EMV chip, NFC contactless, ISO 8583, PIN blocks and terminal keys
Compliance
SOC 2, PCI DSS v4.0.1, ISO 27001 and 22301, KYC and AML, NDPA 2023

Certifications

  • AWS Certified Solutions Architect, AssociateAmazon Web Services
  • AI Engineering Professional CertificateIBM, via Coursera
  • AI agent software developmentMasarTech
  • System Design and ArchitectureUniversity of Alberta, via Coursera

Education

  • BSc, Electronic and Electrical EngineeringObafemi Awolowo University, 2010 to 2015
  • OND, Electrical and Electronics EngineeringFederal Polytechnic, Ede, 2009 to 2010

Talks and open source

  • Secure coding for FX: shipping software that doesn't leak money or PIITraining for Cede's engineering and product team, July 2026
  • Mastering Mobile UI/UX: Designing Apps with ImpactTechMe, live session, Jan 2024
  • Tech for TeensEd-Health International Initiative, programme officer, Nov 2023
  • device_sentinel_securitypub.dev, Flutter SDK for root, jailbreak, Frida and tamper signals
  • health_kit_wrapperpub.dev, one Dart API over HealthKit and Health Connect
  • address_verifypub.dev, on-device proof-of-address pre-screening
  • Platform engineering: building internal developer platforms that pay for themselvesPoolot, for product managers, engineers and people operations, April 2025

Hiring for an architect or engineering lead, or need a second opinion on a payments, risk or mobile platform? Email is the fastest way to reach me.

enypieter@gmail.com