🌟 KalaMitra is a celebration of heritage and creativity, uniting artisans and art lovers in a vibrant, AI-powered marketplace.
Inspired by tradition, built with ❤️ for the artisan spirit.
- Supabase Auth with email/password, Google OAuth & Microsoft OAuth
- Role-based access: Buyers and Sellers

- Automatic redirects based on user role
- Protected routes and middleware
- Virtual Stall Management: Create and customize your artisan profile with a personalized 3D stall.
- Product Management: Add, edit, and delete products
- Virtual Products:Design and sell digital creations such as Kolams, templates, and craft designs.
- Collaborate: Partner with your favorite creators or sellers to grow together
- Auctions: Create and manage live auctions for products
- Reels: Showcase artisan stories and products with short video reels
- AI Tools: Photo enhancement, story generation, and smart recommendations
- Public Stall Pages: Shareable stall URLs for customers
- Seller Analytics: Track performance and sales
- Notifications: Real-time updates for bids, sales, and all activity
- Scheme Connect: Get access to both private and government schemes for vendors
- Marketplace Browsing: Discover unique handcrafted items
- Advanced Search & Filtering: Use Semantic Search or browse by category, name, or description.
- Product Details: Explore rich product pages with artisan profiles, narrated stories, gifting options, and custom craft requests.
- Shopping Cart: Add items and manage quantities

- Artisan Discovery: Explore individual seller stalls
- Mic Support: No need to type — simply speak in any Indian language for searches or interactions.
- Auctions: Participate in live auctions and place bids
- Leaderboard: See top sellers and trending products
- Notifications: Real-time updates for bids, purchases, and offers
- Recommendations: Get AI-powered suggestions based on preferences and activity.
- Gifting Options: Individual & group gifting with custom messages
- Custom Craft Requests: Buyers can request personalized handmade or digital crafts
- Chat & Group Chat: Direct communication between buyers & artisans
- Follow Feature: Build artisan communities & loyal buyer base
- AR Product Visualization: View crafts in real-world spaces before buying
- AI Shopping Assistant: RAG chatbot for search, filters & smart follow-ups
- Story Narration: Listen to stories behind products in marketplace and product page
- 3D Bazaar: Immersive virtual marketplace with customizable stalls
- Donate Waste: Donate Waste or Leftover Items to Ngos or Artisans so they can create something unique and earn something from it
- Warm Earthy Palette: Terracotta, saffron, indigo, and beige colors
- Cultural Patterns: Mandala-inspired backgrounds and textures
- Responsive Design: Mobile-first approach with desktop optimization
- Smooth Animations: Framer Motion for delightful user experience
- Multi-language Support: Built-in translation for Indian languages
- Debug Tools: Integrated debug and translation test pages for developers
- Cron Jobs: Auto-cleanup + auction end automation for smooth ops
- Frontend: Next.js 15 (App Router), TypeScript, TailwindCSS

