🌐 Live Demo: https://katha-naka.vercel.app
साहित्याच्या पुणेरी पाट्या is a location-based Marathi literary map that fuses AI and culture. Every pin on the map represents a real Pune location — Shanivar Wada, Vetal Tekdi, Saras Baug — each holding quotes from iconic Marathi authors like Pu La Deshpande, V. P. Kale, and Savitribai Phule.
Built by Sanket Jadhav, an MCA student exploring the intersection of culture, NLP, and modern web technology.
| Feature | Description |
|---|---|
| 🗺 Literary Map | Interactive Leaflet map with 47+ Pune locations and 67+ Marathi quotes |
| 📚 Multi-voice Carousel | Each location can hold multiple literary perspectives — carousel through them |
| 🪟 Puneri Paati Popup | Glassmorphism cards styled after classic Pune signboards, with 3D flip for author bios |
| 🔍 Vibe Filter | Filter markers by sentiment — विनोदी, ऐतिहासिक, निसर्ग, कट्टा |
| 🌙 Night Mode | Dark CartoDB tile layer with red neon glow on markers |
| 🔴 Smart Clustering | Custom red L.divIcon clusters matching the Puneri colour theme |
| 🤖 Semantic Search | L3Cube Marathi-BERT embeddings stored in ChromaDB for vibe-based discovery |
| 📱 Mobile Optimised | Scroll-snap, touch-zoom centering, responsive glassmorphism UI |
- Next.js 15 (App Router,
"use client", dynamic imports) - React Leaflet + react-leaflet-cluster — interactive map
- Framer Motion — spring-pop popup animations
- Tiro Devanagari Marathi + Inter — bilingual typography
- FastAPI — REST API (
/locations,/search,/generate-walk) - SQLAlchemy + SQLite — relational data store
- ChromaDB — vector store for semantic search
- L3Cube Marathi-BERT (
l3cube-pune/marathi-sentence-bert-nli-v2) — Marathi sentence embeddings
- Node.js 18+ and npm
- Python 3.10+
cd backend
pip install -r requirements.txt
python seeds.py # seed the database
uvicorn main:app --reloadBackend runs at http://localhost:8000
cd frontend
cp .env.production.example .env.local
# Edit .env.local → NEXT_PUBLIC_API_URL=http://127.0.0.1:8000
npm install
npm run devFrontend runs at http://localhost:3000
See DEPLOY.md for the full production guide using Gunicorn + Vercel.
| Layer | Service |
|---|---|
| Frontend | Vercel (zero-config Next.js) |
| Backend | Render / Railway (persistent disk for SQLite + ChromaDB) |
katha-naka/
├── backend/
│ ├── main.py # FastAPI app & API endpoints
│ ├── models.py # SQLAlchemy models (Location, Quote)
│ ├── seeds.py # Database seeding (47 locations, 67+ quotes)
│ ├── nlp_service.py # Marathi-BERT embeddings & ChromaDB
│ └── requirements.txt
├── frontend/
│ ├── src/app/
│ │ ├── page.tsx # Hero + Map + Footer layout
│ │ ├── MapComponent.tsx # Leaflet map, clusters, night mode
│ │ ├── QuoteDialog.tsx # 3D flip Puneri Paati popup
│ │ ├── FilterBar.tsx # Glassmorphism vibe filter
│ │ ├── AboutModal.tsx # Developer info modal
│ │ ├── globals.css # Design system (glassmorphism, snap-scroll)
│ │ └── layout.tsx # Fonts, favicon, metadata
│ └── public/
│ ├── favicon.ico # Literary book icon
│ └── pune_hero.png # Hero background image
├── DEPLOY.md
└── README.md
Sanket Jadhav
MCA Student · Culture × Technology · Pune
MIT License — quotes are attributed to their respective authors and used for educational purposes only.

