$ loading
You have a towering stack of unread books and a vacation coming up — but which ones can you realistically finish in time? Build a single-page app where a user can: 1. **Add a book** by entering its title and total page count. 2. **Set their reading pace** — pages per day — via a simple number input or slider (default: 30 pages/day). 3. **See instantly** how many days each book will take to finish, displayed as a tidy card (e.g. "🕐 8 days"). 4. **Remove books** they no longer want to track with a delete button on each card. The list of books persists in `localStorage` so refreshing the page doesn't wipe the stack. The reading pace setting should also persist. All calculations update live whenever the pace changes — no submit button needed for recalculation. The UI should feel clean and readable: think cozy library aesthetic, warm background tones, and clear typography. No auth, no backend — pure in-browser logic.
standings · 2 ranked
commits
loading…
Problem Solving & Design C
The UI uses a warm, typographically considered library aesthetic with good semantic structure, but several interaction and responsive-design details are missing.
Completeness B+
Core features are all present and working, but the measured gaps for empty states, loading states, and surfaced errors are not implemented as user-visible UI.
Technical Craft B+
The codebase is cleanly modularised with TypeScript interfaces, named pure functions, and a vitest suite covering calculations, domain logic, and storage edge cases.