Skip to content

yashwanthjack/Transit-AI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🚍 VoiceTransit AI

The GenAI-Powered Multilingual Smart Bus Tracking System

VoiceTransit AI is a next-generation public transport solution designed to make commuting accessible for everyone. By combining real-time GPS tracking with Generative AI and Multilingual Voice Support, it empowers users to track buses, ask natural language questions, and receive voice updates in their native language—bridging the digital divide for non-tech-savvy and visually impaired users.


🌟 Key Features

  • 📍 Real-Time Live Tracking: Interactive map interface showing live bus locations, routes, and ETAs.
  • 🤖 AI Bus Assistant: Powered by Perplexity AI & ElevenLabs, giving users the ability to ask natural questions like "Where is bus 12?" and hear the answer back.
  • 🗣️ Multilingual Voice Support: Full support for English, Hindi, and Tamil. Users can even receive phone calls with bus status updates in their preferred language via Twilio.
  • 🎨 Premium Glassmorphism UI: A sleek, modern interface with dark mode support, smooth animations (Framer Motion), and a clutter-free design.
  • 📱 Accessibility First: Voice-first interactions designed for users who cannot read maps or use complex apps.

🛠️ Technology Stack

  • Frontend: React.js, Leaflet (Maps), Framer Motion (Animations), Lucide React (Icons), CSS Modules.
  • Backend: FastAPI (Python), Uvicorn.
  • AI & Services:
    • Perplexity AI: For Natural Language Understanding and Translation.
    • ElevenLabs: For hyper-realistic Text-to-Speech (TTS).
    • Twilio API: For programmable voice calls and IVR.

🚀 Getting Started

Follow these steps to run the project locally.

Prerequisites

  • Node.js & npm installed.
  • Python 3.8+ installed.
  • API Keys for Perplexity, ElevenLabs, and Twilio.

1️⃣ Backend Setup

Navigate to the backend directory and activate the virtual environment:

cd busroute/backend

# Windows
python -m venv venv
.\venv\Scripts\activate

# Install dependencies
pip install -r requirements.txt

Configure Environment Variables: Create a .env file in busroute/backend/ and add:

PERPLEXITY_API_KEY=your_key_here
ELEVENLABS_API_KEY=your_key_here
TWILIO_ACCOUNT_SID=your_sid
TWILIO_AUTH_TOKEN=your_token
TWILIO_PHONE_NUMBER=your_twilio_number
VERIFIED_NUMBER=your_personal_number
NGROK_URL=your_ngrok_url

Run the Server:

uvicorn main:app --reload

The backend will start at http://127.0.0.1:8000

2️⃣ Frontend Setup

Open a new terminal and navigate to the client directory:

cd busroute/busroute-client

# Install dependencies
npm install

# Start the application
npm start

The app will open at http://localhost:3000


📞 Virtual Telephony (Optional)

To enable voice calls, you must expose your local backend to the internet using Ngrok:

ngrok http 8000

Copy the generated URL (e.g., https://xxxx.ngrok-free.app) and update the NGROK_URL in your .env file.


📜 License

This project is open-source and free to use for educational purposes.


Built with ❤️ by the Yashwanth R

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published