Revolutionizing Language Accessibility with Advanced Agentic AI Architecture
🚀 Live Demo • 📖 Documentation • 🛠️ Installation • 🤝 Contributing
- 🎯 Overview
- ✨ Key Features
- 🧠 Agentic Architecture
- 🛠️ Technology Stack
- 🎥 Demo & Screenshots
- 🚀 Quick Start
- ⚙️ Installation
- 🌍 Deployment
- 📊 Performance
- 🤝 Contributing
- 📄 License
- 🙏 Acknowledgments
OdiaLingua is a cutting-edge, AI-powered conversational platform designed exclusively for Odia speakers. Born from a vision to break down language barriers, it has evolved from a simple prototype into a full-stack, production-ready application powered by a sophisticated multi-agent AI system.
🌟 What makes it special? Unlike traditional chatbots, OdiaLingua uses an intelligent agentic architecture that delegates tasks to specialized AI agents, ensuring maximum accuracy and efficiency for every user query.
- 🎨 Complete Visual Overhaul: Modern glass-morphism design with smooth animations
- 📱 Mobile-First Responsive Design: Seamless experience across all devices
- 🌙 Advanced Theme System: Auto-switching dark/light modes with system preference detection
- ⚡ Real-time Message Streaming: Live typing indicators and smooth message transitions
- 🎯 Enhanced Navigation: Intuitive sidebar with conversation management
- 📊 Improved TTS Integration: One-click audio playback with visual feedback
- 💾 Smart Session Management: Auto-save with intelligent conversation titling
- 🎭 Framer Motion Animations: Fluid micro-interactions throughout the interface
|
|
|
|
|
|
|
|
|
Instead of a monolithic LLM handling everything, our LangGraph-powered multi-agent system uses specialized AI agents for different tasks. This approach delivers:
- 🎯 Higher Accuracy: Each agent is optimized for specific tasks
- ⚡ Better Performance: Parallel processing and intelligent routing
- 🔧 Easy Scalability: Add new capabilities without disrupting existing logic
- 🛡️ Improved Reliability: Fault isolation and graceful error handling
| Agent | Role | Capabilities |
|---|---|---|
| 🎯 Query Router | Traffic Controller | Analyzes queries and routes to appropriate specialists |
| 🔍 Research Agent | Information Gatherer | Real-time search, fact verification, current events |
| 🌤️ Weather Agent | Meteorologist | Live weather data, forecasts, climate information |
| 💬 General Chat Agent | Conversationalist | Natural dialogue, cultural context, general knowledge |
| ✨ Response Synthesizer | Communication Expert | Crafts coherent Odia responses from agent outputs |
| 📝 Title Agent | Conversation Organizer | Generates descriptive chat titles automatically |
🎨 Frontend Stack
- React 18 - Latest React with Concurrent Features
- TypeScript - Type-safe development
- Vite - Lightning-fast build tool
- Tailwind CSS - Utility-first CSS framework
- Framer Motion - Production-ready motion library
- Radix UI - Unstyled, accessible components
- React Router 6 - Declarative routing
- React Hot Toast - Elegant notifications
⚡ Backend Architecture
- FastAPI - Modern, fast web framework
- LangGraph - Multi-agent orchestration
- Groq LPU - Ultra-fast LLM inference
- Sarvam AI - Native Odia TTS engine
- SerpAPI - Real-time search integration
- OpenWeatherMap - Weather data provider
🗄️ Data & Authentication
- Appwrite Database - NoSQL document storage
- Appwrite Auth - OAuth 2.0 authentication
- Real-time Subscriptions - Live data updates
- User Session Management - Persistent conversations
🎥 Full Demo Video
A comprehensive walkthrough showcasing the chat interface, real-time search capabilities, TTS functionality, and mobile responsiveness.
OdiaLingua_DEMO.mp4
Modern, responsive homepage with animated hero section and feature highlights
Streamlined OAuth authentication with Google integration
Intelligent chat with TTS, real-time responses, and conversation management
Fully responsive design optimized for mobile devices
# Clone the repository
git clone https://github.com/HimanshuMohanty-Git24/OdiaLingua.git
cd OdiaLingua
# Install dependencies
npm install
# Set up environment variables (see .env.example)
cp .env.example .env.local
# Start development server
npm run devProduction URL: https://odialingua.netlify.app
Demo Credentials: Use any Google account to sign in
| Node.js | 18.0.0+ |
✅ LTS Recommended |
| Python | 3.10+ |
🐍 For backend |
| Git | Latest |
📂 Version control |
# 1. Navigate to project directory
cd OdiaLingua
# 2. Install dependencies
npm ci # Use ci for production-like install
# 3. Configure environment variables
cat > .env.local << EOF
VITE_APPWRITE_ENDPOINT=https://cloud.appwrite.io/v1
VITE_APPWRITE_PROJECT_ID=your_project_id
VITE_APPWRITE_REDIRECT_SUCCESS=http://localhost:5173/chat
VITE_APPWRITE_REDIRECT_FAILURE=http://localhost:5173/login
VITE_BACKEND_URL=http://localhost:5000
EOF
# 4. Start development server
npm run dev
# 5. Build for production
npm run build# 1. Clone backend repository
git clone https://github.com/HimanshuMohanty-Git24/OdiaLinguaBackend.git
cd OdiaLinguaBackend
# 2. Create virtual environment
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
# 3. Install dependencies
pip install -r requirements.txt
# 4. Configure environment variables
cat > .env << EOF
GROQ_API_KEY="your_groq_api_key"
GROQ_MODEL="llama3-70b-8192"
SERPAPI_API_KEY="your_serpapi_key"
OPENWEATHERMAP_API_KEY="your_openweathermap_key"
SARVAM_API_KEY="your_sarvam_api_key"
SARVAM_TTS_LANG_CODE="od-IN"
APPWRITE_ENDPOINT="https://cloud.appwrite.io/v1"
APPWRITE_PROJECT_ID="your_project_id"
APPWRITE_API_KEY="your_appwrite_server_key"
APPWRITE_DATABASE_ID="your_database_id"
APPWRITE_COLLECTION_ID="your_collection_id"
CORS_ORIGINS="http://localhost:5173,http://localhost:5000"
EOF
# 5. Start development server
uvicorn app:app --reload --port 5000🔐 Required API Keys & Setup Guide
- Visit Groq Console
- Create account and generate API key
- Add to
GROQ_API_KEYin backend .env
- Sign up at SerpAPI
- Get your API key from dashboard
- Add to
SERPAPI_API_KEYin backend .env
- Register at OpenWeatherMap
- Generate free API key
- Add to
OPENWEATHERMAP_API_KEYin backend .env
- Visit Sarvam AI
- Request API access for TTS
- Add to
SARVAM_API_KEYin backend .env
- Create project at Appwrite Cloud
- Set up database and authentication
- Add all Appwrite credentials to both frontend and backend .env
| Service | Platform | Status | URL |
|---|---|---|---|
| Frontend | Netlify | odialingua.netlify.app | |
| Backend | Render | API Endpoint | |
| Database | Appwrite Cloud | Cloud Managed |
🌐 Netlify Deployment (Frontend)
- Fork this repository
- Connect to Netlify:
- Go to Netlify
- Click "New site from Git"
- Select your forked repository
- Configure build settings:
- Build command:
npm run build - Publish directory:
dist
- Build command:
- Set environment variables in Netlify dashboard
- Deploy 🚀
☁️ Render Deployment (Backend)
- Fork the backend repository
- Create new Web Service on Render:
- Connect your GitHub account
- Select the backend repository
- Configure service:
- Environment:
Python 3 - Build command:
pip install -r requirements.txt - Start command:
uvicorn app:app --host 0.0.0.0 --port $PORT
- Environment:
- Set environment variables in Render dashboard
- Deploy 🚀
- Code Splitting: Automatic route-based chunking
- Image Optimization: WebP format with lazy loading
- CDN Integration: Global content delivery
- Caching Strategy: Aggressive static asset caching
- Bundle Size: < 500KB gzipped main bundle
We welcome contributions from developers, linguists, and Odia language enthusiasts!
👩💻 For Developers
- Fork the repository
- Create a feature branch:
git checkout -b feature/AmazingFeature - Make your changes and ensure tests pass
- Commit your changes:
git commit -m 'Add some AmazingFeature' - Push to branch:
git push origin feature/AmazingFeature - Open a Pull Request
Development Guidelines:
- Follow TypeScript best practices
- Use Prettier for code formatting
- Write meaningful commit messages
- Add tests for new features
- Update documentation
🗣️ For Language Experts
- Translation Improvements: Help refine Odia translations
- Cultural Context: Suggest culturally appropriate responses
- Voice Quality: Provide feedback on TTS pronunciation
- Content Review: Review AI-generated Odia content for accuracy
📚 For Content Creators
- Documentation: Improve README, guides, and tutorials
- Examples: Create usage examples and demos
- Blog Posts: Write about the project and its impact
- Videos: Create tutorial or demonstration videos
- OdiaGenAI.org - Pioneering Odia language AI research
- The Odia Developer Community - For inspiration and support
- Open Source Contributors - Making this project possible
- Early Beta Users - Providing valuable feedback
"By making AI accessible in Odia, we're not just building an app - we're preserving and promoting our rich linguistic heritage for future generations."
Built with ❤️ for the Odia community by Himanshu Mohanty
⭐ Don't forget to star this repository if you found it helpful!
