Back to Projects

AI & Mobile

LAI

AI-powered conversational language learning app with realistic voice interactions and speaking experiences.

Overview

As part of the LAI developer team, I contributed to building LAI (Language AI), a comprehensive language learning platform consisting of a backend API server and a React Native mobile application. The platform enables users to practice speaking and conversing in their target language through interactive conversations with an AI tutor. The system integrates multiple third-party services including OpenAI for conversation generation, ElevenLabs for text-to-speech, AWS S3 for audio storage, RevenueCat for payment processing, and Firebase for push notifications.

The mobile application provides a native iOS and Android experience with features including voice input (speech-to-text), audio playback, structured learning paths, progress tracking, and in-app purchases. The backend serves as the core API, handling AI interactions, user management, payment processing, and data persistence.

Architecture

The application follows a domain-driven design pattern, organizing code by business domains including authentication, conversation management, user profiles, learning roadmaps, payment processing, and notifications. The backend is built with Node.js, Express.js, TypeScript, and MongoDB, while the mobile app uses React Native with Expo for cross-platform development.

graph TB
    Mobile[Mobile App<br/>React Native] -->|REST API| Backend[Backend API<br/>Express.js]
    Mobile -->|WebSocket| Backend
    Backend -->|AI Generation| OpenAI[OpenAI GPT-4o]
    Backend -->|Text-to-Speech| ElevenLabs[ElevenLabs]
    Backend -->|Audio Storage| S3[AWS S3]
    Backend -->|Payments| RevenueCat[RevenueCat]
    Backend -->|Notifications| Firebase[Firebase]
    Backend -->|Data Storage| MongoDB[(MongoDB)]

Key Features

  • AI-Powered Conversations: Real-time conversations with GPT-4o that adapt to user's learning level and provide context-aware language practice
  • Voice Interaction: Speech-to-text input for speaking practice and high-quality audio playback using ElevenLabs for listening comprehension
  • Structured Learning: Roadmap items organized by difficulty levels (Beginner to Advanced) with vocabulary and grammar focus
  • Progress Tracking: Conversation evaluation system that assesses language accuracy, vocabulary usage, and grammar correctness
  • Gamification: Streak system and points tracking to encourage daily practice
  • Multi-language Support: Supports 8 languages (English, Spanish, French, German, Italian, Portuguese, Russian, Turkish) for both learning and UI

Technology Stack

Backend: Node.js, Express.js, TypeScript, MongoDB, Mongoose, JWT authentication, bcrypt
Mobile: React Native, Expo, React Navigation, Zustand, React Query, React Native Voice, RevenueCat
AI Services: OpenAI GPT-4o, ElevenLabs text-to-speech
Cloud Services: AWS S3, Firebase Cloud Messaging, Resend (email)
Payment: RevenueCat for in-app purchases and subscription management

Technical Highlights

The backend implements a sophisticated conversation flow where GPT-4o generates contextual responses based on roadmap item context, required vocabulary, and grammar focus points. Each AI response is converted to natural-sounding audio using ElevenLabs and stored in AWS S3. The system tracks API usage (GPT tokens and ElevenLabs characters) and deducts costs from user balance in real-time, with a 20% commission markup.

The mobile app features a module-based architecture with separate modules for authentication, conversations, home/roadmap, profile, progress tracking, and store. It uses React Query for server state management and Zustand for client state, ensuring efficient data synchronization and caching. The app supports both Google Sign-In and Apple Sign-In for seamless authentication, and implements push notifications for daily practice reminders.

Technologies Used

React NativeExpoOpenAIElevenLabsExpress.jsNext.js