A minimalist, 100% offline-first book reading habit tracker and dynamic reading pace companion. Built for book lovers who cherish distraction-free reading, mindful daily goals, and absolute data privacy.
Experience PagePace's real-time reading algorithm
240 pages remaining • Finish in 12 days
Most reading apps are cluttered with social media feeds, aggressive gamification, and intrusive subscription paywalls. PagePace takes the opposite approach.
Everything lives 100% locally on your device in a high-performance, typesafe SQLite database powered by Drift.
Dynamically computes daily page quotas based on remaining pages and deadline days so you finish without overwhelm.
No account creation, zero telemetry, no third-party ad networks. Your literary thoughts remain strictly your own.
Hand-picked palette inspired by warm book leather amber (#C87D32), antique parchment, and midnight slate dark mode.
Crafted with clean interactions and instant feedback at every step.
Categorize your books seamlessly across To Read, In Progress, and Completed shelves. Set target completion dates or reading duration periods with live quota simulation.
Auto-recalculates your exact daily requirement as days pass. Log reading sessions in seconds with the intuitive -10, -1, +1, +10 stepper controls.
Interactive weekly and monthly reading velocity charts powered by fl_chart. Track current and longest reading streaks, daily pace averages, and completed book milestones.
Stay motivated with automatic milestone evaluations (First Step, 3-Day Streak, Century Club, Book Finisher). Visual progress indicators show proximity to your next badge.
Capture golden quotes, chapter takeaways, and personal literary reflections. Every quote is tagged with its exact page number for instant citation or review.
Offline push reminders scheduled via native exact alarms. Features custom daily reading hour selection, leather amber notification shade accents, and zero battery drain.
PagePace is developed with a strict separation of concerns, ensuring high maintainability, isolated unit testability, and resilient state machines.
Pure Dart entities and use cases with zero Flutter or database imports.
Freezed DTOs and Drift DAOs mapped to domain entities via pure extension mappers.
Deterministic state machines with unidirectional event and state streams.
lib/
├── core/
│ ├── database/ # Drift SQLite DB & DAOs
│ ├── di/ # Feature-isolated GetIt injection
│ ├── routing/ # Declarative GoRouter setup
│ ├── services/ # Local NotificationService
│ └── theme/ # Material 3 Warm Leather Amber Tokens
│
└── features/
├── books/ # Book shelves, Stepper, Quotes Vault
│ ├── domain/ # Pure Entities, UseCases & Contracts
│ ├── data/ # Freezed DTOs, Extension Mappers
│ └── presentation/ # BooksBloc, Pages & Atomic Widgets
│
├── analytics/ # Reading Velocity & Streaks
│ ├── domain/ # Analytics Entities & Stream UseCases
│ ├── data/ # Analytics Drift DataSources
│ └── presentation/ # AnalyticsBloc & FLChart UI
│
└── reminders/ # Local Habit Reminders| Layer | Package / Technology | Purpose |
|---|---|---|
| Framework | Flutter 3.x • Dart 3.x | Cross-platform native mobile UI |
| Persistence | Drift (SQLite) | Reactive, typesafe 100% on-device SQL storage |
| State Management | flutter_bloc | Unidirectional event-driven reactive streams |
| Navigation | go_router | Declarative routing and deep linking |
| Data Models | freezed | Immutable value objects with pattern matching |
| Charts | fl_chart | Interactive weekly and monthly pace graphs |
| Notifications | flutter_local_notifications | Offline exact alarm habit reminders |
Drift SQLite persistence, Clean Architecture, dynamic pace calculation, and local notification alarms.
One-tap home widget log, encrypted local database export & import without platform lock-in.
Ambient audio generator (rain, cafe, fireplace) and mindful Pomodoro-style reading intervals.
100% on-device text recognition to instantly extract book quotes directly into your vault.
Read our full, store-compliant privacy documentation covering offline guarantees, permission breakdowns, and GDPR/COPPA alignment.