LuminaRead

Education

Original Idea

Reading Log for Schools A web app reading log with streaks, badges, and a parent view.

Product Requirements Document: LuminaRead

1. Executive Summary

LuminaRead is a next-generation digital reading log platform designed for K-12 education. By replacing friction-heavy paper logs with a gamified, mobile-responsive web application, LuminaRead increases student engagement through streaks and badges, simplifies parental verification, and provides teachers with real-time actionable data. Built on a performance-first 2026 tech stack, the platform ensures 100% COPPA/FERPA compliance while integrating seamlessly with existing school ecosystems like Google Classroom and Clever.

2. Problem Statement

Traditional paper-based reading logs are inefficient, prone to loss, and fail to motivate students. Teachers spend hours manually reviewing logs, and parents find the verification process cumbersome. This lack of transparency and engagement leads to a "compliance-only" mindset toward reading, rather than fostering a genuine culture of literacy.

3. Goals & Success Metrics

  • Engagement: Achieve an average of 4.5 reading sessions per student per week.
  • Efficiency: Reduce the time teachers spend on log review by 80% compared to paper logs.
  • Retention: Maintain a 70% "Streak Retention" for students over a 30-day period.
  • Compliance: Zero data breaches and 100% adherence to the April 22, 2026, COPPA Rule updates.

4. User Personas

  • Leo (Student, 4th Grade): Motivated by visual rewards and "leveling up." Needs a simple interface to find books and start a timer.
  • Sarah (Parent): Busy professional. Needs a 30-second workflow to approve logs from her smartphone.
  • Mr. Henderson (Teacher): Manages 30 students. Needs to see who hasn't read this week at a glance and sync rosters from Google Classroom.
  • School Admin: Focused on data privacy, budget, and school-wide literacy trends.

5. User Stories

  • As a student, I want to search for my book and start a timer so that I don't have to manually calculate my reading minutes.
  • As a student, I want to see my "Fire Streak" and earn badges so that I feel a sense of accomplishment.
  • As a parent, I want to receive a notification or see a pending list of logs so that I can approve them with one click.
  • As a teacher, I want to export a PDF progress report so that I can include reading data in quarterly academic records.
  • As a teacher, I want my roster to sync automatically from Clever so that I don't have to manually add students.

6. Functional Requirements

6.1 Student Experience

  • Book Discovery: Search via ISBN or Title using Google Books and OpenLibrary APIs.
  • Active Reading Timer: A "heartbeat" based timer (30s intervals) to track active reading sessions.
  • Gamification Dashboard: Display of current streaks, total minutes, and "Trophy Room" for badges.

6.2 Parent Portal

  • Verification Queue: List of unverified logs with a "Single-Tap Approve" or "Reject with Comment" function.
  • Child Switcher: Seamlessly toggle between multiple children linked to one parent account.

6.3 Teacher/Admin Dashboard

  • Class Leaderboard: View total minutes/books read by the class with toggles for date ranges.
  • Intervention Alerts: Highlighting students who have not logged minutes in the last 72 hours.
  • Roster Management: Full sync with Google Classroom and Clever SSO.

6.4 Gamification Engine

  • Streaks: Daily "Burning Book" icon for consecutive days of reading.
  • Milestones: Badges for "First 100 Minutes," "Genre Explorer" (3+ genres), and "Weekend Warrior."

7. Technical Requirements

7.1 Tech Stack (2026 Standard)

  • Frontend: Next.js v16.1.3 (Turbopack, React 19).
  • Styling: Tailwind CSS v4.1.18 (CSS-based configuration).
  • Backend: Node.js v25.3.0 with Express v5.2.1 (Async/Await middleware).
  • Database: PostgreSQL (Self-hosted on AWS RDS or Neon).
  • Auth: Clerk (utilizing Role Sets and Session Claims).

7.2 Core Integrations

  • Identity: Clever SSO and Google Classroom API for Roster Sync.
  • Metadata: Google Books API (Primary) + OpenLibrary API (Fallback/Enrichment).
  • Gamification: Trophy.so (Logic) + Motion (Visual animations).
  • PDF Engine: @react-pdf/renderer for student reports.

