601

Bitu

A premier 1-on-1 English speaking practice application connecting learners with foreign tutors for structured, real-time conversations.

Bitu is a mobile application designed to bridge the gap between theoretical English learning and practical usage. It connects users with foreign tutors for 1-on-1 conversations, focusing on building confidence and fluency through structured topics. The app has served hundreds of thousands of users, facilitating millions of minutes of conversation.

Key Features

  • Instant 1-on-1 Connection: Users can connect with a tutor in under 30 seconds without prior booking, using a sophisticated queue matching algorithm.
  • Curriculum-Based Topics: A library of thousands of topics ranging from daily life to IELTS preparation, ensuring users always have something to talk about.
  • Real-time Feedback: Tutors provide immediate corrections and suggestions during the call, which are logged for user review.
  • Flexible Scheduling: A "study now" model that fits into busy schedules, differentiating it from traditional scheduled tutoring.
  • Community & Gamification: Leaderboards, streaks, and challenges to keep users motivated and engaged over the long term.

Technical Deep Dive

Building Bitu required solving complex challenges in real-time communication and high-concurrency state management.

Real-Time Communication Architecture

The core of Bitu is its calling system. We utilized Agora SDK for high-quality, low-latency audio/video calls, but engineered a custom signaling layer over WebSocket to manage call states, handshakes, and fallback mechanisms.

  • Connection Stability: Implemented aggressive reconnection strategies to handle unstable mobile networks (3G/4G switchovers).
  • Latency Optimization: Optimized the signaling payload to milliseconds, ensuring the "Connect" button feels instant.

Queue & Matching Algorithm

The "no-booking" feature relies on a robust backend matching system.

  • Scalability: The system handles thousands of concurrent users and tutors. Redis is used heavily for ephemeral state (who is online, who is busy).
  • Fairness: The algorithm prioritizes tutors based on rating, availability, and user preferences (e.g., accent, gender), ensuring a high match rate and user satisfaction.

Mobile Engineering (React Native)

The app is built with React Native, allowing for rapid feature deployment across iOS and Android.

  • Performance: specialized optimization for the "Call Screen", moving heavy animations to the native thread using react-native-reanimated.
  • Navigation: Integrated react-native-navigation for native-feeling transitions, crucial for a premium feel.
  • OTA Updates: Leveraged CodePush to deliver hotfixes and feature updates instantly without waiting for App Store review cycles.

Technology Stack

  • Mobile: React Native, Redux Saga, TypeScript
  • Real-time: Agora RTC, Socket.io
  • Backend: Node.js, NestJS
  • Database: PostgreSQL (Core data), MongoDB (Logs/Chat), Redis (Caching/Queue)
  • Infrastructure: AWS (EC2, S3, RDS), Docker, Kubernetes
  • CI/CD: GitHub Actions, Fastlane

Challenges & Solutions

Challenge: Handling "Ghost" calls where users disconnect abruptly. Solution: We implemented a heartbeat mechanism on both the WebSocket and RTC channels. If both heartbeats fail for 5 seconds, the server automatically terminates the session and refunds the user if the duration was negligible, maintaining trust and platform integrity.

Challenge: Ensuring audio quality on low-end Android devices. Solution: We integrated acoustic echo cancellation (AEC) and noise suppression custom profiles, fine-tuning the Agora standard configuration to prioritize voice clarity over background audio fidelity, which is crucial for language learning.