An AI-powered mobile app built with Flutter that lets users practice interview questions and live presentations using real-time voice transcription and AI-generated feedback.
- ๐ค Real-time voice recording and transcription
- ๐ค Intelligent AI feedback on:
- Clarity of speech
- Tone and delivery
- Use of filler words
- Overall presentation quality
- ๐ Dynamic question generation based on job roles
- ๐ง Presentation mode with topic-based feedback
- ๐ Continuous practice mode
- ๐ฑ Android
- ๐ iOS
- ๐ฅ Web
- ๐ง Linux
- ๐ macOS
- ๐ช Windows
- Flutter SDK 3.7+
- Android Studio / VS Code
- Google API service account (for Speech-to-Text)
- Gemini API key from Google Ai Studio
git clone https://github.com/rikue29/grad_ready.git
cd grad_ready- Go to Firebase Console
- Create a new project or select an existing one
- Add your app to the Firebase project:
- For Android: Register your app with your package name
- For iOS: Register your app with your bundle ID
- Download the configuration file:
- For Android:
google-services.json - For iOS:
GoogleService-Info.plist
- For Android:
- Place
google-services.jsonin theandroid/appdirectory - Add the following to your
android/build.gradle:dependencies { classpath 'com.google.gms:google-services:4.4.0' }
- Add this to your
android/app/build.gradle:apply plugin: 'com.google.gms.google-services'
- Place
GoogleService-Info.plistin theios/Runnerdirectory - Add the following to your
ios/Podfile:pod 'Firebase/Core'
- Run
pod installin theiosdirectory
For more detailed setup instructions, refer to the Firebase Flutter documentation.
- Go to Google Ai Studio
- Create a new project or select an existing one
- Click on the "Settings" icon (โ๏ธ) in the top right corner
- Navigate to the "API" tab
- Click "Get API Key"
- Copy the API key and add it to your
.envfile:GEMINI_API_KEY=your_gemini_api_key_here
- Go to Google Cloud Console
- Create a new project or select an existing one
- Enable the following APIs:
- Speech-to-Text API
- Cloud Translation API (if needed)
- Navigate to IAM & Admin > Service Accounts
- Click "Create Service Account"
- Fill in the details:
- Service account name:
gradready-speech - Service account ID:
gradready-speech - Description:
Service account for GradReady Speech-to-Text
- Service account name:
- Click "Create and Continue"
- Grant the following roles:
- Speech-to-Text API User
- Storage Object Viewer
- Click "Continue" then "Done"
- Find your service account in the list
- Click the three dots (โฎ) on the right
- Select "Manage keys"
- Click "Add key" > "Create new key"
- Select JSON format
- Click "Create"
- Save the JSON file as
service-account.jsonin your project'sassetsdirectory
- Add the service account file to your Flutter project:
- Place
service-account.jsoninassets/directory
- Place
- Update
pubspec.yamlto include the service account file:flutter: assets: - assets/service-account.json
For more detailed setup instructions, refer to the official documentation:
Create a .env file in the project root with your API keys:
GEMINI_API_KEY=your_gemini_api_key_hereflutter pub getflutter runIf the app doesn't pick up your microphone:
- On Android emulator: Enable mic input in extended controls
- Use a real Android phone for best results
- Ariq Ulwan
- Nur Akmal
- Nurin Adni
- Shane Kennedy
Special thanks to KitaHack for the opportunity
This project is open source and available under the MIT License.
For any questions, feedback, or support, please open an issue in the repository.
If you find this project useful, please give it a star โญ on GitHub!













