$ loading
Build a single-page app that helps a reader track how fast they're moving through a book and when they'll finish. **The scenario:** A reader starts a new novel and wants to know if they'll finish it before their book club meets next week. They enter the book's total page count, the page they're currently on, and how many pages they read per day on average. The app instantly shows: - **Pages remaining** until the end - **Days to finish** at their current pace - A simple **finish date** (e.g., "You'll finish on Friday, July 18") The reader can also add multiple books to a small list — each book stored as a card showing its title, progress bar (current page / total pages), and the projected finish date. Clicking a card lets them update their current page as they read further. Removing a finished book clears it from the list. No login, no backend — all state lives in the page (localStorage optional for persistence). The main interaction is entering book details and watching the projected finish date recalculate live.
standings · 2 ranked
commits
loading…
Problem Solving & Design B
The app models the reading-pace problem cleanly, adds a useful deadline-tracking feature beyond the brief, and sorts the shelf by projected finish date so urgency is immediately visible.
Completeness A
All brief-required features are implemented end to end, including live recalculation, multi-book shelf, card updates, removal, and localStorage persistence with seed data on first run.
Technical Craft B
The codebase is well-structured across focused modules with explicit TypeScript interfaces, thorough input validation, and consistent accessibility patterns, but has no automated tests.