Computer Science graduate (Kingston University, 2:1) with four years in fintech payments at Caxton Payments, where I trace failed transactions to their root cause and resolve client issues end to end. Outside work I build tools that turn messy business documents into something a team can act on.
London · looking for roles that combine technical problem-solving with client or commercial work · LinkedIn
| Project | What it does | Built with |
|---|---|---|
| Distil · code | Paste customer reviews or support tickets and get a one-page report of ranked themes, each backed by real customer quotes | React, Express, Gemini API |
| Redline · code | Drop in a job contract PDF and get a plain-English report and ranked negotiating points, every flag quoting its clause word for word | React, Express, Gemini API |
| Portfolio Risk Dashboard · code | Pick stocks and watch returns, correlation, Sharpe ratio and 95% VaR update live (on simulated prices) | Python, Dash, pandas |
| Dormant-account notifier | Final year project, graded 2:1: warns prepaid card customers at six months of inactivity, before dormancy fees start at twelve | Python, SQL, Power Apps |
- Spec first. Each app starts with a
CONTRACT.mdthat pins down the inputs and outputs before any code exists. - The commit history is the diary. One change per commit, so every decision can be followed.
- Checked, not trusted. Model output is held to a fixed JSON schema, and
Redline's
npm run checkfails if any quote in its example report doesn't trace back to a real clause. - Honest about AI. I build with Claude Code as a pair programmer. I set the scope and make the calls, and I can walk through every file.
Python · SQL · JavaScript / React · Node / Express · Excel · Tableau