Things I built for fun, curiosity, or because no suitable thing existed.
A lightweight, local-first AI companion for Windows. Sits in your system tray, helps you remember things, set reminders, and have a chat — all without a single byte leaving your machine.
BACKEND
Ollama (local LLM)
UI
PySide6 (Qt)
STORAGE
SQLite (local)
PLATFORM
Windows 10/11
A crowdsourced map of public bin locations across UK cities. Users can find their nearest bin, add missing ones to the map, vote on whether a bin is still there, and earn karma for accurate contributions.
FRONTEND
React + Vite
MAPS
Leaflet + OpenStreetMap
BACKEND
Supabase (PostgreSQL)
TYPE
PWA (installable)
A private Discord bot for a CS2 friend group. Pulls live stats from FACEIT and surfaces them through slash commands — leaderboards, session recaps, teammate chemistry, achievements. Pull-based only; the bot never posts anything unsolicited.
LANGUAGE
TypeScript
DISCORD
discord.js v14
DATA
FACEIT API v4
STORAGE
SQLite + Prisma
/ic parent — ping, link, stats, recent, form, leaderboard, compare, maps, mapstats, records, session, chemistry, achievementsA self-hosted web dashboard for managing a personal VPS. Game server control, resource monitoring, an AI assistant, anomaly detection, and capacity forecasting — built because no off-the-shelf tool did exactly what I wanted.
FRAMEWORK
Next.js 16 (App Router)
DATABASE
SQLite + Drizzle ORM
DEPLOYMENT
Docker (self-hosted VPS)
AI
Gemini Flash (via OpenAI compat.)