Back

All Projects

A vertical timeline of shipped and evolving work. Each build pushes experimentation with AI, interaction, and edge performance.

Recensorium

Stealth

Something new is taking shape. The project I'm most excited about is in stealth for now, so the details are deliberately under wraps. Watch this space.

Coming soon

Tech Stack

Key Features

In stealth — coming soon

MotionGen (Dissertation)

My BSc dissertation, "Beyond Simple Prompts": a Unity editor plugin for controllable, interactive 3D human motion generation that runs entirely locally. A local Python backend (over gRPC) serves multiple text-to-motion models (T2M-GPT, MoMask, MDM) and writes results straight back into Unity as humanoid AnimationClip assets. In a within-subjects user study it outperformed Unity's own Muse Animate across all four headline workflows.

Completed
May 2026

Tech Stack

UnityC#PythongRPCGenerative AIText-to-MotionT2M-GPTMoMaskMDMLocal Inference3D Animation

Key Features

  • Fully local text-to-motion generation inside the Unity editor, with no cloud or external account
  • Serves T2M-GPT, MoMask and MDM through a local Python backend over gRPC
  • Single and batched generation, text-prompted segment regeneration, two-clip inbetweening and multi-segment composition
  • Local Gemma planner splits a complex prompt into a per-segment JSON plan (models, durations, transitions, scene anchors)
  • Variant ranker scores clips on foot skating, jerk, root drift and ground penetration
  • Writes results directly as humanoid AnimationClip assets; evaluated in four studies, leading Unity AI on all four headline workflows

HabitFlow

A full-stack habit tracking and goal management web app with social features. Users set numeric goals (e.g. 100,000 push-ups), track daily habits, view AI-powered insights, and compete with friends. Features real-time activity feeds, event planning with Google Maps integration, and a GitHub-style consistency heatmap.

Completed
February 2026

Tech Stack

ReactTypeScriptTailwindCSSFirebase AuthExpressPostgreSQLNeonGemini AIRechartsVercelRailway

Key Features

  • Numeric goal tracking with daily targets, deadlines, and below/on/above target badges
  • Daily habit tracker with week-by-week navigation and positive/negative habit support
  • AI-powered insights and personalised analytics using Google Gemini
  • GitHub-style 52x7 consistency heatmap and skill balance radar charts
  • Social features: friend requests, activity feeds, ping-to-workout notifications
  • Event planning with RSVP system, attendee badges, and Google Maps integration
  • Full activity history with edit and revert capabilities
  • Multi-stage onboarding flow with customisable goals and habits
  • Dark/light mode with persistent settings
  • Firebase Authentication with email/password and Google sign-in
  • Deployed with Vercel (frontend) and Railway (API) backed by Neon PostgreSQL

Neighbourly

A community-focused web app connecting neighbors who need help with volunteers willing to assist. Users post requests for help (groceries, errands, companionship) and volunteers view them on an interactive map and offer assistance via real-time chat. An evolution of our HackSheffield 9 hackathon project where we won 1st place in the GitHub competition.

Completed
January 2026

Tech Stack

SvelteKit 5TailwindCSSGoogle Maps APIPythonFlaskSQLAlchemyPostgreSQLNeonAuth0VercelFly.ioReal-time Chat

Key Features

  • Interactive map showing nearby help requests with Google Maps API integration
  • Real-time chat between requesters and helpers
  • Two-way map-address interaction: pin updates address field, typing address repositions pin
  • Secure authentication with Auth0 across separate frontend/backend domains
  • PostgreSQL-backed sessions for multi-instance server support
  • Mobile-responsive design
  • Cross-domain authentication handling with HTTPS behind reverse proxies
  • Evolution from HackSheffield 9 hackathon (1st place GitHub competition)

AlexNet Transfer-Learning Image Classifier

An image classification study built by fine-tuning AlexNet and selectively re-training specific convolutional layers, followed by a range of analyses comparing training strategies, layer behaviour, and classification performance.

Completed
March 2026

