Back to Projects

Sol — Spanish Tutor

Voice-First Language App · React Native · Expo · TypeScript

Project Overview

Sol is an AI-powered Spanish tutor that lets you practice the way people actually speak — by talking. Hold the mic button, speak in Spanish or English, and Sol transcribes your speech, replies in character, corrects mistakes with humour, and reads responses aloud with a natural Neural2 voice.

The app runs on phone, tablet, and desktop browser from a single React Native / Expo codebase, with platform-specific audio handling on native (expo-av) and web (MediaRecorder).

Key Features

  • Push-to-talk — hold the mic to record, release to send
  • Bilingual input — Whisper auto-detects Spanish vs English
  • 70+ role-play scenarios — restaurant, airport, job interview, and more
  • Smart corrections — gentle fixes for small mistakes, dramatic ones for big ones
  • Neural TTS — Google Cloud Neural2 voices for natural Spanish playback
  • Responsive UI — animated chat bubbles, typing indicator, adaptive layout

Architecture

User speech is recorded and sent to Groq Whisper for transcription and language detection. The transcript goes to LLaMA 3.1 with a structured JSON system prompt (Spanish reply, English translation, optional correction). The UI renders chat bubbles while Google Neural2 TTS speaks the Spanish response.

Core logic lives in src/services/ (Groq + Google TTS), with reusable hooks for recording and responsive layout. Scenario definitions are data-driven in src/data/scenarios.ts.

My Role

Solo developer on this project. I was responsible for:

  • Building the cross-platform push-to-talk audio pipeline
  • Integrating Groq Whisper and LLaMA with structured tutor prompts
  • Implementing Google Cloud Neural2 text-to-speech playback
  • Designing 70+ immersive role-play scenarios
  • Creating animated chat UI and responsive layout hooks
  • Configuring Expo for web, iOS, and Android from one codebase

Technologies Used

React Native Expo TypeScript Groq Whisper LLaMA 3.1 Google TTS expo-av

Repository

Synced from SpanishTutor — click folder names or ▶ arrows to expand. Use Expand all / Collapse all in the toolbar.