Crafting experience...
10/26/2025
A Project Made By
Gianna Fernandez
Engineer
Caio Miyake
Engineer
Karson Henry
Engineer
Nicholas Greiner
Other
Logan Brown
Engineer
Submitted for
Built At
Gator Hack IV
Hosted By
Visit https://gatorgabber.vercel.app/
If it’s been idle ~ for 30 minutes, the first response might take up to ~50 seconds, cold start. After that, it's smooth sailing.
What is the problem you are trying to solve? Who does it affect?
The University of Florida Spanish department emphasizes active practice and verbal speaking as crucial components for language development. However, students in beginner to intermediate courses (SPN1130-2201) face limited opportunities for one-on-one conversation practice outside of class time. While the curriculum prioritizes oral proficiency, students struggle to find accessible speaking partners who can adapt to their specific course level, provide immediate feedback, and reference their course materials.
This gap between the department's focus on verbal practice and the practical availability of conversation partners hinders student progress and confidence in speaking Spanish.
What is your idea? How does it fix the problem?
Gator Gabber bridges the gap between UF's Spanish curriculum goals and student practice opportunities by providing an AI-powered conversation partner aligned with the department's emphasis on oral proficiency. The application features
Course-Aligned Difficulty Levels: Five modes (General, SPN1130, SPN1131, SPN2200, SPN2201) that mirror UF's Spanish course progression, adjusting vocabulary complexity, grammar usage, and conversation style to match each course's learning objectives
Oral Practice Tools: Text-to-speech for pronunciation modeling, speech-to-text for speaking practice with immediate feedback, and syllable breakdowns to help students master difficult words - directly supporting the department's verbal communication goals
RAG-Enhanced Responses (SPN1130): Retrieval-Augmented Generation that can reference actual UF course materials (vocabulary lists, grammar guides) to ensure responses align with what students are learning in class
Voice Customization: Adjustable speed, pitch, and voice selection to accommodate different learning styles and speaking practice needs
How do all the pieces fit together? Does your frontend make requests to your backend? Where does your database fit in?
Frontend (React + Vite)
User interface optimized for conversation flow with chat bubbles and speaking controls
Web Speech API for browser-native STT and TTS to help verbal practice
Action buttons (Repeat, Slow, Translate, Syllables) that support different aspects of oral learning
Settings panel for voice customization to match student preferences
Backend (FastAPI + Python)
REST API endpoints (api/chat, api/translate)
Dynamic system prompt generation that mirrors UF course expectations
OpenAI GPT integration is trained to act as a conversation partner
Potential to load course PDFs (Vocab, grammar, cultural content)
Creates searchable embeddings of course materials
Retrieves relevant content to ensure responses align with course curriculum
Augments prompts with course-specific information that students are actually studying
What did you struggle with? How did you overcome it?
Challenge: Needed to ensure the AI's Spanish matched what students are learning in each specific UF course, beginners shouldn't hear advanced grammar, and intermediate students need appropriate challenges
Solution: Created custom system prompts for each course level (SPN1130-2201) that specify vocabulary complexity, verb tenses, and conversation topics appropriate for that stage in UF's curriculum
2. Making Course Materials Searchable
Challenge: Students needed answers that reference their actual e-textbooks and course handouts, not just generic Spanish knowledge
Solution: Implemented RAG (Retrieval-Augmented Generation) with ChromaDB to potentially index course PDFs, enabling the AI to pull specific vocabulary lists, grammar rules, and examples that students are studying
3. Python Version Compatibility (3.14 vs 3.11)
Challenge: Python 3.14 sucks, no pre-built wheels for dependencies like ChromaDB, causing 10-15 minute compilations that disrupted development
Solution: Discovered Python 3.11 was already installed locally, used py -3.11 to force that version, reduced install time to 30 seconds, and improved development workflow (TIME IS OF THE ESSENCE!)
What did you learn? What did you accomplish?
Supporting UF's Language Learning Goals:
Built a tool that directly addresses the Spanish department's emphasis on oral practice
Created course-specific modes that align with UF's SPN1130-2201 curriculum progression
potential to integrate actual course materials so students can practice with familiar vocabulary and grammar
RAG implementation
Web Speech API
Adaptive AI systems
Security
What are the next steps for your project? How can you improve it?
Expanding Course Coverage:
Index All UF Spanish Courses: Add RAG support for SPN1130, SPN1131, 2200, 2201 with their specific course materials
Cultural Content Integration: Include cultural readings and topics from UF's curriculum to broaden conversation themes
Homework Support: Allow students to practice specific assignments (e.g., "help me practice restaurant ordering vocabulary from Chapter 3")
Advanced TTS Models: Integrate higher-quality text-to-speech engines (e.g., ElevenLabs, Azure Neural TTS) for more natural, native-sounding Spanish
Private AI Model on UF Data: Develop a fine-tuned language model trained specifically on UF's Spanish curriculum, teaching materials, and pedagogical approach - ensuring complete data privacy and course-specific optimization
Conversation Scenarios: Pre-built role-plays matching common oral exam topics (introducing yourself, describing family, discussing hobbies)
Speaking Time Tracker: Gamify practice by tracking minutes spent speaking Spanish