No description
- JavaScript 100%
|
|
||
|---|---|---|
| app | ||
| assets | ||
| docs | ||
| .gitignore | ||
| App.js | ||
| app.json | ||
| eas.json | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
FlightDeck — Pilot Interview Prep
React Native mobile app (Expo) that helps aspiring commercial pilots prepare for airline job interviews using AI-powered voice simulation and scoring.
Features
- AI Voice Interview — Record spoken answers; the app transcribes, evaluates, and plays back AI coaching audio
- 8 major US airlines — SkyWest, Delta, United, Southwest, American, Republic, Alaska, JetBlue
- Multiple modes — AI Voice, Flashcards, Written Exam
- Scoring — STAR framework compliance, CRM competency assessment, per-question coaching tips
- Progress tracking — Score trends, streak tracking, per-airline statistics
Tech Stack
- React Native 0.81 + Expo 54
- React Navigation 7 — native stack navigation
- Expo Audio — voice recording (M4A) and audio playback
- Supabase — user data and interview history
- react-native-chart-kit — score trend graphs
- DM Sans / DM Serif Display (Google Fonts)
Backend
Requires the companion flightdeck-api (Fastify/Node.js) to be running. The app posts to three endpoints:
| Endpoint | Purpose |
|---|---|
POST /interview/transcribe |
Audio → text (speech-to-text) |
POST /interview/evaluate |
Score answer + generate coaching + TTS feedback audio |
POST /interview/speak-question |
Generate AI question audio (TTS) |
Setup
npm install
Create a .env file (or set Expo secrets):
EXPO_PUBLIC_SUPABASE_URL=...
EXPO_PUBLIC_SUPABASE_ANON_KEY=...
Update the API base URL in app/lib/interviewApi.js to point to your running instance of flightdeck-api.
npm start # Launch Expo dev server
Use Expo Go to scan the QR code, or press i for iOS simulator / a for Android emulator.