"Find yourself in the pages."
BiblioDrift transforms book discovery into an emotional journey — where stories are explored through mood, atmosphere, and feeling instead of endless scrolling.
🌧️ Mood-first discovery • 📚 Immersive reading • 🤖 AI-powered storytelling
| 📚 Section | 🔗 Description |
|---|---|
| 💭 The Idea | Vision and inspiration behind BiblioDrift |
| 🧘 Core Philosophy | Principles that shape the experience |
| ✨ Experience Highlights | Main features and immersive interactions |
| 🛠️ Tech Stack | Technologies powering the platform |
| 🧠 System Architecture | Flow between frontend, backend, and AI |
| 📸 Screenshots | Visual preview of the application |
| 📄 License | Project licensing information |
Most platforms make reading feel like:
- ❌ Endless scrolling
- ❌ Algorithm overload
- ❌ No emotional connection
BiblioDrift is different.
It feels like:
📚 Walking into a quiet bookstore
☕ Picking a book based on mood
🌧️ Letting the atmosphere guide you
- 🧘 Zero UI Noise → No clutter, no distractions
- 🎭 Vibe-First Discovery → Search by feeling, not metadata
- 📖 Tactile Interaction → Books behave like real objects
- 🤖 AI as a Bookseller → Not recommendations, but conversations
- 3D books you can pull, flip, and explore
- Shelf-based organization (Want / Reading / Favorites)
- Mood-based recommendations (e.g., “rainy mystery”)
- Dynamic AI-generated blurbs
- Conversational assistant → Elara, the Bookseller
- Glassmorphism interface
- Ambient sounds (rain, fireplace,Calm Ocean Waves,Stormy Rain)
- Emotion-based tagging system
- Skeleton loaders (smooth loading)
- LocalStorage persistence
- Seamless interactions
| Layer | Technology |
|---|---|
| Frontend | HTML5, CSS3 (3D), Vanilla JS |
| API | Google Books API |
| Backend | Flask, SQLAlchemy, JWT cookies |
| AI | LLM-powered notes, chat, and mood analysis |
| Storage | LocalStorage |
⚠️ The frontend is deployed on Netlify, but the Flask backend is not yet deployed. Google Sign-In and all AI features require the backend to be running.
When a user clicks "Sign in with Google", the browser sends a request to /api/v1/auth/google.
Netlify needs to know where to forward that request, that's what BACKEND_URL is for.
Without it, Netlify has no rule for /api/v1/* and shows a 404 error.
You can deploy the backend (located in the /backend folder) to either:
| Platform | Free Tier | Docs |
|---|---|---|
| Render | ✅ Yes | Render Python Docs |
| Railway | ✅ Yes | Railway Docs |
After deploying, you'll get a public URL like: https://your-app.onrender.com
- Go to Netlify Dashboard
- Open your site → Site Configuration → Environment Variables
- Click Add a variable
- Set:
- Key:
BACKEND_URL - Value:
https://your-app.onrender.com(no trailing slash)
- Key:
- Click Save
After setting the variable:
- Go to Deploys tab in your Netlify dashboard
- Click Trigger deploy → Deploy site
- This reruns
build_netlify.py, which picks upBACKEND_URLand adds the proxy rule to_redirects
After this, "Sign in with Google" will correctly reach the Flask backend. ✅
graph TD
A[Frontend UI] -->|Mood Query| B[Flask Backend]
B -->|Prompt Engineering| C[LLM / AI Service]
C -->|Generated Insight| B
B -->|JSON Response| A
A -->|Book Data| D[Google Books API]
A -->|Persistence| E[LocalStorage]
| 📄 Document | ✨ Description |
|---|---|
| 🧠 Architecture Guide | Detailed system design, data flow, and backend structure |
| 📡 API Documentation | API endpoints, request/response examples, and integration flow |
| 🚀 Roadmap | Upcoming features and future development plans |
| 🗂️ Project Structure | Complete folder hierarchy and project organization |
| 📖 Tutorial Guide | Step-by-step setup and usage walkthrough |
| 🤝 Contributing Guide | Contribution workflow, rules, and PR process |
| 🧩 Mood Analysis Module | AI mood engine architecture and logic |
| 🛒 Purchase Links Module | Purchase link generation system documentation |
Built with ☕ and code by Devanshi Malhotra and contributors.
⭐ If you like this project, consider starring the repository.
This project is licensed under the MIT License.


