Side ProjectFebruary 10, 20265 min read
Building a Spanish Learning App for Engineers Abroad
My journey building a personalized Spanish vocabulary app with Flask, audio playback, and a dark-mode mobile interface — tailored for engineering professionals.
FlaskSpanishLearningWeb AppMobile
Why Build Another Language App?
Existing apps like Duolingo are great for general vocabulary, but they don't cover the technical Spanish I need daily: construction safety terms, electrical engineering vocabulary, and project management phrases.
Design Philosophy
- Dark mode only — Better for late-night study sessions
- Audio-first — Every word has native pronunciation
- Spaced repetition — Based on the forgetting curve
- Context-based learning — Words grouped by real workplace scenarios
Technical Stack
- Flask — Lightweight Python backend
- SQLite — Simple, portable database
- Vanilla JS + Tailwind CSS — Clean frontend
- Edge-TTS — Natural Spanish voice synthesis
Key Features
Category-Based Vocabulary
Words are organized by real scenarios:
- Site Safety Inspection
- Electrical Systems
- Emergency Procedures
- Project Coordination
- Daily Communication
Audio Generation
import edge_tts
async def generate_audio(text, filename):
communicate = edge_tts.Communicate(
text, "es-AR-AlvaroNeural"
)
await communicate.save(filename)
Using Argentine Spanish voice for authenticity!
What I Learned
Building this app reinforced my own Spanish learning. The process of curating vocabulary, recording examples, and building the spaced-repetition algorithm deepened my understanding of both the language and the pedagogy behind language acquisition.