- This Blog
- Personal website
- Built using Jekyll and hosted on Github pages
- Source code
- Eighty20 Split Game
- Simple “vibe-coded” estimation game
- Built using Next.js and hosted on Vercel
- Described in this blog post
- Source code
- Codenames
- Web app implementation of the popular board game
- Built using Next.js and hosted on Vercel
- Uses Superbase backend with Realtime broadcast and presence to enable multiplayer gameplay on separate devices
- Improved on previous implementation with dark mode, responsive portraint and landscape layout on mobile and better overall styling
- Source code
- PDF Statement Reader
- Python library and command line tool for parsing pdf bank statements
- Addressed some long outstanding issues on my most starred repository on github (>50)
- Converted virtual environment toolchain from pipenv and tox to uv
- Updated all underlying packages and resolved resulting issues
- Implemented test suite and prepared for GUI integration
- Source code
- PDF Table Extractor
- Frontend GUI to generate config file for PDF Statement Reader
- Built in React as a single page application, with initial scaffolding in Bolt.new and hosted on Netlify
- Opens and displays pdf bank statement (with password if required)
- Allows interactive selection of table area and columns
- Exports config file usable for batch processing
- Source code
- Eggcell Data Analysis
- Data analysis tool for accessing and pivoting survey and other data sets
- Built with React Frontend and Python FastAPI and Celery backend, hosted on AWS with deployment of docker containers to EC2
- Frontend focus on:
- routing with URL state using Tanstack Router
- layout and drag-and-drop interactivity
- theming (for easy client whitelabel) and styling with shadcn and tailwind
- Backend focus on:
- Well typed data structures and routes using FastAPI, Pydantic and Sqlmodel
- Distributed data processing using Celery with async API request pattern
- Support for multiple data sources including SQL, CSV and Parquet files
- Performant analytics queries using DuckDB
- Future planned functionality to include free text user questions, served by MCP queries on the underlying data sets
- Source code in private repo
- Eggbaskets Financial Planning
- Financial Planning app for goal based visualisation of savings targets and requirements. Allowing regular users to get a better idea of the time based value of their investments and the effects of volatility to manage risk appropriately
- Built in React with the Tanstack Start framework and hosted on Vercel
- Integrated multiple SaaS offerings including
- Convex backend
- Clerk for auth
- Sentry for application and error monitoring
- Posthog for user analytics
- Source code in private repo
- 40th Birthday Invite
- Invite to my 40th birthday party, including RSVP functionality with +1s and dietary preferences, and an admin mode for viewing RSVPs and emailing guests
- Vibe coded with Cursor as a React SPA deployed on Vercel with a Convex backend
- Source code