My Shelf
A private reading library with cover-based shelves, page progress, ratings, reading statistics, and CSV import and export.
My Shelf is a private reading library built with Next.js and Supabase. Each book has a cover, author, reading status, rating, page progress, and year read. It is a place to keep track of what I want to read, what is open now, and what I have finished.
The dashboard arranges current reads, reading history, next reads, and recent finishes as bookshelves. Adjustable cover sizes and inline progress keep the book itself at the centre. Search, status and year filters, and paginated shelves make a larger library manageable; a separate statistics page shows reading patterns over time.
Books move through want to read, reading, finished, or did not finish. Validated CSV import brings an existing list across and reports invalid rows individually. Full-library CSV export makes it possible to take the collection elsewhere, while duplicate checks keep new entries tidy.
Email and password authentication, password recovery, and Supabase row-level security keep each library private. The scope is deliberately small: a useful record of my reading, with enough structure to help choose the next book.