Projects
Here are some of hobby the projects I've build in my spare time.
Please keep in mind, these are hobby projects worked on after hours, so code style, testing thoroughness, documentation, commit messages etc.. are not always to the same standards that I apply at my day job :)
-
Rates
Struggling to find a free currency exchange calculator that worked offline, and was not full of ads, I decided to build my own.
This allowed me to experiment with
- Offline Progressive Web APPs. Works offline by caching all assets in a service worker and exchange rates in localStorage.
- TRPC as a type-safe API layer between the BFF & UI.
- Mantine as a feature complete component library.
- Connect RPC as a type-safe layer for the exchange rates service.
Website: rates.eamon.sh
Source: Closed source for nowDecember 2023
-
Dinner
Frustrated which how slow and unresponsive my meal subscription web app is, I decided to build a alternate frontend and caching proxy layer.
This allowed me to experiment with
- Responsive image tags using imgproxy to resize images on demand
- View Transitions API for simple, maintainable and performant page transitions
- Vanilla Extract for type-safe styles
- Remix as a full stack react framework
- Kotlin, Armeria & SQLDelight as the initial data layer (I later rewrote this in node)
- Node, drizzle, SQLite & Graphql as v2 data layer
Website: dinner.eamon.sh
Source: Closed source for nowApril 2023
-
PMM - Node Package Manager Manager
Manage Node Package Managers (npm, yarn, pnpm) & be warned when you accidentally use the wrong one. Just like corepack, but with more features and works in corporate environments.
Source: githubMay 2022
-
BGDK - Baked Goods Development Kit
Think Create React App, but for apps built with vanilla extract
Source: githubOctober 2021
-
React JSX Mock
Mock components at the JSX level
Source: github & npmSeptember 2021
-
Masks For Your Face
Shopfront selling handmade reusable masks
Website: masksforyourface.com.au
Source: Closed source for nowJune 2020
-
Better Stats Webpack Plugin
Output build assets paths to a JSON file
Source: github & npmMay 2017
-
Art Gallery Openings
Website listing gallery openings in Melbourne, scraping events from google calendar
Website: Offline
Source: backend & frontendDecember 2014