Modern Book Tracking & Reading Reflection Platform
Moonlight is a sophisticated book tracking and reading reflection application designed for readers who want more than just tracking what they readβthey want to reflect on what they got out of it. Built with Next.js 16, TypeScript, and PostgreSQL, it emphasizes deep reflection and personal growth through reading.
Moonlight focuses on reflection over tracking. While most book apps simply log your reading, Moonlight helps you:
Track books through TBR β READING β FINISHED states with reading logs, emotions, and progress tracking
Capture where you found yourself in the story, scenes that moved you, and personal connections
Group books into series with manual ordering and series-level reflections
Store vocabulary, lessons, insights, and quotes independent of specific books
Monthly and yearly reading goals with intentions, not just numbers
Google Generative AI for recommendations and text generation
Next.js 16.1.1 with App Router, React 19, TypeScript
Tailwind CSS, clsx, Lucide React icons, Recharts
PostgreSQL (Neon), Prisma ORM, API Routes
NextAuth.js with JWT, bcryptjs password hashing
Google Generative AI, Lemon Squeezy, Stripe, Safepay
The database is designed around the User and Book entities with rich relationships:
Moonlight offers a free tier with basic features and a premium "Moonlight Premium" subscription
Three integrated payment gateways for global reach:
Scenario: Reader finishing a transformative novel
Flow:
Result: Deep understanding of personal growth through reading
Scenario: Collecting insights from multiple books
Flow:
Result: Centralized repository of knowledge and insights
Scenario: Reader setting monthly reading goals
Flow:
Result: Intentional, meaningful reading practice
Scenario: Managing a fantasy book series
Flow:
Result: Organized view of multi-book narratives
Full TypeScript with Prisma for end-to-end type safety from database to UI
Robust authentication middleware protecting all core routes with JWT sessions
Integrated 3 payment providers with webhook handling for global monetization
Comprehensive Prisma schema supporting complex relationships and reflection data