- Backend: Supabase (PostgreSQL, Auth, Storage)
- Styling: TailwindCSS with custom cultural theme
- Animations: Framer Motion
- Icons: Lucide React
- Deployment: Ready for Vercel, Netlify, or any Next.js hosting
- Frontend: Next.js 15 (App Router), TypeScript, TailwindCSS
- Backend: Supabase (PostgreSQL, Auth, Storage)
- Styling: TailwindCSS with custom cultural theme
- Animations: Framer Motion
- Icons: Lucide React
- Deployment: Ready for Vercel, Netlify, or any Next.js hosting
KalaMitra/
│
├── public/
│ ├── pdf.worker.min.js
│ ├── kalamitra-logo.png
│ ├── kalamitra-symbol.png
│ ├── gold&jwellery.jpg
│ ├── pottery.jpg
│ ├── saree.jpg
│ ├── notfound.png
│ ├── file.svg
│ ├── globe.svg
│ ├── next.svg
│ ├── vercel.svg
│ └── window.svg
├── src/
│ ├── app/
│ │ ├── api/
│ │ │ ├── ai-chat/
│ │ │ │ ├── delete/
│ │ │ │ │ └── route.ts
│ │ │ │ └── route.ts
│ │ │ ├── auction/
│ │ │ │ ├── bid/
│ │ │ │ │ └── route.ts
│ │ │ │ ├── cron/
│ │ │ │ │ ├── end/
│ │ │ │ │ │ └── route.ts
│ │ │ │ │ └── route.ts
│ │ │ │ ├── end/
│ │ │ │ │ └── route.ts
│ │ │ │ └── route.ts
│ │ │ ├── auth/
│ │ │ │ ├── google/
│ │ │ │ │ ├── callback/
│ │ │ │ │ │ └── route.ts
│ │ │ │ │ └── route.ts
│ │ │ │ ├── microsoft/
│ │ │ │ │ ├── callback/
│ │ │ │ │ │ └── route.ts
│ │ │ │ │ └── route.ts
│ │ │ ├── backfill-embeddings/
│ │ │ │ └── route.ts
│ │ │ ├── chat/
│ │ │ │ ├── message/
│ │ │ │ │ └── route.ts
│ │ │ │ ├── messages/
│ │ │ │ │ └── route.ts
│ │ │ │ ├── thread/
│ │ │ │ │ └── route.ts
│ │ │ │ ├── threads/
│ │ │ │ │ └── route.ts
│ │ │ ├── cleanup-activity/
│ │ │ │ └── route.ts
│ │ │ ├── collaboration/
│ │ │ │ ├── end/
│ │ │ │ │ └── route.ts
│ │ │ │ ├── list/
│ │ │ │ │ └── route.ts
│ │ │ │ ├── products/
│ │ │ │ │ └── route.ts
│ │ │ │ ├── request/
│ │ │ │ │ └── route.ts
│ │ │ │ ├── respond/
│ │ │ │ │ └── route.ts
│ │ │ │ ├── search-sellers/
│ │ │ │ │ └── route.ts
│ │ │ │ ├── split-proposal/
│ │ │ │ │ └── route.ts
│ │ │ │ └── route.ts
│ │ │ ├── custom-request/
│ │ │ │ └── route.ts
│ │ │ ├── generate-ad/
│ │ │ │ └── route.ts
│ │ │ ├── generate-story/
│ │ │ │ └── route.ts
│ │ │ ├── generate-tutorial-pdf/
│ │ │ │ └── route.ts
│ │ │ ├── gift/
│ │ │ │ └── route.ts
│ │ │ ├── leaderboard/
│ │ │ │ └── route.ts
│ │ │ ├── placeholder/
│ │ │ │ └── route.ts
│ │ │ ├── marketplace/
│ │ │ | ├──products/
│ │ │ | | └── route.ts
│ │ │ | ├──bazaar/
│ │ │ | | └── route.ts
│ │ │ ├── recommendations/
│ │ │ │ └── route.ts
│ │ │ ├── refine-tutorial/
│ │ │ │ └── route.ts
│ │ │ ├── removebg/
│ │ │ │ └── route.ts
│ │ │ ├── search/
│ │ │ │ └── route.ts
│ │ │ └── translate/
│ │ │ └── route.ts
│ │ ├── auctions/
│ │ │ └── page.tsx
│ │ ├── auth/
│ │ │ ├── signin/
│ │ │ │ └── page.tsx
│ │ │ └── signup/
│ │ │ └── page.tsx
│ │ ├── cart/
│ │ │ └── page.tsx
│ │ ├── dashboard/
│ │ │ └── seller/
│ │ │ ├── reels/
│ │ │ │ └── page.tsx
│ │ │ ├── CollaborationManager.tsx
│ │ │ ├── CollaborativeProductsManager.tsx
│ │ │ ├── ProfileManager.tsx
│ │ │ ├── RevenueSplitManager.tsx
│ │ │ ├── SellerAnalytics.tsx
│ │ │ ├── SellerAuctionsList.tsx
│ │ │ └── page.tsx
│ │ ├── dm/
│ │ │ └── page.tsx
│ │ ├── gifts/
│ │ │ └── page.tsx
│ │ ├── group-gift/
│ │ │ └── [id]/
│ │ │ └── page.tsx
│ │ ├── leaderboard/
│ │ │ └── page.tsx
│ │ ├── marketplace/
│ │ │ └── page.tsx
│ │ ├── notifications/
│ │ │ └── page.tsx
| | |──recommendations/
| | | └── page.tsx
│ │ ├── product/
│ │ │ └── [id]/
│ │ │ └── page.tsx
│ │ ├── profile/
│ │ │ ├── [user_id]/
│ │ │ │ └── page.tsx
│ │ │ └── page.tsx
│ │ ├── reels/
│ │ │ └── page.tsx
│ │ ├── stall/
│ │ │ └── [id]/
│ │ │ └── page.tsx
│ │ ├── favicon.ico
│ │ ├── globals.css
│ │ ├── layout.tsx
│ │ ├── page.tsx
│ │ ├── about/
│ │ │ └── page.tsx
│ │ ├── howitworks/
│ │ │ └── page.tsx
│ │ ├── successstories/
│ │ │ └── page.tsx
│ │ ├── support/
│ │ │ └── page.tsx
│ │ ├── policy/
│ │ │ └── page.tsx
│ │ ├── terms/
│ │ │ └── page.tsx
│ │ ├── cookies/
│ │ │ └── page.tsx
│ │ ├── contact/
│ │ │ └── page.tsx
│ │ ├── wishlist/
│ │ │ └── page.tsx
│ ├── components/
│ │ ├── AIChatConditional.tsx
│ │ ├── AIProductForm.tsx
│ │ ├── AIShoppingChat.tsx
│ │ ├── ARViewer.tsx
│ │ ├── AuctionWidget.tsx
│ │ ├── DMChat.tsx
│ │ ├── DonateModal.tsx
| │ ├── ErrorBoundary.tsx
| │ ├── Footer.tsx
| │ ├── GroupGiftContribution.tsx
| │ ├── GroupGiftModal.tsx
| │ ├── HideNavbar.tsx
| │ ├── LanguageProvider.tsx
| │ ├── Leaderboard.tsx
| │ ├── Market3DButton.tsx
| │ ├── MarketplaceNavigator3D.tsx
| │ ├── MarketplaceStalls3D.tsx
| │ ├── MessageInputModal.tsx
| │ ├── MotionWrapper.tsx
| │ ├── Navbar.tsx
| │ ├── NotificationsList.tsx
| │ ├── ProductCard.tsx
│ │ ├── ShareModal.tsx
│ │ ├── StallCustomizationModal.tsx
│ │ ├── ThemeProvider.tsx
│ │ ├── ThreeDStall.tsx
│ │ ├── TranslationDebug.tsx
│ │ ├── TranslationTest.tsx
│ │ ├── VideoPlayer.tsx
│ │ └── VirtualProductForm.tsx
│ ├── contexts/
│ │ └── AuthContext.tsx
│ ├── lib/
│ │ ├── locales/
│ │ │ ├── assamese.json
│ │ │ ├── bengali.json
│ │ │ ├── bodo.json
│ │ │ ├── dogri.json
│ │ │ ├── en.json
│ │ │ ├── gujarati.json
│ │ │ ├── hi.json
│ │ │ ├── kannad.json
│ │ │ ├── kashmiri.json
│ │ │ ├── konkani.json
│ │ │ ├── maithili.json
│ │ │ ├── malyalam.json
│ │ │ ├── manipuri.json
│ │ │ ├── marathi.json
│ │ │ ├── nepali.json
│ │ │ ├── oriya.json
│ │ │ ├── punjabi.json
│ │ │ ├── sanskrit.json
│ │ │ ├── santhali.json
│ │ │ ├── sindhi.json
│ │ │ ├── tamil.json
│ │ │ ├── telgu.json
│ │ │ └── urdu.json
│ │ ├── activity.ts
│ │ ├── ai-service.ts
│ │ ├── chat-parser.ts
│ │ ├── embedding-service.ts
│ │ ├── google-oauth.ts
│ │ ├── microsoft-oauth.ts
| | ├── rate-limit.ts
| | ├── local-limit.ts
│ │ ├── i18n.ts
│ │ ├── image-similarity.ts
│ │ ├── llm-generator.ts
│ │ ├── supabase.ts
│ │ └── translate.ts
│ ├── types/
│ │ ├── product.ts
│ │ ├── speech.d.ts
| | ├── swiper.d.ts
| | ├── css.d.ts
│ │ └── three-shims.d.ts
│ └── utils/
│ ├── marketplaceScene.ts
│ ├── stallScene.ts
│ └── three-types.ts
├── .gitignore
├── README.md
├── eslint.config.mjs
├── next-i18next.config.js
├── next.config.ts
├── package-lock.json
├── package.json
├── postcss.config.mjs
├── tailwind.config.js
├── tsconfig.json
└── vercel.json
- Sign up as a Seller

