2026-04-28 15:42:42 +02:00
2026-04-28 15:04:07 +02:00
2026-04-28 15:06:57 +02:00
2026-04-28 15:06:57 +02:00
2026-04-28 15:06:57 +02:00
2026-04-28 15:04:07 +02:00
2026-04-28 15:04:07 +02:00

English AI Coach

English AI Coach is a starter project for a mobile AI-based English learning app. It helps users write short English sentences, find mistakes, and get clear corrections in English.

The project is intentionally lightweight: React Native, Expo, TypeScript, and React Navigation. It avoids unnecessary Expo-only libraries and is prepared for local AI with Ollama, speech input, text-to-speech, and push notifications.

Features MVP

  • HomeScreen with progress card and mock daily reminder
  • Level selection for A1, A2, B1, and B2
  • ChatScreen with user and AI messages
  • AI replies can be read aloud on iPhone
  • Ollama integration with offline fallback examples
  • TypeScript-typed navigation
  • Structure for future services, hooks, and utilities
  • Web/PWA path prepared through Expo Web

Beispiel

User: I go yesterday to work

AI Coach:
Good try. Correct: "I went to work yesterday."
Use the past tense with "yesterday".

Tech Stack

  • React Native
  • Expo
  • TypeScript
  • React Navigation
  • Ollama API for local AI
  • Text-to-speech with expo-speech
  • Speech input currently through iPhone keyboard dictation
  • Planned: in-app speech-to-text
  • Planned: push notifications for daily reminders

Projektstruktur

english-ai-coach/
├── App.tsx
├── app.json
├── package.json
├── src/
│   ├── components/
│   │   ├── ChatBubble.tsx
│   │   ├── PrimaryButton.tsx
│   │   └── ProgressCard.tsx
│   ├── hooks/
│   │   └── useDailyReminder.ts
│   ├── navigation/
│   │   ├── AppNavigator.tsx
│   │   └── types.ts
│   ├── screens/
│   │   ├── ChatScreen.tsx
│   │   ├── HomeScreen.tsx
│   │   └── LevelScreen.tsx
│   ├── services/
│   │   └── mockAiCoach.ts
│   ├── theme/
│   │   └── colors.ts
│   └── utils/
│       └── levels.ts
└── README.md

Installation

Requirements:

  • Node.js
  • npm
  • Expo through npx expo

Install dependencies:

npm install

Create optional local AI configuration:

cp .env.example .env

Set your Ollama model in .env:

EXPO_PUBLIC_OLLAMA_BASE_URL=http://localhost:11434
EXPO_PUBLIC_OLLAMA_MODEL=llama3.2

When testing on a real phone with Expo Go, localhost means the phone itself. Use your laptop IP instead, for example:

EXPO_PUBLIC_OLLAMA_BASE_URL=http://192.168.10.102:11434
EXPO_PUBLIC_OLLAMA_MODEL=qwen2.5:7b

Start the app:

npm run start

Speech Input And Playback

Playback works directly in Expo Go. AI replies are read aloud through the iPhone speaker. The chat also has buttons for Read last answer and Stop.

Speech input currently works through the iPhone keyboard:

  • Tap the chat input field
  • Press the microphone icon on the iPhone keyboard
  • Speak English
  • Review the text and send it

Real in-app speech-to-text with a custom microphone button is planned for later. That requires either a native iOS module after expo prebuild or a transcription API such as Whisper.

iOS Preview starten:

npm run ios

Web Preview starten:

npm run web

Note: local iOS simulator builds require macOS with Xcode. With Expo Go, the app can be tested on a real device.

Ollama Integration

The chat uses src/services/ollamaClient.ts for real local AI replies. If Ollama is not reachable, src/services/mockAiCoach.ts automatically falls back to example replies. Model configuration lives in src/config/ai.ts and reads values from .env.

Local flow:

React Native Chat UI
-> AI Service
-> local Ollama API
-> model such as llama, qwen, or mistral
-> English-only correction and explanation

For a PWA or local web version, the app can later run in the browser and connect to a local Ollama server on the network.

PWA Idee

Die Web-Version kann spaeter als PWA erweitert werden:

  • Auf Home-Bildschirm installieren
  • Lokale Ollama-Verbindung konfigurieren
  • Daily Reminder ueber Web Push pruefen
  • Desktop- und Tablet-Layout optimieren

Roadmap

  • Chat UI erweitern
  • Mock KI durch echte KI ersetzen
  • Ollama API Client implementieren
  • Level-spezifische Prompts erstellen
  • Fehleranalyse und Vokabeltraining ergaenzen
  • Fortschritt lokal speichern
  • Speech-to-Text hinzufuegen
  • Text-to-Speech fuer Aussprachetraining hinzufuegen
  • Push Notifications fuer taegliche Uebungen einbauen
  • PWA-Ausbau pruefen
  • App Store Release vorbereiten

Ziel

Ziel ist ein skalierbares Starterprojekt fuer eine KI-basierte Englischlern-App, die zuerst als mobile Expo-App funktioniert und spaeter lokal mit Ollama oder ueber eine externe KI-API erweitert werden kann.

Description
Eine mobile App zum Englischlernen mit KI, Level-Auswahl und vorbereitetem Ollama-Ausbau.
Readme 564 KiB
Languages
TypeScript 81.5%
JavaScript 18.5%