NeuraPlay is a comprehensive AI-powered game coaching platform that provides real-time analysis and personalized coaching for gamers. Using advanced AI and voice technology, NeuraPlay helps players improve their skills in popular games like League of Legends and FIFA/EA FC.
- Real-time Voice Analysis - Speak your gameplay issues and get instant AI feedback
- Multi-Game Support - League of Legends and FIFA/EA FC coaching
- Structured Advice - Top tips, training drills, and performance ratings
- Voice Responses - Audio coaching with Text-to-Speech technology
- Web Dashboard - Full-featured React application with voice interface
- Browser Extension - Automatic analysis from gaming websites (OP.GG, U.GG, Futbin)
- Responsive Design - Works seamlessly on desktop and mobile devices
- Serverless Architecture - Deployed on Google Cloud Run for scalability
- Real-time Processing - WebSocket support for live voice analysis
- Secure Authentication - Firebase Auth with JWT tokens
- Modern Tech Stack - React, Django, Gemini AI, and Cloud Services
Client Applications โ Django Backend (Cloud Run) โ AI Services โ Data Storage
โ โ โ โ
โ โ โ โโโ Firebase Firestore (Analysis History)
โ โ โ โโโ Firebase Auth (User Management)
โ โ โ
โ โ โโโ Gemini AI (Game Analysis & Coaching)
โ โ โโโ Speech-to-Text (Voice Transcription)
โ โ โโโ Text-to-Speech (Audio Responses)
โ โ
โโโ React Frontend (Web Dashboard)
โโโ Browser Extension (Game Data Capture)
neuraplay-cloudrun/
โโโ neuraplay/ # Django Backend
โ โโโ analysis/ # Game analysis logic
โ โโโ neuraplay_ai/ # AI services (Gemini, STT, TTS)
โ โโโ manage.py
โโโ neuraplay-app/ # React Frontend
โ โโโ src/
โ โ โโโ components/ # VoiceInput, LoginButton
โ โ โโโ firebase/ # Firebase configuration
โ โ โโโ store/ # State management
โ โโโ package.json
โโโ neuraplay-extension/ # Chrome Browser Extension
โ โโโ content/ # Page scraping scripts
โ โโโ background/ # Service worker
โ โโโ popup/ # Extension interface
โ โโโ manifest.json
โโโ README.md # This file
- Node.js 22+
- Python 3.11+
- Google Cloud Project
- Firebase Project
- Backend Setup (Django)
# Clone the repository
git clone https://github.com/Oluwaseyi89/neuraplay-cloudrun.git
cd neuraplay-cloudrun/neuraplay
# Set up Python environment
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt
# Set environment variables
cp .env.example .env
# Configure: GEMINI_API_KEY, FIREBASE_CREDENTIALS_BASE64, etc.
# Run migrations
python manage.py migrate
# Start development server
python manage.py runserver- Frontend Setup (React)
cd ../neuraplay-app
# Install dependencies
npm install
# Configure environment
cp .env.example .env
# Set VITE_API_BASE_URL, Firebase config values
# Start development server
npm run dev- Browser Extension Setup
cd ../neuraplay-extension
# Load in Chrome:
# 1. Open chrome://extensions/
# 2. Enable "Developer mode"
# 3. Click "Load unpacked"
# 4. Select neuraplay-extension folder- Open Web Dashboard - Access the React frontend
- Select Game - Choose FIFA or League of Legends
- Speak Your Issue - "I keep missing through passes in FIFA"
- Get AI Analysis - Receive structured coaching with audio response
- Install Extension - Add to Chrome browser
- Visit Gaming Sites - OP.GG, U.GG, or Futbin
- Automatic Analysis - Get instant coaching based on your stats
- View Overlay - See tips and ratings directly on the page
- Review past coaching sessions
- Track performance improvements
- Access previous tips and drills
POST /api/analyze/lol/- League of Legends voice analysisPOST /api/analyze/fifa/- FIFA voice analysisPOST /api/process-voice-input/- Unified voice processing
GET /api/analyses/recent/lol/- Recent LoL analysesGET /api/analyses/recent/fifa/- Recent FIFA analyses
POST /api/analyze/browser-stats/- Process scraped game data
- Framework: Django 4.2 + Django REST Framework
- AI/ML: Google Gemini 1.5, Speech-to-Text, Text-to-Speech
- Cloud: Google Cloud Run, Firebase Firestore & Auth
- Real-time: Django Channels (WebSocket)
- Web Dashboard: React 18, TypeScript, Tailwind CSS
- Browser Extension: Manifest V3, Chrome APIs
- Authentication: Firebase Auth
- State Management: Zustand
- Google AI: Gemini, Speech-to-Text, Text-to-Speech
- Firebase: Authentication, Firestore Database
- Cloud Run: Serverless Container Deployment
- JWT Authentication - Secure user sessions with Firebase Auth
- Data Encryption - All communications over HTTPS
- Privacy First - No personal data stored unnecessarily
- User Isolation - Data separation by Firebase UID
- Response Time: <5 seconds for voice analysis
- Scalability: Auto-scaling with Google Cloud Run
- Concurrency: Supports multiple simultaneous users
- Availability: 99.9% target with graceful degradation
# Deploy to Google Cloud Run
REDIS_IP=$(gcloud redis instances describe neuraplay-redis --region=us-central1 --format="value(host)");
echo "New Redis IP: $REDIS_IP";
gcloud run deploy neuraplay-service \
--source . \
--platform managed \
--region us-central1 \
--allow-unauthenticated \
--set-env-vars="GEMINI_API_KEY=$GEMINI_API_KEY" \
--set-env-vars="FIREBASE_CREDENTIALS_BASE64=$FIREBASE_CREDENTIALS_BASE64" \
--port=8080 \
--cpu=1 \
--memory=1Gi \
--min-instances=1 \
--timeout=300s npm run build
docker build -t neuraplay-app .
gcloud run deploy neuraplay-app \
--source . \
--region us-central1 \
--platform managed \
--allow-unauthenticated- Package as .crx file for Chrome Web Store
- Or load unpacked for development
- KDA analysis and strategy coaching
- Objective control and macro decisions
- Champion-specific advice and drills
- Vision control and map awareness
- Formation and tactical analysis
- Passing and shooting mechanics
- Defensive organization
- Set piece strategies