Projects, experiments and ideas in progress.
Things I've built, tools I maintain, and hardware I tinker with.

Favourite projects

Production systems and tools that solve real problems. These are the ones I'm most proud of.

Mist Agents

Featured

A CLI tool that chains AI agents together to process documents. Feed it a PDF and it extracts key data, summarises sections, and outputs structured JSON. Supports cloud models like Claude and local models like Qwen via Ollama.

LangChainClaudeOllamaTypeScript

Invoice Snap

Featured

A small web app that reads photos of receipts and invoices, extracts line items with AI, and exports them as CSV for accounting software. Supports Claude vision API and local vision models like Qwen via Ollama.

Next.jsClaudeOllamaTailwind

Standup Bot

Featured

A Slack bot that collects async standups from team members, summarises blockers with AI, and posts a daily digest to a channel. Runs on a single Lambda function with zero maintenance.

AWS LambdaSlack APIClaudeNode.js

Boilerplates

Starter kits I've put together to skip the setup and get straight to building.

TanStack Start Kit

An opinionated starter for TanStack Start with shadcn/ui, Tailwind CSS 4, markdown blog, SEO, and Resend contact form. The foundation this site is built on.

TanStack StartReactshadcnTailwind

Laravel API Scaffold

A Laravel 13 API starter with token auth, role-based permissions, request validation, API versioning, and Docker Compose for local development. Ready to deploy on AWS.

LaravelPHPDockerAWS

Expo RN Starter

A React Native starter using Expo Router, NativeWind, and a shared component library. Includes auth flow, push notifications, and CI/CD for App Store and Play Store.

React NativeExpoNativeWindTypeScript

IoT

Weekend projects involving microcontrollers, sensors, and things that blink.

Greenhouse Monitor

An ESP32-based sensor network that tracks temperature, humidity, and soil moisture across a greenhouse. Data is sent via MQTT to a Raspberry Pi running a Node.js dashboard.

ESP32MQTTNode.jsRaspberry Pi

Home Energy Tracker

A real-time energy monitoring system using CT clamps and an ESP32. Streams power consumption data to InfluxDB and visualises it in Grafana with daily cost estimates.

ESP32InfluxDBGrafanaPython

Pet Feeder v2

An automated pet feeder controlled by a Raspberry Pi with a stepper motor. Schedule feeds via a simple web app, get push notifications when food is dispensed, and monitor the hopper level with an ultrasonic sensor.

Raspberry PiPythonReactGPIO