Agentic Sports Infrastructure Discovery & Booking Platform for Lucknow
SportSphere AI is an intelligent sports concierge designed to solve sports facility fragmentation in Lucknow. Users can interact with the platform in plain English, and a backend multi-agent system discovers, ranks, and coordinates slot bookings in real-time.
- Team Name:
GEEROH - Team Members:
- Mukesh Kumar - Full Stack & LLM Orchestration
- Deepa Tiwari - Agent Architecture & Backend API
- Aryaman Patel - Frontend UI/UX Design
Lucknow's sports spaces—ranging from badminton courts in Gomti Nagar to turf nets in Chinhat—are highly fragmented. Users struggle with:
- Fragmented discovery across multiple WhatsApp groups, calls, and websites.
- Inefficient coordinate mapping for local neighborhoods.
- Complex booking and reservation systems.
SportSphere AI provides a single chat interface and interactive map to solve this by coordinating specialized agents on the backend (Discovery, Recommendation, Booking, and Cancellation).
Refer to architecture.md for detail.
- Natural Language Parsing: Google Gemini (gemini-1.5-flash) acts as the intent classifier and parameter extractor.
- Lightweight Agentic Core:
- Discovery Agent: Filters sports venues based on sport, budget, location, and skill.
- Recommendation Agent: Multi-criteria scoring algorithm based on affordability, location distance, and skill match.
- Booking Agent: Automates reservation validation and slot locking.
- Cancellation Agent: Processes slot release commands safely.
- State Layer: In-memory database stores active bookings dynamically during development.
- Conversational Discovery: Express search preferences in natural language (e.g., "Find beginner badminton under ₹200 near Gomti Nagar").
- Lightweight Agent Core: Multi-agent orchestration layer ranking facilities.
- Interactive Neighborhood Maps: Coordinates grid representing Gomti Nagar, Chinhat, and Aliganj with clickable markers.
- Instant Booking Flow: Confirm slots with immediate receipt generation.
- Immediate Cancellations: Cancel scheduled slots on the fly with immediate server updates.
- Frontend: React (Vite), Tailwind CSS, Lucide React (Icons).
- Backend: FastAPI (Python), Uvicorn.
- AI Stack: Google Generative AI (Gemini SDK), python-dotenv.
- ChatGPT: Used for initial brainstorming, requirements gathering, and copywriting/marketing guidelines.
- Gemini: Used for creating the multi-criteria agent scoring logic and debugging FastAPI route handlers.
- GitHub Copilot: Used for autocompleting JSX structure, Tailwind layout grids, and interactive SVG mapping assets.
- Node.js 18+
- Python 3.10+
- Open a terminal in the project directory.
- Navigate to the backend folder:
cd backend - Create and activate a Python virtual environment:
python -m venv venv # On Windows: .\venv\Scripts\activate # On macOS/Linux: source venv/bin/activate
- Install Python dependencies:
pip install -r requirements.txt
- Create
.envfile from the sample:cp .env.example .env # Or on Windows PowerShell: copy .env.example .env - Add your Google Gemini API Key inside
.env:GEMINI_API_KEY=AIzaSy...
- Start the FastAPI backend server:
uvicorn app:app --reload --port 8000
- In a new terminal, from the root folder
agent-apl: - Install npm packages:
npm install
- Start the Vite development server:
npm run dev
- Open the displayed URL (usually
http://localhost:5173) in your browser.
- Volatile Storage: Bookings are stored in-memory in the FastAPI application and clear upon server restart.
- Mock Maps Key: The tactical maps container coordinates are pre-configured locally.
- Postpaid Checkout: Slot reservations do not include a live payment gateway integration.
- LangGraph Multi-Agent Orchestration: Maintain complex dialog memories and automated slot negotiation.
- Supabase Integration: Permanent PostgreSQL storage for user accounts, booking records, and venue metadata.
- Real-Time Map SDKs: Integrate Google Maps API Loader to fetch actual travel times and traffic conditions.
(Visuals showing the interface, interactive neighborhood maps, and live chat dialogs)