Bookshelf
A reading tracker that knows whether you are reading, paused or done with a book.
The Problem
Web-novel readers follow dozens of long series at once. Without a single place to record the chapter they stopped at, books get lost, and a library of hundreds of titles written in Chinese is hard to even browse.
The Solution
I built Bookshelf: a private library where each account only sees its own books, with search, tags and a status for every series. It works out whether a book is being read, paused or dropped from how far behind you are, and imports a whole bookshelf from twkan.com, translated into English.
- Personal libraries: a global Eloquent scope isolates each account across the UI, admin panel and API.
- Reading statuses (reading, unread, paused, completed, abandoned) inferred from the reading position.
- Normalised tags shared between books, with search, filters and sorting.
- A Sanctum-secured REST API, plus a browser exporter and artisan importer for twkan.com.
What I Focused On
A library is only useful if adding a book and moving a chapter are quick. The interface stays light, and the clever parts (status inference, import, demo safeguards) stay out of the way.
- One Livewire page for the everyday work: search, filter, step through chapters.
- Idempotent imports matched on source URL, so re-running updates rather than duplicates.
- A shared demo account with row caps, per-IP rate limits and an hourly reset, without touching real accounts.
- Built-in Help & Documentation that reads the live configuration.
Outcome
A library of hundreds of books that used to live in browser bookmarks is now searchable in English, with a clear status on every series and an API for anything I want to build on top.
Gallery
HR Management System
Laravel · Web · Archived
Laravel and Filament HRMS covering employees, attendance, leave, payroll with PDF payslips, and recruitment.
Service Tracker
Laravel · Web · In progress
Service and attendance tracker for a church with three congregations, with scoped access and comparison reports.
NairaFlow
Laravel · Web · In progress
Back-office ledger for a currency exchange and remittance business, with maker-checker approvals and a full audit trail.
Need something like this?
Tell me about your workflow and I will bring the code craft, structure and care.
Start a project conversation