Past Experience
Not a list of job titles. These are the experiences that actually shaped how I work — expand any of them to see what the problem was, what I built, and what it taught me.
How one thing led to the next
Where it started: writing code, then wanting to actually ship it.
Cuey, Rackem — architecture, reliability and trade-offs, not just algorithms.
Studying Artificial Intelligence at King’s College London, with machine learning as the through-line.
Working with a principal investigator at UC Berkeley: decoding movement intention from EEG.
King’s Quant Society: a team, and a platform other people depend on.
Working on Renovate as well as intelligent systems that have to reason about the real world.
The experiences that mattered most
UC Berkeley — Brain–Computer Interface Research
Machine-learning and signal-processing work on the EEG classification pipeline.
Decode a person’s intended movement — imagined left- vs right-hand motion — from EEG, so the signal could eventually act as an input to an assistive physical system / exoskeleton.
The EEG side of the pipeline: preprocessing and frequency filtering, motor-imagery analysis, Common Spatial Patterns for feature extraction, and SVM classifiers — compared against LDA and logistic regression — plus model evaluation, hyperparameter optimisation and temporal-window optimisation.
EEG preprocessing, band-pass filtering, CSP, SVM / LDA / logistic regression, cross-validation, grid search.
Baseline ~65.9% → ~81.3% cross-validation (5-fold, 81.3% ± 7.7%) → 88.9% on held-out evaluation. Grid search across 48 model / configuration combinations; CSP reduced 25 EEG channels to 8 components; the chosen window was a 2.5-second interval roughly 1.5–4.0 s after the movement cue.
Real biological signals are noisy and variable. The problem stopped being “classify EEG” and became “reliably infer intention from an uncertain signal” — a different, harder thing.
King’s Quant Society — Engineering / Quant Platform
Led development of a production portfolio-analysis platform and a five-person engineering team.
Build something other members could rely on for portfolio and risk analysis, and keep it maintainable while several people worked on it at once.
Software architecture and quantitative / risk functionality, plus the engineering practice around it — code reviews, Git workflows, standards and automation.
Quantitative / risk analysis, production web software, Git-based workflows, automation.
Grew past 8,800 lines of code across several development phases, with a team of five contributing.
Maintaining a system people depend on is its own discipline — most of the work is coordination and keeping the codebase legible for the next person.
Workstory.io — Software Maintenance / DevOps
Worked on an existing production mobile application.
Fix and harden authentication and networking behaviour in an Ionic + Angular app running through Capacitor with Auth0.
Changes to the authentication flow, route guards and request interceptors; debugging mobile / emulator behaviour and networking issues.
Ionic, Angular, Capacitor, Auth0, HTTP interceptors, route guards.
Auth and networking issues resolved inside a codebase I hadn’t designed.
Debugging inside someone else’s production code is a different skill — you spend more time reconstructing intent than writing anything new.
Renovate — Technical Founder / CTO
Technical founder — product engineering, architecture, iOS and backend development, and engineering leadership (managing and hiring developer interns).
Taking Renovate from an idea toward a real software product: product decisions, backend, APIs, infrastructure and the iOS app.
This one has its own page rather than a card. Explore the Renovate story