Browser App Evaluation: Reading List Dashboard
1. Target SRC_URL
2. App Behavior Summary
The Reading List Dashboard is a goal-tracking application for books read in the year 2026. The app's core behaviors include:
- Goal Tracking: Displays high-level metrics at the top, tracking progress toward an annual goal of 12 books, total pages read (e.g., 425), and total books on the list.
- Filtering System: Allows users to sort their library using radio buttons/tabs (All books, Reading, Completed, Queued).
- Book Cards & Progress: Each book card shows the title, author, priority status, start date, and a progress bar (pages read vs. total pages). It also includes mock interaction buttons like "+25 pages" and "Mark complete".
3. Things That Didn't Work As Expected
- Contradictory Logic for Queued Books: "Book Three" and "Book Four" are marked as "QUEUED" (meaning they haven't been started yet) and have 0 pages read, but the UI displays a "Started [Date]" field. A queued book should not have a start date.
- Mock Buttons Lack Persistence: Clicking the "+25 pages (mock)" button only updates the UI for the current session. If you refresh the page or click "Reload JSON", all progress is immediately lost because it doesn't write to local storage or a backend database.
- Lack of Custom Input: The "+25 pages" button is too rigid. In reality, a user might read 10 pages or 43 pages in a sitting. There is no input field to type the exact page number reached.
4. Prompt to Improve the App
Prompt for AI/Developer:
"Please upgrade the Reading List dashboard by implementing true state persistence and fixing the logical errors. First, connect the app to localStorage (or a backend database) so that clicking '+25 pages' or 'Mark complete' permanently saves the user's progress. Second, replace the rigid '+25 pages' button with a text input field that allows users to type in their current page number and hit 'Update'. Finally, fix the 'Queued' status logic: if a book is queued, hide the 'Started' date and instead display an 'Added to list' date."