Projects
Things I've actually built and shipped. The case studies show the decisions behind them, not just screenshots.
View my GitHubAgent 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.
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.
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.
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.
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%.
NCM Classification Practical
Interactive Jupyter notebook walkthrough of Nearest Class Mean classification. Live code execution, visualisations, and extensions covering LDA, QDA, and Mahalanobis distance.
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.
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.
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.
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.
Tempus Prive
Responsive luxury watch e-commerce prototype. Vanilla JavaScript throughout, with DOM manipulation, a working shopping cart, and a mobile-first layout.