- Create your Virtual Stall — personalize it with your bio, banner, and 3D stall view.
- Add products (physical or digital) with descriptions, titles, prices, and categories.
- Collaborate with other artisans or creators for co-selling or combined auctions.
- Showcase Reels — post short videos and product ads to attract buyers.
- Run Live Auctions and engage buyers through real-time bidding.
- Leverage AI Tools for photo enhancement, story generation, and smart pricing.
- Monitor Analytics — view your dashboard to track sales, visitors, and engagement.
- Engage via Chat or group chat with buyers for orders or collaborations.
- Receive Notifications for every sale, bid, or auction activity.
- Multi-language Support to reach buyers from all regions easily.
- Sign up as a Buyer

- Browse the Marketplace — discover heritage products and artisan stories.
- Use Mic Input — speak in your preferred Indian language instead of typing.
- Search Products via Semantic Search (e.g., “Diwali décor”, “painted diyas”).
- Use the AI Shopping Assistant — a RAG chatbot for smart search and help.
- View Product Details — learn the story behind each product with audio narration.
- AR Product Visualization — preview items in your real-world space before buying.
- Explore 3D Bazaar — walk through a virtual marketplace with interactive stalls.
- Add Items to Cart and manage your wishlist or active bids.
- Participate in Live Auctions and compete in leaderboards.
- Send Gifts — choose group or individual gifting with personal messages.
- Request Custom Crafts directly from artisans for personalized creations.
- Follow Artisans and join communities for updates on new collections.
- Get Real-time Notifications for offers, auctions, and purchases.
- Enjoy Smart Recommendations based on preferences and purchase history.
- Multi-language & Audio Support — hear stories, product details, and chatbot responses in any Indian language.
KalaMitra is powered by advanced AI capabilities: 
- AI Photo Enhancement: Instantly improve product images
- AI Story Generation: Automated product storytelling
- Smart Recommendations: ML-powered suggestions for buyers and sellers
- Image Recognition: Automatic product categorization
- Multi-language Support: Built-in translation for Indian languages
All AI features are fully implemented and ready to use!
KalaMitra uses a warm, earthy palette and mandala-inspired backgrounds for a unique, culturally-rich experience. All styles are managed via TailwindCSS and custom global styles.
KalaMitra is ready for deployment on Vercel, Netlify, Railway, or any platform supporting Next.js.
We welcome contributions! Please open issues or pull requests for improvements.
MIT License
Preserving Tradition, Empowering Artisans ✨
