Skip to main content

Case studies

Every project, with the reasoning attached.

Two products running in production, and five engineering studies. Each case study documents the problem, the architecture, the decisions that were genuinely difficult, and what the outcome actually was.

Products in production

app.spend-sync.com
SpendSync landing page on desktop, headline reading 'Split bills effortlessly with friends' with Get Started and Learn more actions.
app.spend-sync.com — public landing page
Live · Subscription productRevenue-generating

SpendSync

Monetized SaaS · Shared Expense Management

A subscription SaaS for shared households: recurring bills, split expenses, invitations and settlement, running in production on AWS.

  • Two parallel billing systems: recurring service bills and one-off split transactions
  • Invitation and response flow — a participant is added to a bill only after accepting
  • Monthly cycle payments, partial settlement and reopening of finalised bills
  • Stripe Checkout for subscription purchase plus a Stripe billing portal for self-service management

Stages

  • Idea
  • Build
  • Deploy
  • Operate
  • Monetise
  • React
  • Redux Toolkit
  • Express
  • MySQL
  • Socket.IO
  • Amazon Cognito
  • +2
app.therollecito.com
The Rollecito storefront on desktop, headline reading 'Freshly Baked Happiness in Every Roll' with Order Now and View Menu actions.
app.therollecito.com — customer storefront
Live · Commerce productRevenue-generating

The Rollecito

Revenue-Generating Commerce Product

A multi-location ordering platform for a working bakery: online catalogue, Stripe checkout, live order tracking and a real-time kitchen display.

  • Location-scoped catalogue: menus, availability and pricing resolve per branch
  • Configurable products with option groups and option values, not flat SKUs
  • Stripe payment intents with webhook confirmation and idempotent payment tracking
  • Guest checkout alongside Firebase-authenticated accounts

Stages

  • Architecture
  • Build
  • Deploy
  • Operate
  • Monetise
  • React
  • Node.js
  • Express
  • MySQL
  • Stripe
  • Socket.IO
  • +3

Engineering work

  • Academic · Deployed on AWS

    Medical Condition Classification Platform

    Machine Learning · Health Technology · Cloud Deployment

    A Random Forest classifier over institutional healthcare data, served through a Flask API on AWS, evaluated honestly as a top-N ranking problem rather than a single-answer one.

    Key decision

    Evaluate as a top-N ranking task rather than single-label classification

    • Architecture
    • Build
    • Deploy
    • Python
    • scikit-learn
    • Flask
    • MySQL
    • AWS EC2
    • +2

    Read the case study

  • Academic · Working prototype

    Real-Time Hand-Sign Recognition Backend

    Computer Vision · Real-Time Inference · Backend Engineering

    A modular computer-vision backend that detects a hand through a webcam and classifies numerical signs from 1 to 10, stabilising per-frame predictions with a mode window.

    Key decision

    Stabilise output with a mode-based smoothing window

    • Build
    • Operate
    • Python 3.11
    • OpenCV
    • MediaPipe
    • scikit-learn
    • Flask
    • +1

    Read the case study

  • Academic · Reference implementation

    Secure Authentication System

    Full Stack · Security · Identity

    A full-stack JWT authentication system with short-lived access tokens, refresh tokens in HttpOnly cookies, and role-based route protection on both sides of the trust boundary.

    Key decision

    Keep the access token in memory and the refresh token in an HttpOnly cookie

    • Architecture
    • Build
    • TypeScript
    • Node.js
    • Express
    • React
    • Vite
    • +3

    Read the case study

  • Engineering study

    Rust and Dart FFI Database Initialisation Refactor

    Systems Engineering · Rust · Concurrency

    A database-initialisation refactor that stops a cancelled Dart FFI call from abandoning SQLite migrations mid-flight and leaving locks behind.

    Key decision

    Move migrations onto a blocking task instead of running them on the async executor

    • Architecture
    • Build
    • Rust
    • Tokio
    • SQLite
    • Dart FFI

    Read the case study

  • Architecture study · Not deployed commercially

    Resilient Edge Toll-System Architecture

    Edge Computing · Distributed Systems · Architecture

    An architecture for toll lanes that must decide in under 200 milliseconds and keep operating when the link to the cloud is gone.

    Key decision

    Make the lane authoritative and treat the cloud as a consumer

    • Idea
    • Architecture
    • .NET Core
    • SQLite
    • MQTT
    • OCR
    • RFID
    • +1

    Read the case study