Full
Stack App
OAuth
Google + Email Auth
REST
Django API
Live
on Vercel + Render
About the project
Novella started as a simple question: why is tracking what you read still so clunky? Goodreads is social when you just want something personal. Notion is too manual. Novella is the middle ground — a focused, private reading companion.
The app lets you manage a full book library with cover images, track reading status, write per-book notes, and save vocabulary words you encounter along the way. Reading stats and streaks give you a gentle nudge to keep going.
The stack is Next.js 16 on the frontend with Firebase Auth for identity, and a Django REST Framework API on the backend that verifies Firebase ID tokens — no sessions, no JWT gymnastics. Cover images are uploaded to Cloudinary and feedback is handled via Formspree.
Tech Stack
Details
Features
Add books with title, author, page count, cover image, and status — Reading, Completed, or Want to Read.
One-tap 'Start Reading' and 'Mark as Completed' buttons on every book card.
Write per-book notes with live word count tracking — visible only to you.
Save words discovered while reading with optional meaning, example sentence, and source book link.
Total books, pages read, current streak, and more — gamified enough to keep you reading.
Paste a URL, browse from device, or take a photo — uploaded instantly to Cloudinary.
Workflow
Create an account with email/password or Google OAuth.
Build your library with covers, authors, and page counts.
Update reading status and log notes as you go.
Save vocabulary, hit streaks, and watch your stats climb.
Novella is live at novella-library.vercel.app. The full source — Next.js frontend and Django backend — is on GitHub.