← projects
Dec 2025 to Apr 2026Lead Backend Developer · solo

Crypto Fintech: 13 Apps in 70 Days

A full crypto payment platform (gateway, OTC exchange, on-chain settlement) built solo in 70 days with Spec-Driven Development. 13 apps, ~1,650 tests, production-grade with compliance.

Built solo in 70 days

13
apps in production
3
Fastify APIs
~1,650
automated tests
138K
lines of TypeScript

The challenge

Build a complete crypto payment platform: PIX payment gateway, OTC exchange, on-chain settlement on Bitcoin’s Liquid Network. End to end. Solo. Real money, real compliance. 70 days.

Not a prototype. A Turborepo monorepo of 13 apps (3 Fastify APIs, 9 Next.js frontends, a component library) on 3 isolated PostgreSQL databases, deployed to Kubernetes.

How I built it: spec first, prompt never

Every capability started as a written specification: requirements, design, tasks. Not a prompt. AI agents executed against the spec; I reviewed against acceptance criteria and shipped. When something was wrong, I fixed the spec, not the prompt. Every line of generated code traced back to a decision I made.

The delivery loop, repeated per capability

Input

A capability to ship (e.g. the settlement engine)

  1. 01Specify

    Requirements + design + tasks written before a line of code. The spec is the contract.

  2. 02Generate

    The agent implements against the spec, tests alongside code.

  3. 03Verify

    Review against acceptance criteria. Wrong output means a wrong spec. Fix the spec.

Output

Merged, tested, deployed to Kubernetes

The delivery loop, repeated per capability: flow of 3 steps from "A capability to ship (e.g. the settlement engine)" resulting in "Merged, tested, deployed to Kubernetes".

What shipped to production

In production, not a demo

  • Required:
    Payment gatewayPIX with 4 payment providers behind a factory pattern (REST + bank-direct BACEN Cob v2 over mTLS). HMAC-SHA256 signed merchant webhooks with a 6-attempt exponential backoff queue; per-charge idempotency keys.
  • Required:
    OTC exchange engineRolling 24h VWAP once ≥5 confirmed trades exist; cross-rate from 5 market sources aggregated by median + outlier filtering; asymmetric per-pair spreads. All money math in 8-decimal integers (satoshi precision), no floating point.
  • Required:
    On-chain settlement engine10s deposit polling, 2-block confirmation, tolerance-based auto-refund (>10% deviation), a $10K auto-settle cap that overflows to manual approval, 3-phase atomic commit, and crash recovery for settlements stuck mid-flight.
  • Required:
    OAuth 2.1 / OIDC auth server5 roles, 19 scopes, 18 granular permissions, TOTP 2FA, JWKS-verified JWTs, and machine-to-machine client-credentials with row-level scoping.
  • Required:
    Platform & operationsKubernetes on managed DOKS (HPA 2-10, non-root hardened pods), Terraform IaC, and Prometheus/Grafana/Loki with 23 custom business metrics.

The spec is the multiplier

The more capable the model, the further it runs in the wrong direction on a vague instruction. The spec is what points it right, and what lets one person ship a 13-app platform in 70 days.

The secret was never the AI. It was the specification. I wrote up the full Spec-Driven Development case study: the method, the spec corpus, and the honest limits.

Stack

  • TypeScript
  • Fastify 5
  • Next.js 16
  • React 19
  • PostgreSQL
  • Drizzle ORM
  • Redis
  • BullMQ
  • Turborepo
  • Kubernetes (DOKS)
  • Terraform
  • Prometheus
  • Grafana
  • Claude Code