Skip to content

Projects (13)

Platforms and services I've shipped at work and for clients, plus side projects I build to learn how systems really work.

Company

  • RenoSafe

    · WebAlive

    A multi-tenant construction-finance platform. Technical lead for a five-engineer team, owning the payment and escrow rails and the database-enforced tenant isolation.

    • Technical lead on a greenfield build (27K lines of backend, 45K of frontend, 1,200+ automated tests), serving as release gatekeeper and authoring the architecture decision specs.
    • Hardened PostgreSQL row-level security to fail closed, closing a class of cross-tenant data leaks the test suite could not catch: split database roles so the app runs as a non-superuser, added a readiness probe that blocks traffic when isolation is off, and fixed tenant-context gaps on webhooks, provisioning, and admin cross-firm reads.
    • Delivered the payment and escrow rails single-handedly: a full Stripe subscription lifecycle (idempotent payment intents, webhook activation, abandoned-checkout void, reconciler) and a double-entry escrow ledger with invariant checks and hold/release/refund flows.
    • Removed dashboard and list-view N+1 queries with batched, owner-scoped read paths, locked the gains in with query-count regression tests, and resolved production incidents from unbounded feeds, missing timeouts, and a connection leak.
    • Set the team's engineering standards for security, migrations, review, and deployment, and built AI review agents that enforce them on every pull request.
    • Django
    • DRF
    • Vue.js
    • PostgreSQL
    • Keycloak
    • Stripe
    • AWS
    • Kubernetes
  • Cortex

    · WebAlive

    An AI agent platform with a cost-aware AWS Bedrock model-routing tier that keeps roughly three-quarters of traffic off the most expensive model.

    • Built the model-routing tier where Claude Haiku classifies intent, Claude Sonnet runs 39 tool-style actions, and Nova-backed retrieval answers knowledge queries.
    • Routed roughly three-quarters of traffic off the most expensive model, cutting inference cost without hurting answer quality.
    • Added versioned prompt modules, grounding verification, and per-tenant token budgets to keep behaviour predictable and spend bounded.
    • Python
    • AWS Bedrock
    • AWS
  • MarketBridge

    · WebAlive

    A backend-for-frontend (sole engineer) unifying a billing platform and a marketing-automation platform behind one typed, OpenAPI-driven contract.

    • Designed a layered gateway/service/domain architecture that hides two very different upstream APIs behind a single typed contract.
    • Enforced strict typing end to end, generating the frontend's types from the service's OpenAPI schema so the client and server never drift.
    • Delivered it solo on FastAPI and React 19.
    • FastAPI
    • React
    • TypeScript
    • Python
    • OpenAPI
  • Exsited / AutoBill

    · Bit Mascot

    An enterprise subscription-billing and accounting platform. I authored its versioned public REST API and the shared framework other teams built on.

    • Designed and shipped the versioned public REST API (v4) across 116 business entities and roughly 370 endpoints: signed cursor pagination, Redis-backed idempotency keys, 139 typed request objects, optimistic concurrency, and a 23-code error envelope.
    • Built a reusable filtering, sorting, and field-projection layer (13 operators with per-type validation, response masking) adopted unchanged by 24 list endpoints with zero per-module configuration.
    • Cut list-endpoint database load by an order of magnitude, from 102 to 5 SQL statements per page on the notes API, by replacing per-row lookups with batched foreign-key loaders across roughly 20 endpoints.
    • Sole author of the OData v4 analytics feed (Apache Olingo, 19 entities) that let customers query billing data from Power BI, including a filter-expression translator with 11 operators and 13 functions.
    • Largest contributor to an 893-permission access-control model, and built the batch billing operations centre (invoice runs, payment runs, dunning, direct-debit) with execution history and live progress.
    • Grails
    • Groovy
    • Java
    • MySQL
    • Redis
    • RabbitMQ
    • Vue.js
  • Exsited App Curator

    · Bit Mascot

    An internal log-curation service (87% of the code) wrapped in a full Prometheus, Grafana, and Loki observability stack.

    • Rebuilt the log-curation service on FastAPI, MongoDB, and RabbitMQ, contributing 87% of the code.
    • Containerised it and stood up a Prometheus, Grafana, and Loki stack with four dashboards for logs and metrics.
    • FastAPI
    • Python
    • MongoDB
    • RabbitMQ
    • Docker
    • Prometheus
    • Grafana

Clients

  • An AI chatbot for Genotype Health, an Australian health platform - powered by Amazon Bedrock with safety guardrails and served through a Django backend.

    • Built a conversational AI chatbot for Genotype Health, powered by Amazon Bedrock foundation models.
    • Developed the Python/Django backend and API layer integrating Bedrock for LLM-driven responses.
    • Configured guardrails to keep responses safe, on-topic, and aligned with the platform's healthcare domain.
    • Python
    • Django
    • Amazon Bedrock
    • Guardrails
    • AWS
  • Mining Hub

    · Bit Mascot

    An awareness platform for junior mining companies and the global investment community.

    • Built backend services using Node.js, Express.js, and PostgreSQL with Sequelize ORM.
    • Developed RESTful APIs serving company profiles and investment-focused data to a Vue.js front end.
    • Modeled relational data with Sequelize migrations and deployed on AWS.
    • JavaScript
    • Node.js
    • Express.js
    • PostgreSQL
    • Sequelize
    • Vue.js
    • AWS

