A mobile-first neobank that turned 28K early adopters into $45M+ in transaction volume, and hit profitability while most fintechs were still burning runway.
Every cent moves through a double-entry ledger in PostgreSQL. Balances are derived from immutable debit/credit rows, not overwritten fields, so the system can always reconstruct exactly how an account reached its current state.
Transfers run inside serializable transactions guarded by device-signed idempotency keys, which means a retried request or a dropped connection can never double-charge a user or fork a balance.
Stripe moves the actual funds, but Stripe is eventually consistent, webhooks arrive seconds to minutes later. A reconciliation worker continuously matches webhook events against ledger entries and routes any mismatch to a dead-letter queue for human review.
That separation between intent (ledger) and settlement (Stripe) is what let the team keep error rates near zero while scaling past $45M in volume on lean AWS infrastructure.
| Component | Technology | Why |
|---|---|---|
| Mobile client | React Native | One codebase ships iOS + Android with native-feel performance. |
| API + services | Node.js | Async I/O fits high-concurrency, webhook-driven money movement. |
| Ledger | PostgreSQL | Serializable transactions guarantee balances never go inconsistent. |
| Payments | Stripe Treasury / Issuing | Bank rails and card issuing without becoming a chartered bank. |
| Infra | AWS | Autoscaling, managed RDS, and SQS for reconciliation at low ops cost. |
Users verify identity and open an account in minutes without a branch visit.
Confirmed ledger writes push instantly to the client cache via AWS notifications.
Device-signed keys make every money movement safe to retry exactly once.
Immutable debit/credit rows make every balance fully auditable.
A worker reconciles Stripe webhooks against the ledger and flags drift.
Virtual and physical cards issued directly through Stripe Issuing.
“Balances aren't stored, they're proven. Every cent is the sum of an immutable ledger.”
A single React Native codebase, a Node.js service layer, and a battle-tested PostgreSQL ledger let a small team move $45M+ for 28K+ users at a 4.8 rating, and do it profitably, early. The architecture's core bet was discipline: separate intent from settlement, never mutate a balance, and reconcile relentlessly. That foundation is what turns a fast-growing neobank from a liability into a durable, auditable business.