Work
Three systems, and what they cost to build.
Each case study covers the constraint the system was built around, the architecture, the decisions I'd defend, and what isn't finished. I'd rather you find the limitations here than in an interview.
LLM job-application platform with a human approval gate
A guarded state machine around an LLM. Adzuna ingest, Claude scoring, generated ATS-safe PDFs, and a hard stop for human approval before anything irreversible happens.
- Next.js
- TypeScript
- Supabase
- Claude API
- Playwright
- Railway
Daily ELT from news text to a tracked signal
Containerized Airflow into BigQuery with idempotent merges, Gemini sentiment scoring, a Random Forest signal, and a dashboard that grades the model's own predictions.
- Python
- Airflow
- BigQuery
- Gemini
- Docker
- Looker Studio
Two-sided load matching for truckers and shippers
Designed from a summer inside freight dispatch. One authoritative load record instead of two copies to reconcile, and a pickup event neither side can claim alone — the problem I used to fix by hand. Deployed, with a demo you can open without registering.
- React
- Express
- PostgreSQL
- Prisma
- JWT
- Docker
- Vercel
Also built
Smaller things, listed plainly.
Coursework and earlier builds. Not case studies — I'd rather show you three things properly than six things thinly.
McMaster capstone — matching athletes to pickup teams
React and Firebase, delivered as a team under Scrum with full design and validation documentation. My first experience of a spec surviving contact with four other people.
- React
- Firebase
- Scrum
Polite, resumable product data collection
Exponential backoff, rate limiting and indexed local storage. Where I first learned that the retry policy matters more than the parser.
- Python
- BeautifulSoup
- SQLite
- Docker
Production automation for a live e-commerce operation
Automated a daily manual re-entry task between Amazon repricing and Zoho One, worth $6K+ a year, and containerized the team's Python services.
- Python
- Docker
- Zoho One
- REST APIs