Library
Everyone in my family reads, so the book count only ever goes up. We lend books to friends and relatives too. My sister was tracking all of it by hand in a spreadsheet. I built us a real app instead.
- Role
- Designer and engineer
- When
- 2025
- Links
- Live

My family reads. The collection grows, books get lent to friends and relatives, and someone has to know where they went. My sister, thirteen or fourteen at the time, had taken that on herself: a spreadsheet with every title, its author, and who currently had it.
It worked, until it didn't scale. So I built the thing the spreadsheet was pretending to be.
What it does
- A grid or list of every book, each card opening into its own detail view
- Books added one at a time, or in bulk by uploading a CSV
- Title, author, genres, and a flag for books that aren't allowed out of the house
- Lending: set a borrower, mark a book returned
- Search across titles, authors and borrower names
- Sorting by title, author, date added, borrower or borrow date, in either direction
- Filtering by author, genre, borrow status and whether borrowing is allowed
Where it runs
Django and React on Postgres, hosted on Railway, which idles the service after ten minutes of inactivity. For an app opened a few times a week by one family, that constraint is a feature rather than a limitation.
Built with
- Django
- React
- Vite
- Postgres
- Tailwind