Selected work
Three things I've actually shipped: a live app built around how people actually move, a backend built to get money handling right, and a team platform where I owned the code-generation engine.
Travel Mate
Minibus taxi routes in South Africa are coordinated almost entirely by word of mouth. Travel Mate gives commuters a way to post and check route availability in real time.
- Live route and stop alerts backed by a REST API
- JWT authentication for posting and managing alerts
- PostgreSQL schema designed around real commuter routes, not a generic CRUD demo
FinTrack
A personal finance API built to get money handling right, not just feature-complete. Amounts are BigDecimal end to end, so a balance never drifts by a cent. JWT auth, Dockerised, deployed on AWS.
- BigDecimal throughout — no floating-point rounding on money
- JWT auth with refresh, and a Dockerised deploy to AWS (RDS, S3, SES)
- Documented with Swagger; unit and integration tests around the transaction logic
PromptForge
A four-person build: a platform that turns a natural-language app description into a generated full-stack project, pushes it to a new GitHub repository, and deploys it. I owned the code-generation engine and the validate-and-repair loop that stops generated code shipping broken.
- Validate-and-repair loop — parses tsc and ESLint output into structured failures, then maps each one to the files that need repairing
- Generation engine split behind interfaces (planner, scaffolder, refiner, validator) so each stage is testable on its own
- GitHub OAuth and API automation: generated projects land as real repositories and deploy, rather than downloading as a zip