Back to Home

Projects

A collection of projects I’ve built and shipped.

All Projects

Embeddable Semantic Search Platform
FeaturedSoftware

A drop-in widget that adds semantic search and AI summaries to any website - it crawls a site, indexes the content as vector embeddings, and serves meaning-based search through a single embeddable script.

TurborepoTypeScriptPostgreSQLRedisWeaviateFastifyPlaywrightBullMQ

An AI board game project modeling game states, applying search algorithms, and developing competitive agents using game algorithms.

PythonAI AgentsPygameMatplotlibSearch AlgorithmsGame TheoryMinimax

A full-stack parking management system, software-engineered for booking and managing spaces, featuring real-time messaging, map-based routing, Stripe payments, and an admin dashboard; built over several months by a 5-person team.

ReactNode.jsMongoDBSocket.ioSentryStripeVitestJavaScript+1

A full-stack event discovery platform with personalised recommendations, onboarding flow, map-based search, community chat, and email alerts for UK events.

Next.jsTypeScriptPostgreSQLKnex.jsBetter AuthResendLeafletHusky

A premium wiki module with 350+ purchases, featuring fine-grained access and edit permissions, audit logs, full-text search, page view counts, and more.

HTML/CSSJavaScriptMySQLPHPSmartyBootstrapjQuery
Coffee Bot
Discord Bots

An open-source, verified Discord bot in 700+ servers, providing moderation tools including reporting and detailed audit logs.

PythonPostgreSQLasynciodiscord.pypygit2asyncpg

A secure, lightweight API proxy layer for Gamely, built with Node.js. Optimised with Redis-based caching for fast response times and per-IP rate limiting, forwarding requests to the upstream API while safeguarding your API keys.

Node.jsTypeScriptExpressRedisAPIProxyGamely
CrypTalk
Programs

A modular, clean Java program that implements networking techniques to fix poor voice channel quality, with custom encryption, integrity security and Diffie-Hellman key sharing.

JavaEncryptionAuthenticationDiffie-HellmanInterleavingPackets

Personal portfolio built with Next.js 16, featuring animations, themes, curated projects and blog posts, a Resend-powered contact form, an AI chat agent, and a feedback popover, all protected by Redis rate limiting.

Next.jsTypeScriptRedisResendMotionTailwind CSSShadcn UI
Skillshare SA
Software

A full-stack job-sharing platform for a South African community - listings, application tracking, and email notifications - built in a 2-3 week sprint by a six-person team.

ReactNode.jsTypeScriptPrismaPostgreSQLVitesti18nEmails+1

A full-stack chat agent built with React and Node.js/Express that answers questions using a Markdown-based knowledge source, with responses generated by an external LLM.

TypeScriptReactNode.jsExpressAI AgentsOpenAI APIHuskyBun+1

A modern, authenticated issue tracker built with Next.js, featuring a secure API, Markdown editing, and a clean UI with filtering, sorting, and graphs.

Next.jsTypeScriptPrismaMySQLNextAuthMD EditorReact QueryHusky

A modern, responsive, React-powered game discovery platform featuring search, filters, and infinite scroll, using the RAWG API via a custom Node.js proxy.

ReactTypeScriptZustandReact QueryReact RouterChakra UI

A pure HTML/CSS website, with a requirement of simplicity, implementing a search engine, and teaching VSCode and GitHub to maintainers.

HTMLCSSVanilla JavaScriptGoogle Programmable SearchStatic SiteCI/CDKnowledge Transfer
Archive

Past Projects

A selection of other projects I’ve built that don’t have their own dedicated page.