Personal

  • A modern, interactive resume builder with real-time preview, multiple templates, and PDF export.

    • Built an ATS-friendly resume builder with Vue 3 (Composition API), Vite, and Tailwind CSS, with real-time preview synced via Pinia.
    • Implemented drag-and-drop section reordering and multiple templates with customizable colors and typography.
    • Engineered client-side PDF export with jsPDF + html2canvas (with page-break handling), plus JSON import/export and auto-save.
    • Optimized rendering and bundle size, achieving 95+ Lighthouse scores and a sub-1MB gzipped build.
    • Vue.js
    • Pinia
    • Vite
    • Tailwind CSS
    • jsPDF
  • Bildora

    In progress

    A multi-tenant SaaS e-commerce and website builder - a 'Shopify-lite' for small-to-medium merchants, with an integrated storefront and back-office.

    • Architecting a multi-tenant SaaS e-commerce and website-builder platform as an affordable Shopify alternative for SMB merchants.
    • Designing database-enforced tenant isolation with PostgreSQL 16 Row-Level Security (per-connection GUCs) on a fail-closed default, so the database - not application code - guarantees tenant boundaries.
    • Building an identity service with email/password (zxcvbn + HIBP), Google OAuth (PKCE/OIDC), magic-link login, TOTP MFA, and refresh-token rotation with family-based theft detection.
    • Modeling RBAC with nine seeded roles and a resource:action:scope permission registry, plus plan-based entitlements enforced across JWT, Redis, and Postgres.
    • Establishing a Kubernetes-native platform (K3s, Helm, ArgoCD GitOps) with a CloudEvents transactional-outbox event bus on RabbitMQ and Kong as the API edge.
    • Java
    • Spring Boot
    • Next.js
    • TypeScript
    • PostgreSQL
    • Redis
    • RabbitMQ
    • Kubernetes
  • A modular flight booking system with real-time seat availability, secure authentication, and Stripe-powered payments.

    • Built a flight booking system on Node.js/Express 5 with MySQL and Sequelize ORM, featuring advanced search, real-time seat availability, and dynamic class-based pricing.
    • Implemented JWT authentication with refresh tokens and role-based access control across Customer, Agent, and Admin tiers.
    • Integrated Stripe payments and Nodemailer notifications into a multi-passenger booking flow with PNR generation and refund handling.
    • Added Redis caching, response compression, pagination, and rate limiting, with Jest/Supertest suites, Swagger docs, and Docker-based environments.
    • JavaScript
    • Express.js
    • MySQL
    • Sequelize
    • Redis
    • Stripe
    • Docker
  • An ongoing side project for tracking expenses, managing budgets, and visualizing financial insights.

    • Developing a full-stack finance manager with a Spring Boot 3 REST API (Spring Security, JPA) and a React + TypeScript front end.
    • Implemented JWT authentication with role-based access control (USER, ADMIN, PREMIUM) and BCrypt password hashing.
    • Modeled multi-account finances (bank, credit, cash, investments, crypto) with categorized transactions and budgets with spending alerts.
    • Added request rate limiting (bucket4j), Swagger/OpenAPI docs, and containerized the stack with Docker Compose.
    • Java
    • Spring Boot
    • Spring Security
    • React
    • TypeScript
    • MySQL
  • A full-stack app to organize and monitor a job search - Google auth, application tracking, resume management, and interview records.

    • Built a full-stack tracker with a Next.js 14 + TypeScript front end and a Nest.js REST API backed by MongoDB.
    • Integrated Google OAuth 2.0 via NextAuth.js with environment-specific redirect handling.
    • Designed an 8-stage application workflow with per-application resume versioning and interview Q&A records.
    • Implemented dashboard statistics aggregation and configurable, persisted table columns with paginated views.
    • Next.js
    • React
    • TypeScript
    • Nest.js
    • MongoDB
  • An inventory management system for tracking stock levels, managing suppliers, and generating purchase orders.

    • Built an inventory system on Node.js/Express and MongoDB with real-time stock tracking across multiple warehouses via Socket.io.
    • Implemented role-based access control with JWT authentication and comprehensive audit logging.
    • Developed interactive analytics dashboards (revenue, profit, inventory turnover) with Recharts, plus PDF/Excel export.
    • Hardened the API with Helmet, rate limiting, and Redis caching, and automated CI with GitHub Actions.
    • JavaScript
    • React
    • Express.js
    • MongoDB
    • Socket.io
    • Redis