Projects

Things I've built. My projects, experiments, and more.

11 projects
~/j-broker
Featured

j-broker

In ProgressSolo

Distributed message broker built from scratch — no Kafka, no Curator — implementing Raft consensus for fault-tolerant metadata replication across a 3-node cluster

Raft from scratch — pre-vote, conflict-index backoff, snapshots
Java 21 virtual threads, zero JFR thread-pinning at 2,000 concurrent ops
Deterministic chaos simulator — 10k seeded scenarios per run
JavaSpring BootgRPCProtobufGradleDocker
Private repository
Scrooge Bank CRM
Featured

Scrooge Bank CRM

Team

Enterprise-grade microservice CRM application for banking operations with independent service deployment and orchestration. Built for UBS.

10 Independent Microservices
K8s + Helm Orchestration
Fully Cloud Native
Spring BootNext.jsJavaTypescriptRedisPostgreSQL
Brawl Code
Featured

Brawl Code

Team

Full-stack microservice tournament management system with service discovery and distributed architecture

8 Independent Microservices
Fully Cloud Native
AI-based Predictive Matchmaking
Spring BootNext.jsJavaTypescriptPostgreSQLNetflix Eureka
query-not

query-not

In ProgressSolo

PostgreSQL query optimiser that doesn't just show a slow plan — it re-plans the query against a hypothetical index to prove the fix works before you build anything

Hypothetical indexes via HypoPG — every suggestion re-planned and diffed
Rewrites parsed with libpg_query, not regex; unsafe ones say so
CI gate fails the build when an index stops being used
TypeScriptPostgreSQLHypoPGlibpg_querypg_stat_statementsNext.js
It Dropped

It Dropped

LiveSolo
1

Tracks Stüssy across six storefronts in five currencies and ranks a garment by what it actually costs to your door — after shipping and duty, not sticker price

Cross-region identity — one style_code resolves a garment across five currencies
Landed cost from each store's published rates, not the price tag
Daily Go scraper diffs against a stored hash; only changed rows are read in full
Next.jsReactTypeScriptGoSupabasePostgreSQL
Personal Portfolio

Personal Portfolio

LiveSolo

Modern, minimalist portfolio website showcasing projects, experience, and skills with clean design and smooth interactions

Responsive Design
RAG
Minimalist UI/UX
Next.jsTypeScriptTailwind CSSRetrieval Augmented Generation (RAG)3rd Party APIs
MinuteAI

MinuteAI

LiveSolo

AI-powered meeting assistant for automated transcription and summarisation using Whisper and GPT

Audio Transcription
Distributed Workloads with Celery
RAG-based Q&A
Next.jsFastAPIPythonTypescriptGemini APIWhisper AI
~/growth-assistant

Personal Growth Assistant

Solo
1

AI-powered Telegram chatbot for mental wellness and self-improvement tracking with GPT-4 integration, mood analytics, and daily reflection prompts

AI-Powered Conversations
Mood Trend Analysis
Goal Setting & Tracking
PythonOpenAI APITelegram Bot APIMongoDBRender
~/elevator-system

Elevator System

Solo

Concurrent elevator control system exploring object-oriented design patterns and parallel programming with multi-threaded state management

Thread Synchronisation
State Management
Concurrent Programming
JavaMultithreadingConcurrency
Deadlock Detector

Deadlock Detector

Team

Educational Android mobile game teaching operating system concepts through interactive gameplay and visual deadlock scenarios

Custom Thread Pool Architecture
Interactive Deadlock Scenarios
Educational Gameplay
KotlinAndroid SDKSQLiteCoroutinesCustom ThreadingMultithreading
~/smusql

smuSQL

Team
3

In-memory database with specialised data structures optimised for specific query patterns, featuring custom implementations of TreeMap, LFU cache, and chunked storage

3 Custom Data Structures
Query Pattern Optimisation
Performance Visualisation
JavaPythonPandasMatplotlib