Tech Stack

PythonPyTorchCNNsTransfer LearningAlexNetComputer VisionAnalysis

Key Features

  • Fine-tuned AlexNet and probed individual convolutional layers
  • Compared full fine-tuning against selective layer re-training
  • Layer-wise and performance analysis of the learned features
  • Applied transfer learning to a new classification task

Modelling Natural Systems & Reinforcement Learning

A set of modelling and analysis studies of natural and dynamical systems, including the Duffing oscillator and a Predator-Prey agent-based model, alongside an exploration of tabular Q-learning.

Completed
February 2026

Tech Stack

PythonNumPyDynamical SystemsAgent-Based ModellingReinforcement LearningQ-LearningAnalysis

Key Features

  • Analysed the Duffing oscillator as a nonlinear dynamical system
  • Built and studied a Predator-Prey agent-based model
  • Implemented and evaluated tabular Q-learning
  • Focused on system behaviour, stability, and emergent dynamics

Client Website Delivery (Sheffield)

A real client website delivered end-to-end with a full requirements → prototype → feedback iteration loop, followed by deployment and domain transfer coordination with the client’s previous web provider.

Completed
October 2025

Tech Stack

Web DevelopmentUI/UXPrototypingClient RequirementsIterationDeploymentDomain TransferGitFigma

Key Features

  • Ran requirements gathering sessions and converted goals into a clear delivery plan and site structure
  • Built iterative prototypes, collected feedback, and made decisive changes to match client expectations
  • Focused on usability, clarity, and maintainability to support long-term client updates
  • Coordinated deployment and handover, ensuring a reliable release process and minimal disruption
  • Worked with the previous provider to transfer the domain and complete the migration cleanly
  • Delivered a polished, client-ready site with a smooth post-launch transition
LinkedInLive

Old Personal Portfolio

A Next.js based old personal portfolio website, utilising various technologies such as a CMS, Three.js and Shaders.

Completed
December 2024

Tech Stack

Next.jsReactTypescriptPrismic CMSThree.js3D GraphicsTailwind CSSPostCSSSlice MachineCloudflareShadersGSAP

Key Features

  • Prismic driven content slices
  • Custom GLSL shader accents
  • Optimised image delivery via Cloudflare
  • Reusable layout primitives
  • Accessible keyboard navigation
  • Theming & content versioning

Language Learning App

A Ruby on Rails language learning app made for a real client as a university project. Through requirements and regular meetings we developed an app that met the desired standards.

Completed
May 2025

Tech Stack

Ruby on RailsPostgreSQLActiveStorageHAMLBootstrapShakerPackerRakeGSAPWSLGitlabFigma

Key Features

  • Role‑based user & admin dashboards
  • Progress tracking & spaced repetition logic
  • Media asset handling via ActiveStorage
  • Real client requirement gathering process
  • Component animations powered by GSAP
  • Secure Postgres relational schema

MNIST From-Scratch Image Classifier

A complete machine learning pipeline built entirely from scratch in Python for handwritten digit classification, featuring custom SVM and KNN implementations with advanced preprocessing and 99.8% accuracy on noisy test data.

Completed
December 2024

Tech Stack

PythonNumPySciPyAIMachine LearningComputer VisionMathematics

Key Features

  • Custom multi-class SVM with One-vs-All strategy
  • Mini-batch gradient descent with hinge loss optimization
  • PCA dimensionality reduction retaining 95% variance
  • Advanced data augmentation (rotation, flip, noise)
  • Robust preprocessing with threshold masking and Gaussian blur
  • Complete type annotations and comprehensive documentation
  • Performance progression from 70% to 99.8% accuracy
  • Model persistence and evaluation pipeline
Source

3D Rasterizer Engine

A 3D engine pipeline built from scratch enrirely in python, usiliting rasterzing, loading models from .obj files and using custom vector and matrix types.

Completed
June 2023

Tech Stack

PythonPygame3D GraphicsRasterizationMathematicsObject representation

