Selected projects
What I'm learning: data pipeline engineering, agent orchestration, retrieval and grounding, evaluation frameworks, scoring systems, human-in-the-loop workflows, and the practical realities of deploying AI systems in production.
Data pipeline · Scoring engine · Job discovery · Application tracking
A five-phase job intelligence platform that collects job descriptions from company career pages via public ATS APIs, extracts structured signals using Claude's Batch API, scores each opportunity against a personal fit model, and tracks applications through their full lifecycle. Built to answer the question every job search starts with: which opportunities are actually worth pursuing?
Demonstrates: corpus collection from Greenhouse and Lever APIs, schema-driven extraction with weak supervision and tiered data validation, fit and priority scoring with blocking constraints, scheduled discovery for passive corpus growth, and a full-stack job tracking and review UI.
Python
Anthropic Batch API
Mistral API
FastAPI
React
ChromaDB
SQLite
Docker
Multi-agent orchestration · Grounded generation · Human-in-the-loop
An AI-assisted CV tailoring platform that analyses job descriptions against a real corpus of my CV variants stored in a searchable vector database, then generates tailored CVs through a multi-stage orchestration pipeline. The system combines RAG-style retrieval, multiple LLM writers, iterative refinement, grounding verification, and integrity checks to improve relevance while surfacing unsupported claims for review.
Demonstrates: CV corpus management, vector retrieval over structured career evidence, multi-agent orchestration, source-grounded scoring, Goodhart-law mitigation, candidate value modelling, fabrication detection, human-in-the-loop review, and reasoning traces for auditability.
Python
FastAPI
React
Anthropic API
OpenAI API
Mistral API
ChromaDB
Docker
03
Personal Finance Agent
Anthropic API · Python · SQLite
A conversational agent that classifies a backlog of unrecognised bank transactions — with human approval — then answers forward-looking financial questions grounded in real transaction history. Ask it what happens to your budget if your mortgage rate doubles, and it will tell you.
Demonstrates: raw Anthropic API agent loops (no LangChain), multi-tool orchestration, hybrid session/persistent memory, and a two-phase classifier migration pattern that ships value without a rewrite.
Python
Anthropic API
SQLite
Docker
Prompt caching
Tool use
Mistral API · FastAPI + React · ChromaDB
A document-grounded Q&A system for drafting answers to new RFI (Request for Information) questions from a corpus of past responses. Profiles Excel RFIs automatically, ingests them into a vector store, and retrieves the most relevant past answers — refusing to fabricate when the corpus is silent.
Demonstrates: production-grade RAG patterns — schema-aware ingestion, hybrid retrieval (semantic + BM25), cross-encoder reranking, and a 36-configuration evaluation matrix with both retrieval metrics and LLM-as-judge scoring.
Python
FastAPI
React
Mistral API
ChromaDB
BM25
Docker
shadcn/ui
05
Knitwear Business Manager
Node.js · React · PostgreSQL
A cost-optimised business management system for a knitwear operation: product catalogue, yarn inventory, event planning, and production scheduling — all in one place. Built for a real business, self-hosted on a home server, and designed to be picked up and run by a non-technical operator.
Demonstrates: end-to-end full-stack delivery (Node/Prisma backend, React frontend, nginx reverse proxy), Docker-based self-hosting, and pragmatic product decisions for a real-world non-technical user.
Node.js
React
Prisma
PostgreSQL
Docker
nginx