Never miss an Indian festival again! 🎉
An AI-powered calendar to discover, track, and celebrate Indian festivals with personalized insights and muhurat timings.
- 🗓️ Interactive Festival Calendar - Monthly view with 50+ Indian festivals
- 🤖 AI Chat - Instant answers powered by Groq Llama 3.3 & Google Gemini
- 📚 Learning Hub - 14+ lessons on festivals, rituals, and spiritual knowledge
- 🎯 Muhurat Timings - Auspicious dates and calculations
- 🌙 Dark Mode - OKLCH color system with automatic theme switching
- 📱 PWA - Offline support, installable on mobile/desktop
- 🔍 Smart Search - Filter by name, date, or region
- ⚡ Performance - Lighthouse 94, 1.2s FCP, 150KB bundle (gzipped)
- ♿ Accessible - WCAG AAA compliant
- 🔒 SEO Optimized - Structured data, sitemaps, 50+ keywords
- Node.js 18+
- pnpm 10+
- Git
# Clone repository
git clone https://github.com/Arjun-57561/festiro-app.git
cd festiro-app
# Install dependencies
pnpm install
# Set up environment
cp .env.example .env.local
Edit .env.local:
NEXT_PUBLIC_APP_URL=http://localhost:3000
GROQ_API_KEY=gsk_your_key
GEMINI_API_KEY=AIzaSy_your_key
# Start dev server
pnpm dev
# Visit http://localhost:3000
| Category | Tools |
|---|---|
| Frontend | Next.js 15, React 18, TypeScript, Tailwind CSS, shadcn/ui |
| AI/LLM | Groq (Llama 3.3), Google Gemini 2.0 Flash |
| Styling | Tailwind CSS, Framer Motion, Lucide Icons |
| Deployment | Vercel, GitHub Actions |
| Package Manager | pnpm |
festiro-app/
├── app/
│ ├── api/assist_v2/ # AI chat endpoint
│ ├── calendar/ # Calendar page
│ ├── chat/ # Chat interface
│ ├── learning/ # Learning hub
│ └── layout.tsx # Root layout
├── components/ # Reusable components
├── lib/ # Utilities & types
├── public/ # Static assets, PWA
└── package.json
| Metric | Score |
|---|---|
| Lighthouse | ✅ 94 |
| First Contentful Paint | ✅ 1.2s |
| Bundle Size (gzipped) | ✅ 150KB |
| Build Time | ✅ 22s |
NEXT_PUBLIC_APP_URL=http://localhost:3000
GROQ_API_KEY=your_groq_key
GEMINI_API_KEY=your_gemini_key
NEXT_PUBLIC_GA_ID=your_analytics_id (optional)
Get API Keys:
pnpm dev # Start dev server
pnpm build # Build for production
pnpm start # Run production server
pnpm lint # Run ESLint
pnpm type-check # Check TypeScript
git push origin main
- Go to vercel.com/new
- Select your repo
- Add environment variables
- Deploy
Auto-deploys on every git push. Live in 2-3 minutes.
| Issue | Solution |
|---|---|
pnpm-lock.yaml out of sync |
rm pnpm-lock.yaml && pnpm install |
| Service Worker not registering | Clear cache (Ctrl+Shift+Del), hard refresh |
| LLM API errors | Verify API keys, check usage limits |
| Dark mode not working | Clear cache, hard refresh (Ctrl+Shift+R) |
- Phase 2: Vercel Postgres, NextAuth.js, user profiles
- Phase 3: Push notifications, community discussions, user contributions
- Phase 4: Premium features, subscription model
- Phase 5: React Native mobile app, multi-language support
# Fork & clone
git clone https://github.com/YOUR_USERNAME/festiro-app.git
# Create feature branch
git checkout -b feature/amazing-feature
# Commit & push
git commit -m '✨ Add amazing-feature'
git push origin feature/amazing-feature
# Open Pull Request
MIT License - see LICENSE
shadcn/ui • Tailwind CSS • Framer Motion • Lucide Icons • Groq • Google AI • Vercel
Made with ❤️ by Arjun