UESL Foundation — CSP Capstone Project
How our team built an AI chatbot, accessible game engine, and social platform to extend UESL's mission for individuals with intellectual and developmental disabilities across San Diego.
UESL Foundation Platform
Sathwik Kintada · Rudra B Joshi · Darshan
A working prototype built for UESL Foundation — a nonprofit supporting individuals with intellectual and developmental disabilities through esports and STEM. The platform consists of three live components: an AI chatbot, an accessible game engine, and a social hub, all backed by a shared user management system.
View Live Platform ↗- Static website — no interactive features for participants
- Program inquiries require phone or email; 24–72 hr response gap
- No online games — participation locked to physical arenas
- Community dissolves between sessions with no persistent space
- AI chatbot answers program questions instantly, 24/7, in English and Spanish
- Game engine with 8 IDD-specific accessibility modes — playable from any device
- Social platform keeping participants connected and competing year-round
- Real-time multiplayer and leaderboards for inclusive online competition
Extended Information ▼
- No chatbot — users must call or email staff
- 24–72 hour response gap for basic questions
- No support outside business hours
- English-only communication channels
- High drop-off for families unfamiliar with the org
- UESLCoach — in-game AI enemy (Gemini 2.5 Flash) that chases the player and generates live trash-talk taunts every ~4.5 s based on real-time game context
- AI NPCs — conversational characters (Gemini 2.5 Flash) with personality templates and full multi-turn conversation history
- General chat — Groq LLaMA 3.3-70b pre-loaded with UESL context for instant program, eligibility, and scheduling answers
- Available 24/7 — no staff required for common inquiries
- Bilingual support in English and Spanish
- No playable games of any kind online
- Esports participation requires physical attendance at an arena
- No accessibility accommodations for online play
- Participants cannot create or share their own games
- Fully playable browser game engine — pure ES modules on HTML Canvas, zero external framework
- Drag-and-drop Game Maker — place platforms, enemies, coins, and goals; save to server by name, re-save overwrites cleanly
- Community gallery (
/api/game/shared) — browse and launch anyone's published game, no login required - Per-game top-10 leaderboard (best-score-only enforcement) + live session scoreboard via Socket.IO
- 4 input modes + 8 IDD-specific accessibility settings built into the engine from the ground up
- No online community space of any kind
- Participant relationships exist only during in-person sessions
- No leaderboards, scores, or competitive tracking online
- No multiplayer — competition requires physical co-location
- Community engagement drops to zero between events
- Friends system with live online presence via heartbeat (green dot = active in last 5 min)
- Direct messages with text, emoji, and base64 image attachments
- 2-player co-op multiplayer — WebSocket rooms sync position every frame, relay star/level events in real time
- Per-game comments (max 500 chars, owner or Admin can delete) and top-10 leaderboards
- Auth: password + 6-digit SMTP OTP (10-min TTL) or Google OAuth; JWT HS256 cookie with role-based access
⚠ Known Bugs (8 open) ▼
Head-movement baseline drifts during long sessions causing unintended inputs; requires manual page reload to reset
Touch-scroll vs. tile-place disambiguation broken on small screens — editor misreads scrolls as tile placements
Ambient noise occasionally triggers jump/move commands while the microphone is open
Counters jump straight to their final value instead of animating up on slow connections
Game Builder iframe clips at viewport widths between 768–900px
Google Translate widget doesn't persist user selection — defaults back to Hindi on every page load
Spline-based enemy paths behave erratically with tight curves or many control points
Player sprite is locked to one character in the level editor despite the code supporting multiple options
The three components are one connected system — users onboard through the chatbot, engage through gameplay, and stay through community. Together they remove the ceiling on UESL's impact: no venue limits, no language barriers, no off-season disengagement.