Skip to main content

Projects

Things I've actually built and shipped. The case studies show the decisions behind them, not just screenshots.

View my GitHub
Agent Office logo

Agent Office

Pixel-art virtual office that visualises your AI agents working in real time. Watch Claude Code agents spawn, sit at desks, take coffee breaks, and chat in a Slack-style panel — isometric, animated, and popular on social media.

TypeScriptReactViteElectronWebSocketsRemotionPixel Art
Jarvis logo

Jarvis

Personal AI assistant CLI built around Claude. A bridge architecture lets it talk to your apps, run plugins, and keep conversational state across sessions. Docs are hosted at /arc so you can read it without cloning anything.

Node.jsTypeScriptClaude APICLIPlugin ArchitectureHomebrewDocker
Deep Q-Learning Snake Agent logo

Deep Q-Learning Snake Agent

Reinforcement learning agent that learns to play Snake with a deep neural network. I ran a stack of experiments to see how network size, memory buffer, and environment changes actually affected learning.

PythonPyTorchDeep Q-LearningNeural NetworksReinforcement Learning
Twitter Sentiment Classification logo

Twitter Sentiment Classification

Entity-level sentiment classifier across six architectures, from a plain MLP up to fine-tuned transformers. Twelve runs, head-to-head: a tuned MLP topped the leaderboard at 98.6%, beating RoBERTa at a fraction of the training cost.

PythonPyTorchHugging FaceTransformersNLPscikit-learn
Heart Disease Classification logo

Heart Disease Classification

Binary classifier predicting heart disease risk. I compared Random Forest, SVM, and Neural Networks across nine configurations. Random Forest came out on top at 85%.

Pythonscikit-learnTensorFlowKeraspandasData Science
NCM Classification Practical logo

NCM Classification Practical

Interactive Jupyter notebook walkthrough of Nearest Class Mean classification. Live code execution, visualisations, and extensions covering LDA, QDA, and Mahalanobis distance.

PythonNumPyMatplotlibMachine LearningClassification
The Credit Algorithm logo

The Credit Algorithm

Interactive fiction game about AI ethics in financial services. Branching choices, an ethical scoring system that tracks where you sit, and shareable outcome cards.

JavaScriptInteractive FictionAI Ethics
Keep It What logo

Keep It What

Full-stack e-commerce platform for personalised gifts. Real-time product customiser, Stripe checkout, and an admin dashboard for orders and inventory.

Next.js 15React 19TypeScriptSupabaseStripe
Critical Minerals Tomorrow logo

Critical Minerals Tomorrow

Corporate site for an international strategic advisory firm. Built with Next.js, tuned for SEO with schema markup, and quick to load.

Next.js 15React 19TypeScriptTailwind CSSSEO
Doom Scroll Detection logo

Doom Scroll Detection

Webcam tool that watches your posture and phone usage to catch the doom scroll. Uses MediaPipe for face and hand tracking, YOLOv8 for phone detection.

PythonOpenCVMediaPipeYOLOv8Computer Vision
Tempus Prive logo

Tempus Prive

Responsive luxury watch e-commerce prototype. Vanilla JavaScript throughout, with DOM manipulation, a working shopping cart, and a mobile-first layout.

JavaScriptCSSE-commerceResponsive Design