01/Next.js · Drizzle ORM/Personal Project/Paused

E-Library

A personal catalogue for your physical books — organised by room, added with a barcode scanner, shared with whoever you choose.

The Problem

Physical books don't organise themselves. They pile up across rooms, get lent out and forgotten, and become impossible to search through when you can't remember the exact title.

E-Library started as a personal itch to scratch — a way to catalogue everything on the shelves at home and actually be able to find it again. The room-based model mirrors how books are physically distributed, the barcode scanner makes adding new ones quick, and loan tracking means borrowed books don't disappear into the ether.

Type

Personal · Solo

Status

Paused
Live at Vercel

Commits

76

Deployment

Vercel

Core Concept

Your shelves, digitised room by room

The central organising idea is the room. Rather than a single flat list, every book belongs to a virtual room that corresponds to where it physically lives. You can create as many rooms as you need — named whatever makes sense for your home — and move books between them as your shelves change.

Rooms make browsing feel natural. Looking for that novel you left in the bedroom last winter means going to the Bedroom room, not running a search you might not remember the exact title for. The model keeps the digital catalogue anchored to the physical reality of where your books actually are.

Living Room

coffee table reads, display shelves

Bedroom

bedside stack, nightstand rotation

Office

reference books, technical manuals

Storage

archived series, boxed collections

Adding Books

Scan the barcode on the back cover — the rest fills itself in.

Point your phone camera at the ISBN barcode on any book and the scanner reads it, queries a book database, and pre-populates the title, author, genre, description, and cover image. Adding a full shelf takes minutes rather than a manual typing session. A fallback manual entry form handles edge cases where a barcode scan returns nothing.

What doesn't work (yet)

Cover photo detection is implemented but not functional.

The original plan included recognising books from a photo of their cover rather than a barcode scan. The feature was built and wired up but the accuracy wasn't reliable enough to ship — it remains in the codebase as unfinished work. The barcode scanner covers most real-world cases well enough that this gap hasn't been a blocker.

Features

What the platform does

01

Room-based Organisation

Books live in virtual rooms that mirror the physical spaces in your home. Instead of a flat list of everything you own, you browse by room — living room, bedroom, office, storage — so finding a specific book means thinking about where it actually is, not remembering a title exactly.

02

Barcode Scanner

The fastest way to add a book is to scan its ISBN barcode with your phone camera. The scanner reads the code, queries an online book database, and pre-fills the title, author, genre, cover image, and other metadata automatically. Manual entry is always available as a fallback.

03

Smart Search & Filtering

Search across the entire collection by title, author, genre, or custom tags. Filters narrow results further — by room, series, or loan status — so you can answer questions like 'which sci-fi books are currently lent out?' in seconds.

04

Loan Tracking

Mark a book as lent to a friend, record who has it, and filter by loan status. The platform keeps a record of where your books are so you don't have to rely on memory when someone asks to borrow something — or when you want it back.

05

Reading Progress & Notes

Log your current page, mark books as read or in-progress, and attach private notes. Notes can capture anything: a quote worth remembering, a recommendation from a friend, or a personal rating after finishing.

06

Collection Sharing

Share your library or a specific room with friends and family. Shared views let others browse your collection, make recommendations, and facilitate book swaps — turning a personal catalogue into a small social layer.

Tech Stack

Framework

  • Next.js
  • React
  • TypeScript

Styling

  • Tailwind CSS
  • shadcn/ui

Database

  • Drizzle ORM
  • PostgreSQL

Tooling

  • Bun
  • ESLint
  • Vercel