Back

All Projects

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

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)

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