Selected engagements
Work
Contract engagements first, then the ongoing roles and research work behind them. Every entry below is work I did myself; where a client cannot be named, the engagement is described without them.
An iPad app measuring shoulder range of motion from camera pose data, for a clinical research pilot.
The repository arrived stalled: the working code sat on a branch six weeks ahead of main, behind four pose engines that did not run and 66 MB of licence-encumbered binaries. I established a contractual baseline, tore the dead stack out, and rebuilt guided capture for flexion, abduction and hand-to-head across both sides. Reporting on screen and as PDF, research data export, and a written operator guide. I moved the design local-first, so participant data never leaves the lab iPad — a stronger privacy position than the hosted approach originally scoped, and one less thing for the ethics board to weigh.
React Native · Swift · Apple Vision · Computer vision · Privacy by design
Read the case study
An agent-driven operational layer for a staffing agency, replacing a stack of disconnected tools.
Rather than wiring together another set of subscriptions, the system runs as an agent with its own memory and task queue: it researches, enriches, drafts, sequences follow-ups, and keeps a durable record of every action across sessions. The client owns the whole stack outright — no per-seat fees, no credit tiers, no vendor holding the workflow hostage.
Agentic AI · LLM orchestration · Workflow automation · Python
Read the case study
On-device machine learning and cross-platform application work for rings that monitor patients in long-term care.
Continuous monitoring on a ring means the power budget decides the architecture — inference happens on the device because streaming everything to the cloud is not an option. I engineer the power-efficient models for that on-device analytics, and build front and back end in React Native so one codebase serves every platform.
On-device ML · IoT · React Native · Real-time systems
Read the case study
The whole software estate for a national adaptive sport organisation — registration platform, payments, and the bilingual public site.
A registration and payments platform built from the ground up, and more recently the public website as well. Accessibility is the defining constraint rather than an audit at the end: the organisation's participants are blind or partially sighted, and an interface retrofitted for screen readers is a different, worse interface from one designed for them.
React · TypeScript · Supabase · PostgreSQL · Stripe · Astro · WCAG · i18n
Read the case study
A self-updating research database and a pipeline summarising thousands of papers into per-country clinical briefings.
Built in Emerging Markets Medical Affairs. The database integrated with EndNote to collect and sort studies by country and disease; a Python pipeline then summarised empirical results into slide decks used to identify countries with comparable epidemiological profiles.
Python · NLP · Data pipelines · EndNote · Clinical research
Read the case study
Proprietary image analysis software and analysis pipelines for plant pathology research.
Written to support work on the epigenetic regulation of plant defence response. The tooling was used in published research on GATA transcription factors in Molecular Plant-Microbe Interactions (2025), handling gene expression analysis, statistical modelling, and figure preparation.
Python · R · Image analysis · Bioinformatics · Statistics
Read the case study
Something similar in mind?
Half of these started as an inherited codebase that needed an honest assessment before anything new could be built on it. If that is where you are, it is familiar ground.