Skip to content

Empty-Developer/UpSpoke-Mobile-App

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

UpSpoke

wakatime Platform Expo TypeScript License

UpSpoke Logo

A mobile app for learning English through structured lessons, real-life conversations, and hands-on speaking practice.


Overview

UpSpoke is a React Native mobile application built with Expo that helps users improve their English language skills. The onboarding flow adapts the experience to each learner's current level, motivation, and interests — so every user gets a personalized path from day one.

The app focuses on three core pillars:

  • Lessons — structured content covering grammar, vocabulary, and real-world usage
  • Conversations — dialogue-based practice for building confidence in speaking
  • Practice — active exercises to reinforce what was learned

Features

  • Personalized Onboarding — select your proficiency level (Beginner / Intermediate / Advanced), learning motivation (Travel, Work, Family, Culture, Hobby), and topic interests (Food, Business, Technology, Music, etc.)
  • Lessons — browse and complete English lessons organized by difficulty and topic
  • Conversations / Dialogues — practice real dialogue scenarios
  • Practice Mode — targeted exercises to strengthen speaking and comprehension
  • User Profile — track your learning progress and preferences
  • Light & Dark Mode — automatic adaptation to system theme
  • Haptic Feedback — satisfying tactile response on tab navigation
  • Subscription / Premium — paywall for access to advanced content
  • Authentication — secure sign-in via Supabase Auth (including OAuth)

Tech Stack

Layer Technology
Framework Expo 55 + React Native 0.83.4
Language TypeScript 5.9
Navigation Expo Router (file-based)
Styling NativeWind v4 (Tailwind CSS)
Backend / Auth Supabase
Animations React Native Reanimated v4
Gestures React Native Gesture Handler
Notifications Sonner Native
Icons @expo/vector-icons (Ionicons)
Font EB Garamond (Google Fonts)
Package Manager Bun

Project Structure

UpSpoke-Mobile-App/
└── learning-app/
    ├── app/
    │   ├── (tabs)/
    │   │   ├── lessons.tsx        # Lessons tab
    │   │   ├── conversations.tsx  # Conversations tab
    │   │   └── profile.tsx        # Profile tab
    │   ├── onboarding.tsx         # Onboarding flow
    │   ├── practice.tsx           # Practice session screen
    │   └── _layout.tsx            # Root layout & auth gate
    ├── components/                # Reusable UI components
    ├── constants/                 # Theme, colors, config
    ├── context/                   # React Context providers (Auth, etc.)
    ├── hooks/                     # Custom hooks
    ├── lib/                       # Utility libraries
    ├── providers/                 # App-level providers
    ├── supabase/                  # Supabase client & migrations
    └── utils/                     # Helper functions

Getting Started

Prerequisites

Installation

# Clone the repository
git clone https://github.com/Empty-Developer/UpSpoke-Mobile-App.git
cd UpSpoke-Mobile-App/learning-app

# Install dependencies
bun install

Environment Variables

Create a .env.local file in learning-app/ and fill in your Supabase credentials:

EXPO_PUBLIC_SUPABASE_URL=your_supabase_project_url
EXPO_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key

Running the App

# Start development server
bun start

# Run on iOS simulator
bun ios

# Run on Android emulator
bun android

# Run in web browser
bun web

Roadmap

Planned Features

  • Push notifications for daily learning streaks
  • Lesson completion tracking and progress dashboard
  • Expanded conversation scenario library
  • Offline mode for downloaded lessons

AI Integration (Coming in a future release)

Note: The AI feature is planned and will be integrated in a future version of UpSpoke. No implementation has been started yet.

The planned AI system will introduce two connected capabilities:

  • AI Speaking Assistant — an interactive voice-based AI companion that listens to the user's spoken English, provides real-time pronunciation and grammar feedback, and guides them through structured speaking exercises
  • AI Theme Discussion — a conversational AI module where users can choose a topic (e.g., Business, Travel, Technology) and have an open-ended dialogue in English, with the AI adapting difficulty based on the user's level

These features will be powered by a large language model combined with speech-to-text and text-to-speech processing, deeply integrated with the existing lesson and profile personalization system.


Contributing

This is a private project. Contributions are not open to the public at this time.


License

Private — all rights reserved.


Built with care by Empty-Developer

About

A mobile app for learning English through structured lessons, real-life conversations, and hands-on speaking practice.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors