Digital Oasis
A React Native banking app on a Supabase backend: Postgres with row level security holds the money logic, Edge Functions handle Paystack funding and identity checks, and queues with scheduled workers send email and push notifications. Built solo with AI-assisted development, running in production in test mode, resting at no cost.
The engineering dilemma
01 // ContextA banking backend normally means always-on servers and a monthly bill. The first version ran as separate Node services on AWS. When the cloud credits ran out, the choice was to shut it down or rebuild it so it could rest at no cost without weakening the security. It moved to Supabase.
Architectural role
02 // RoleSole engineer across the whole stack, directing AI-assisted development and reviewing every change:
- The Postgres schema, row level security and the money functions
- Idempotent transfers and bill payments, safe to retry
- Edge Functions for Paystack funding, password confirmation and identity checks
- Queues and scheduled workers for email and push notifications
- Sign-in with an emailed code, and the email that carries it
- The move from AWS to a free-tier stack, and the React Native client
What changed
03 // OutcomeAn adversarial security review before release caught an IDOR that would have exposed customer records.
The finding went into the project's security log rather than just getting patched, and later reviews of the Supabase move found and fixed more before anything shipped. The platform holds a resting state that costs nothing, verified end to end in production.
Infrastructure discipline and rigour


Infrastructure disciplineDelivery practice
I build infrastructure the way an architect builds: reproducible, documented, and cheap to keep standing. Every project is provisioned as code, reviewed before it ships, and torn back down to a resting state that costs nothing.
Principle 01
Cost discipline
Infrastructure is torn down between sessions and provisioned again on demand. Free-tier by default, so practice never depends on a budget.
Resting state
Principle 02
Security as default
Validate at the boundary, authorize on the server, keep secrets in environment variables, and keep a written security log per project.
Boundaries
Principle 03
Everything as code
Terraform plus GitOps: reproducible and drift-checked, never clicked together in a console and never remembered rather than recorded.
Reproducible
Operational and applied stack
Tier 01 // Cloud and infrastructure
Provisioned as code
Networks, clusters, and databases in Terraform with remote state, created and destroyed on demand.
- AWSCloud
- TerraformIaC
- KubernetesEKS
- HelmCharts
- DockerRuntime
- nginxGateway
Tier 02 // Delivery and GitOps
Pipelines and promotion
Every change ships through a pipeline: planned in review, applied from Git without long-lived keys, and promoted environment by environment.
- GitHub ActionsCI
- Argo CDGitOps
- AtlantisPlan
- OIDCAuth
- RenderEarlier hosting
- VercelEdge
Tier 03 // Observability and security
Guardrails and evidence
Scanners run before merge and dashboards after deploy, so the pipeline finds a regression before a user does.
- PrometheusTelemetry
- GrafanaDashboards
- CheckovIaC scan
- TrivyImages
- Secrets ManagerVault
- KMSKeys
- WAFEdge
Tier 04 // Application
What runs on top
The services and clients the platform exists to run.
- TypeScriptStrict
- Node.jsServices
- PythonTooling
- Next.jsWeb
- React NativeExpo
- PostgreSQLPrimary
- SupabaseBackend
Have something worth building?
I build full-stack systems end to end, from the infrastructure and delivery pipeline to the application running on top. If it needs to work reliably, I'd like to hear about it.