Key Features

  • Custom software rasterization pipeline with triangle filling and z-buffering
  • Support for loading and rendering 3D models from .obj files
  • Custom vector and matrix math library for transformations
  • Camera system with perspective projection and rotation controls
  • Wireframe and solid rendering modes for debugging and visualization
  • Scene management with multiple objects and real-time rendering loop
Source

EYH Swarm Pipe Robots (FISH)

A third-place Engineering You’re Hired (EYH) concept project: a decentralised swarm of pipe-crawling robots for inspection and leak detection, designed with failure-tolerant locomotion, robust operational protocols, and clear system-level animations.

Completed
March 2025

Tech Stack

Swarm RoboticsRoboticsAlgorithmsSystems DesignComputer VisionLiDARUltrasonic SensingCADCFDBlender3D AnimationTechnical DrawingsBusiness Planning

Key Features

  • Designed caterpillar-like pipe locomotion with grippers + motors and spring-extended safety behavior for power loss
  • Developed swarm rules for cohesion + full coverage exploration while minimizing redundancy and missed sections
  • Specified multi-sensor leak detection approach combining vision, LiDAR, and ultrasonic techniques
  • Defined robust operational protocols (rescue, corner navigation, disconnection handling, recovery procedures)
  • Produced system animations in Blender, learning the tool from scratch under hack-week time pressure
  • Delivered CAD concepts, CFD simulations, electrical/technical drawings, and an industry-facing business plan
LinkedIn

Interactive AI Portfolio

This live portfolio you're browsing: an AI-augmented, animation-rich Next.js site with streaming Groq chat, contextual system prompt generation, markdown rendering, and dynamic placeholder suggestion engine.

Completed
January 2026

Tech Stack

Next.jsReactTypeScriptTailwind CSSGSAPLLM StreamingGroqMarkdownNode.jsEdge PatternsAILLMAPI

Key Features

  • Real-time streaming AI chat with conversation memory & fallback model chain
  • RunId-based deterministic placeholder suggestion animator (no overlap)
  • Lightweight custom markdown renderer with links, code & lists
  • Dynamic system prompt built from structured JSON context & project injection
  • Responsive glass UI with particle & hero entrance animations (GSAP)
  • Model fallback chain (Mixtral → Gemma2 → Llama 8B) for resilience
  • Type-safe project metadata with extended feature lists
  • Optimized minimal message rendering and scroll management

Mobile Based Offline AI App

A mobile based app that runs distilled models on the phone to access AI without internet. It also has personalities, offline maps and survival guides.

In Progress
July 2025

Tech Stack

AILLMFlaskPythonLLama.cppSQLiteGGUFSwiftFigmaReactNext.js

Key Features

  • Fully offline inference (no cloud dependency)
  • Multiple AI personalities / system profiles
  • Local vector store & semantic recall
  • Offline maps & survival reference modules
  • Optimized quantized GGUF models (memory aware)
  • Energy adaptive runtime (battery aware)
Source

Texas Hold'em Poker in Haskell

A complete Texas Hold'em poker game implementation in pure Haskell featuring multiple AI strategies, comprehensive hand evaluation, and full game mechanics including betting rounds, blinds, and sophisticated tie-breaking systems.

Completed
December 2024

Tech Stack

HaskellFunctional ProgrammingGame DevelopmentAIRandom GenerationMonadic Programming

Key Features

  • Complete poker hand evaluation system (Royal Flush to High Card)
  • Four distinct AI strategies: Random, Passive, Aggressive, and Smart
  • Human player interaction with input validation
  • Full betting mechanics (fold, check, call, raise) with proper constraints
  • Comprehensive tie-breaking system for all hand types
  • Proper blind system implementation (small/big blinds)
  • Multi-round gameplay with chip tracking and dealer rotation
  • Advanced functional programming patterns and monadic IO
  • Deck shuffling and card dealing with proper randomization
  • Complete game state management and player elimination
  • Sophisticated winner determination with multiple tied players
  • Pure functional implementation with immutable data structures
Source