JainSetu is a full-stack, AI-powered web platform designed to modernize how users discover, learn, and engage with Jain philosophy, temples, Tirthankars, and cultural heritage.
It combines interactive geospatial experiences, structured knowledge systems, and LLM-powered intelligence to deliver a scalable and immersive learning ecosystem.
π§ This project is actively evolving with continuous feature expansion and improvements.
JainSetu provides a comprehensive ecosystem for discovering and understanding Jain philosophy and culture through modern web technologies.
The platform enables users to:
- Explore Jain temples using an interactive map with advanced filtering and search capabilities
- Learn about Tirthankars through structured, section-based biographies
- Generate AI-powered summaries for faster understanding of complex narratives
- Discover festivals, rituals, and significant historical events in an engaging visual format
- Interact with an intelligent chatbot powered by Groq AI and LangChain (RAG) for contextual query resolution
The system is designed with scalability in mind, supporting future enhancements such as gamified learning modules, community-driven contributions, multilingual support, and personalized experiences.
-
πΊοΈ Temple Exploration System
- Interactive map-based discovery using Mapbox
- Advanced filters (location, Tirthankar, architecture, search)
- Dynamic modal with temple details, images, and insights
-
π€ AI-Powered Assistant
- Context-aware chatbot using Groq AI + LangChain (RAG)
- Natural language query handling for temple-related information
- Dynamic AI-generated summaries for Tirthankar biographies
-
π Tirthankar Knowledge Explorer
- Structured biographies (early life, royal life, diksha, teachings)
- Section-based navigation for better readability
- On-demand AI summarization for quick understanding
-
π Festivals & Cultural Showcase
- Masonry grid layout for visual exploration
- Highlights Jain festivals, rituals, and key historical events
- Designed for scalable content expansion
-
π Stories Module (In Progress)
- Card-based story interface with expandable views
- Focus on moral and philosophical storytelling
- Structured for future enhancements and recommendations
-
π© Contact & Form System
- Multi-step form with validation using Zod + React Hook Form
- Smooth user experience with step-wise progression
- Backend-ready integration with Supabase
-
π¨ Modern UI & Design System
- Responsive, component-driven architecture
- Consistent design language across pages
- Smooth animations powered by Framer Motion
-
βοΈ Scalable Architecture
- Modular component structure for maintainability
- API-driven design using Next.js API routes
- Designed for future features like learning modules and gamification
JainSetu follows a layered, scalable architecture combining modern frontend frameworks, API orchestration, and an AI-powered retrieval system.
ββββββββββββββββββββββββββββββββ
β End User β
β (Browser / Client) β
ββββββββββββββββ¬ββββββββββββββββ
β
ββββββββββββββββββββββββββββββββββββββββββββββ
β Frontend Layer β
β Next.js (App Router) + React + TS β
β--------------------------------------------β
β β’ UI Components (Temples, Tirthankars) β
β β’ State Management β
β β’ Chat Interface β
β β’ Forms & Validation β
ββββββββββββββββ¬ββββββββββββββββββββββββββββββ
β
ββββββββββββββββββββββββββββββββββββββββββββββ
β API / Application Layer β
β Next.js API Routes β
β--------------------------------------------β
β β’ /api/chat (AI queries) β
β β’ /api/summary (AI summarization) β
β β’ Request validation & processing β
βββββββββ¬ββββββββββββββββ¬βββββββββββββββββββββ
β β
βββββββββββββββββββββββββ ββββββββββββββββββββββββββ
β AI Layer β β Data Layer β
β-----------------------β β------------------------β
β β’ LangChain (RAG) β β β’ JSON datasets β
β β’ Context Retrieval β β β’ Supabase (scalable) β
β β’ Prompt Engineering β β β’ Data access logic β
β β’ Groq LLM API β ββββββββββββββ¬ββββββββββββ
ββββββββββββββ¬βββββββββββ β
β ββββββββββββββββββββββββββββββ
ββββββββββββββββββββββββββ β External Services Layer β
β LLM Processing β β----------------------------β
β (Groq Inference) β β β’ Mapbox (Maps & Markers) β
ββββββββββββββββββββββββββ β β’ Supabase APIs β
ββββββββββββββββββββββββββββββ
User Query
β
Frontend (Chat UI)
β
API Route (/api/chat)
β
LangChain Pipeline
βββ Retrieve relevant context (temples / tirthankars)
βββ Construct prompt
β
Groq LLM API
β
Generated Response
β
Return to Frontend UI
User selects filters/search
β
Frontend state update
β
Fetch temple dataset (Supabase API)
β
Apply filtering logic
β
Render markers using Mapbox
β
User clicks marker
β
Dynamic modal displays temple details
- Server-side rendering via Next.js
- Lazy loading components
- Efficient API handling
- Future: caching AI responses
- Frontend: Next.js 16 (App Router), React, TypeScript
- Styling & UI Icons: Tailwind CSS, Lucide React
- Animations: Framer Motion
- Forms & Validation: React Hook Form + Zod
- Backend: Next.js API Routes
- Database: Supabase
- AI Integration: Groq AI API, LangChain (RAG), @ai/react
- Maps & Geolocation: Mapbox API
- Maps & Geolocation: Mapbox API
app/
βββ api/ # API routes (AI, chatbot, summaries)
βββ components/
β βββ chatbot/
β βββ contact/
β βββ masonry-grid/
β βββ navbar/
β βββ sections/
β βββ temples/
β βββ tirthankars/
β βββ form/
βββ explore/
βββ page.tsx
data/
βββ temples.json
βββ tirthankars.json
lib/
βββ supabase-client.ts
βββ fetch-temples.ts
types/
βββ temples.ts
.env.localCreate a .env.local file:
NEXT_PUBLIC_SUPABASE_URL=
NEXT_PUBLIC_SUPABASE_ANON_KEY=
MAPBOX_ACCESS_TOKEN=
GROQ_API_KEY=
# Clone repo
git clone https://github.com/Krisha1703/jain-setu.git
# Install dependencies
npm install
# Run development server
npm run devπ Website: https://jain-setu.vercel.app
- Learn modules with quizzes & gamification
- Reward & redemption system
- Peer-to-peer item exchange
- Global temple expansion
- Personalization & user accounts
JainSetu is continuously improving.
If you:
- Have ideas for new features
- Want to enhance existing functionality
- Identify areas for refinement
Feel free to open an issue or contribute β feedback is always welcome. krishabotadara@gmail.com







