Building narrow, tool-shaped workflows for UK school administrators. Architecture features a typed RPC layer, in-browser Postgres for development, and an AI skills registry to keep new workflows cheap to add.
- Custom useBackend() Proxy — end-to-end type safety with zero codegen.
- Two-tier Drizzle schema: Neon in prod, PGlite in dev & in-browser.
- OpenRouter + Vercel AI SDK with named model presets.
Next.js 16React 19DrizzleClerkThree.js
Productivity suite connecting yearly goals to daily tasks. Includes a unified calendar, goal hierarchy, Eisenhower matrix prioritisation, and AI chat with full event context.
- Layered: components → services → repositories → Firebase.
- 4 calendar views, recurrence engine, .ics parse + subscribe.
- Per-user Firestore security rules, audited.
Next.jsFirebaseOpenAIZod
Open-source typing speed test in the editorial-mechanical idiom. Per-user adaptive engine, 4-player real-time races, and a 47-field customisation surface — sitting in the same product space as MonkeyType with a different aesthetic and architectural bias.
- Server-owned bigram, trigram, word, and motor-feature models with Welford incremental updates — feed both the adaptive engine and the sudden-death drills.
- Hierarchical Zod-validated backend behind a recursive Proxy client — renaming a server route breaks the client at compile time, no codegen.
- 4-player races via in-memory room engine + SSE broadcasts; hand-tuned bot profiles fill empty seats.
Next.js 16React 19DrizzleNeonClerkVitest
Tutor & Full-stack Dev
Best TutorsPart-time
2023 — Now
Teaching A-Level Economics and Business part-time while building internal tools for the practice.
- Automated past-paper generator: 10× faster than manual authoring, with subject and grade targeting.
- Student management system: grades, marks, session logs, and progress tracking across subjects.
TutoringInternal toolsReact
Peer Assistant
University of Kent2 yrs
2023 — 2025
Supporting the Computer Science cohort through weekly drop-in sessions, problem sets, and one-to-one pair programming.
- Tutored 50+ students one-to-one across two academic years.
- Retained a consistent group of students who returned to weekly sessions throughout the term.
TeachingMentoring
One-month contract on an academic benchmarking platform used by performance researchers. Added project-page UI features used daily by contributors.
- Dual-sidebar branch filter with search and sort by most-used, most-recent, or alphabetical.
- Collapsible 'Changes in Benchmark Set' tables with show-more and show-less toggles.
Open sourceUIPerformance
Minecraft Plugin Developer
2016 — 2021
100+ custom Java plugins shipped to approximately 100 server owners, starting at thirteen. Early commercial experience with client work, deadlines, and scope management.
- Custom Spigot and Bukkit systems covering combat, economy, and minigames across hundreds of live deployments.
- Self-taught Java, MySQL, Maven, and modular architecture while still in school.
JavaSpigotMySQLMaven