From idea toproduction, fast.
Final-year Computer Science student at Dundee, shipping software with real stakes — inside work, that's monitoring tooling live on a JPMorgan credit desk. Outside it, that's founding, building, and deploying products on my own.
I find the blind spot first.
A JPMorgan credit markets desk was processing submissions with no way to tell when one failed. Failures weren't being fixed slowly — they weren't being seen at all. Before writing a line of code, the job was proving that gap existed and what it was costing.
Then I build the pipeline, not the demo.
A listener service structuring raw submissions into queryable tables, paired with an API-backed dashboard. Not a proof of concept handed over at the end of summer — something the desk still opens every morning.
The same instinct travels.
At Sony Electronics, a sales-facing warranty platform was crawling. Profiling the SQL and refactoring premature LINQ materialization cut page loads by 75%, and a RabbitMQ import pipeline replaced a manual vendor process entirely.
And I keep shipping outside the job.
Sendix AI raised £22,500 across three venture awards. SurveyBuilder.Blazor exists because the C# ecosystem had no free native option, and now sits at 2.6K downloads. Adoption is the only metric that means anything.
Projects
Sendix AI
A statutory SEND compliance platform for UK schools and local authorities. EHCP plans are written in vague language that fails at tribunal — Sendix turns that into specific, quantified, evidence-linked provision before a bundle is ever submitted.
SurveyBuilder.Blazor
C# had no free native survey builder — the alternatives were paid, or forced you through miserable JS interop. So I built a drag-and-drop one with JSON serialisation, published it to NuGet, and other developers started using it.
Log Aggregation & Diagnostics Platform
Industrial team project for NCR Atleos. A full-stack observability platform ingesting operational log data from distributed banking infrastructure — detecting anomalies across seven sources, correlating events between channels, and surfacing diagnostic recommendations. Next.js, Flask, PostgreSQL, Docker.
ClearPie
Drop in a Trading 212 export and see your real underlying stock exposure. Nothing touches a server — the PDF is parsed entirely in-browser and never stored anywhere, not in a database, not in browser storage.
clear-pie.vercel.app ↗termstow
Peer-to-peer student storage for the UK. Students leaving their uni town for the holidays leave boxes with verified students living near campus, a few minutes away instead of a warehouse across the city.
termstow.vercel.app ↗UoD Calendar
Turns a University of Dundee timetable into a calendar file for Apple, Google, or Outlook in three clicks. No login. Student IDs are used for a single fetch and never stored; generated links expire after ten minutes.
uod-calendar.vercel.app ↗Experience
Software Engineering Intern
- Eliminated a blind spot in submission monitoring for a credit markets desk supporting $250M+ in annual revenue by building the team's first analytics tool.
- Built an end-to-end monitoring pipeline: a listener service structuring raw submissions into queryable tables, paired with an API-backed dashboard now used by the desk daily.
- Processed 1,500 daily submissions, surfacing an average of 10 previously undetected failures per day.
Youngest intern in the cohort.
Software Engineering Intern
- Contributed to eWarranty, a nationwide product registration and warranty platform used by sales teams and vendors.
- Diagnosed a performance bottleneck by profiling SQL queries and refactoring premature LINQ materialization — 75% faster page loads.
- Built a RabbitMQ-based CSV import pipeline enabling vendors to submit inventory data directly, automating a previously manual process.
Youngest person in the firm.
Education
Data Science and AI
Specialising in Data Science and AI, on a strong foundation in object-oriented programming, data structures, and algorithms. Currently extending into cloud infrastructure and applied AI tooling.