Skip to content

HimanshuMohanty-Git24/OdiaLingua

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

64 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OdiaLingua Logo

🌟 OdiaLingua

AI-Powered Odia Language Assistant

Version License: MIT Maintenance Made with React TypeScript Tailwind CSS

Website GitHub last commit GitHub issues GitHub stars

ମୋ ଭାଷା, ମୋ ଗର୍ବ

(My Language, My Pride)

Revolutionizing Language Accessibility with Advanced Agentic AI Architecture

Buy Me a Coffee


🚀 Live Demo📖 Documentation🛠️ Installation🤝 Contributing


📋 Table of Contents


🎯 Overview

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.

🎨 Latest UI Updates (v2.0.0)

  • 🎨 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

✨ Key Features

🤖 AI-Powered Conversations

  • Natural, context-aware dialogue in Odia
  • Multi-agent system for intelligent responses
  • Real-time information access and synthesis

📊 Native Speech Synthesis

  • High-quality Odia text-to-speech
  • Powered by Sarvam AI's Bulbul-v2 engine
  • Authentic pronunciation and intonation

🎙️ Advanced Speech Recognition

  • Native Odia speech-to-text conversion
  • Powered by Sarvam AI's Saarika v2.5 model
  • Automatic language detection for multilingual speakers
  • Support for multiple audio formats

🌐 Real-Time Information

  • Live data from multiple sources
  • Weather forecasts and current events
  • Google AI Overview integration

💾 Persistent History

  • User-specific conversation storage
  • Automatic intelligent chat titling
  • Cross-device synchronization

🎨 Modern UI/UX

  • Glass-morphism design language
  • Smooth animations and transitions
  • Mobile-first responsive design

🌍 Bilingual Interface

  • Seamless Odia ↔ English UI switching
  • Complete interface translation coverage
  • Helps users of any language background
  • Cultural context preservation

🔒 Enterprise Security

  • OAuth 2.0 authentication
  • End-to-end encryption
  • Privacy-first architecture

🧠 Agentic Architecture

download (3)

Why Agentic? 🤔

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

🤖 Our AI Agent Team

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

🛠️ Technology Stack

Frontend Arsenal 🎨

React TypeScript Vite Tailwind Framer Motion

Backend Powerhouse ⚡

FastAPI Python LangGraph Groq

Cloud & Infrastructure ☁️

Netlify Render Appwrite

🔧 Detailed Tech Breakdown

🎨 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

🎥 Demo & Screenshots

🎬 Video Demonstration

🎥 Full Demo Video

A comprehensive walkthrough showcasing the chat interface, real-time search capabilities, TTS functionality, and mobile responsiveness.

OdiaLingua_DEMO.mp4

📱 Application Screenshots

🏠 Landing Page

1landing page

Modern, responsive homepage with animated hero section and feature highlights

🔐 Authentication Flow

2loginpage

Streamlined OAuth authentication with Google integration

💬 Main Chat Interface

3chatinterface

Intelligent chat with TTS, real-time responses, and conversation management

📱 Mobile Experience

4MobileView

Fully responsive design optimized for mobile devices


🚀 Quick Start

🏃‍♂️ One-Minute Setup

# 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 dev

🌐 Try It Live

Production URL: https://odialingua.netlify.app

Demo Credentials: Use any Google account to sign in


⚙️ Installation

📋 Prerequisites

Node.js 18.0.0+ ✅ LTS Recommended
Python 3.10+ 🐍 For backend
Git Latest 📂 Version control

🎯 Frontend Setup

# 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

🔧 Backend Setup

# 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

🔑 API Keys Setup

🔐 Required API Keys & Setup Guide

🤖 Groq API

  1. Visit Groq Console
  2. Create account and generate API key
  3. Add to GROQ_API_KEY in backend .env

🔍 SerpAPI

  1. Sign up at SerpAPI
  2. Get your API key from dashboard
  3. Add to SERPAPI_API_KEY in backend .env

🌤️ OpenWeatherMap

  1. Register at OpenWeatherMap
  2. Generate free API key
  3. Add to OPENWEATHERMAP_API_KEY in backend .env

🗣️ Sarvam AI

  1. Visit Sarvam AI
  2. Request API access for TTS
  3. Add to SARVAM_API_KEY in backend .env

🗄️ Appwrite

  1. Create project at Appwrite Cloud
  2. Set up database and authentication
  3. Add all Appwrite credentials to both frontend and backend .env

🌍 Deployment

🚀 Production Deployment Status

Service Platform Status URL
Frontend Netlify Website odialingua.netlify.app
Backend Render Website API Endpoint
Database Appwrite Cloud Appwrite Status Cloud Managed

🛠️ Deploy Your Own

🌐 Netlify Deployment (Frontend)
  1. Fork this repository
  2. Connect to Netlify:
    • Go to Netlify
    • Click "New site from Git"
    • Select your forked repository
  3. Configure build settings:
    • Build command: npm run build
    • Publish directory: dist
  4. Set environment variables in Netlify dashboard
  5. Deploy 🚀
☁️ Render Deployment (Backend)
  1. Fork the backend repository
  2. Create new Web Service on Render:
    • Connect your GitHub account
    • Select the backend repository
  3. Configure service:
    • Environment: Python 3
    • Build command: pip install -r requirements.txt
    • Start command: uvicorn app:app --host 0.0.0.0 --port $PORT
  4. Set environment variables in Render dashboard
  5. Deploy 🚀

📊 Performance

🎯 Key Metrics

Metric Score Status
Performance 95/100 Excellent
Accessibility 100/100 Perfect
Best Practices 95/100 Excellent
SEO 100/100 Perfect

⚡ Performance Optimizations

  • 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

🤝 Contributing

We welcome contributions from developers, linguists, and Odia language enthusiasts!

🎯 How to Contribute

👩‍💻 For Developers
  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/AmazingFeature
  3. Make your changes and ensure tests pass
  4. Commit your changes: git commit -m 'Add some AmazingFeature'
  5. Push to branch: git push origin feature/AmazingFeature
  6. 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

📄 License

This project is licensed under the MIT License

License: MIT

See the LICENSE file for details


🙏 Acknowledgments

🏢 Technology Partners

Groq
Ultra-fast LLM Inference
Sarvam AI
Native Odia TTS Engine
Appwrite
Backend-as-a-Service
Netlify
Frontend Hosting

🌟 Special Thanks

  • 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

👏 Community Impact

"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."


🌟 Star History

Star History Chart


Built with ❤️ for the Odia community by Himanshu Mohanty

GitHub LinkedIn Portfolio Twitter


⭐ Don't forget to star this repository if you found it helpful!

About

OdiaLingua is an innovative AI-powered chatbot platform designed to preserve and promote the Odia language. It features natural conversations, real-time information, and authentic text-to-speech capabilities, making Odia language accessible through modern technology.

Topics

Resources

License

Stars

Watchers

Forks

Contributors