Freezer Audit Web App
TLDR; A web app to track and manage food in multiple household freezers - viewable here and source code here.
As a household, anticipating the birth of a second child, about a year ago we bought a chest freezer to live in the cellar in addition to our small kitchen freezer. We were also fed up of not knowing what was in the freezer(s). So I made a web app to be able to keep track of the different things we had frozen, without having to physically check through drawers and locations each time.
A priority was having the app be extremely quick and easy to use, so that we would maintain the motivation to use it over time - to minimise the overhead in adding an item or deleting the item from the app when some food is added or used. Also to be able to quickly view food by category or location.
Another requirement would be that we could both ‘install’ the app to the homescreen and manage the same items. So a database, users and backend logic was needed.
Build/techinical notes
I used Remix, their starter template of ‘Indie Stack’ which has instructions for hosting and deploying the app on Fly.io with CI pipeline deploys via GitHub Actions.
SQLite for the db. Prisma for the schema setting and migrations. Tailwind for styling.
I really enjoyed using Remix and typescript. It made routing very easy and allowed multiple nested components depending on route, allowing e.g. an edit form to appear overlaying the existing page content.
It also seems to leverage native web platform idioms, like native forms, and aim for progressive enhancement.
The auth is quite basic, and currently accounts can only be created for a whitelisted group of emails.
Conclusion
I built the app about 10 months ago and we are still using it, and I like the look and feel of it. So I count that as a win.
Back to blog