8. Data Model

8.1 User Entity

  • id (UUID), email, full_name, role (STUDENT, PARENT, TEACHER, ADMIN).
  • clerk_id (String).
  • public_metadata: { children_ids: [], classroom_ids: [] }.

8.2 ReadingLog Entity

  • id, student_id, book_id, duration_minutes.
  • status (PENDING, APPROVED, REJECTED).
  • is_manual_entry (Boolean).
  • created_at (Timestamp with BRIN Index).

8.3 Book Entity

  • id, isbn_13, title, author, cover_url, lexile_score.

8.4 Achievement Entity

  • id, student_id, badge_type, earned_at.

9. API Specification (Key Endpoints)

  • GET /api/v1/books/search?q={query}: Aggregated search from Google/OpenLibrary.
  • POST /api/v1/logs/pulse: Heartbeat endpoint for the active timer (updates unlogged buffer).
  • PATCH /api/v1/logs/{id}/verify: Parent/Teacher approval endpoint.
  • GET /api/v1/reports/student/{id}: Streams a generated PDF progress report.

10. UI/UX Requirements

  • Mobile-First: 90% of parent/student interactions occur on mobile devices.
  • Accessibility: WCAG 2.1 Level AA compliance. High-contrast modes for students with visual impairments.
  • Micro-Interactions: Lottie-React animations for "Achievement Unlocked" moments.
  • Component Pattern: shadcn/ui primitives styled with Tailwind v4 @theme.

11. Non-Functional Requirements

  • Performance: 95th percentile page load under 1.5s using Next.js 16's automatic memoization.
  • Security: AES-256-GCM encryption for all student PII at rest.
  • Retention: Automated nightly deletion scripts for expired student data as per COPPA 2026.
  • Scalability: Database indexing via BRIN for high-frequency logs to handle 10,000+ concurrent timers.

12. Out of Scope

  • Native iOS/Android apps (PWA only for Phase 1).
  • Social networking between students (to minimize cyberbullying risk).
  • Direct book sales or e-reader integrations.

13. Risks & Mitigations

  • Risk: API Rate limits on Google Books. Mitigation: Redis caching for 24 hours on book metadata.
  • Risk: COPPA April 2026 Deadline. Mitigation: Mandatory "Written Children's Personal Information Security Program" and Verifiable Parental Consent (VPC) via "Text-Plus."
  • Risk: Data Integrity of Streaks. Mitigation: Server-side validation of log heartbeats; prevent client-side "streak manipulation."

14. Implementation Tasks

Phase 1: Project Setup & Identity

  • [ ] Initialize Next.js 16.1.3 project with Turbopack
  • [ ] Install Tailwind CSS 4.1.18 and configure CSS-first @theme
  • [ ] Set up Clerk Auth with Organization Role Sets
  • [ ] Configure PostgreSQL with pg-boss for background jobs

Phase 2: Core Reading Logic

  • [ ] Implement Book Search Aggregator (Google + OpenLibrary)
  • [ ] Build Student Timer with 30s Heartbeat API (/logs/pulse)
  • [ ] Create BRIN index on reading_logs.created_at for performance
  • [ ] Build Parent Verification Dashboard with one-click approval

Phase 3: Gamification & UI

  • [ ] Integrate Trophy.so for streak and badge logic
  • [ ] Design "Trophy Room" UI using shadcn/ui
  • [ ] Add react-confetti-explosion for milestone celebrations
  • [ ] Implement Motion animations for badge reveals

Phase 4: Integrations & Compliance

  • [ ] Build Google Classroom/Clever Roster Sync using Pub/Sub notifications
  • [ ] Implement VPC (Verifiable Parental Consent) workflow for COPPA 2026
  • [ ] Create automated data deletion cron job using node-cron
  • [ ] Implement @react-pdf/renderer for academic report generation

Phase 5: Launch & Testing

  • [ ] Conduct FERPA/COPPA compliance audit
  • [ ] Perform load testing for "Reading Rush Hour" (typical school hours)
  • [ ] Deploy to AWS Amplify and RDS (PostgreSQL)
  • [ ] Final UI/UX pass for accessibility compliance