SoulSync — AI Girlfriend and Boyfriend Companion App with Voice Calling | Flutter Final Year Project with Source Code
Back to ProjectExtract the downloaded ZIP file to your preferred working directory. Open your terminal or command prompt and navigate into the project root folder.
Run the following command to fetch all required packages listed in pubspec.yaml:
flutter pub get
Open the file located at android/app/src/main/AndroidManifest.xml and confirm the following permissions are present inside the manifest tag:
<uses-permission android:name="android.permission.RECORD_AUDIO"/>
<uses-permission android:name="android.permission.INTERNET"/>
These permissions are already added in the project. Connect your Android device or start an Android emulator, then run:
flutter run
Open the file located at ios/Runner/Info.plist and confirm the following keys are present:
<key>NSMicrophoneUsageDescription</key>
<string>SoulSync needs microphone access so you can talk with your AI companion.</string>
<key>NSSpeechRecognitionUsageDescription</key>
<string>SoulSync uses speech recognition to understand what you say during voice calls.</string>
Both keys are already configured in the project. Open the ios folder in Xcode, assign your development team under Signing and Capabilities, then run:
flutter run
When the app launches, you will be taken through a 3-step onboarding screen. Enter your name and age, select your gender (which determines your AI companion — Cara for male users, Ethan for female users), then choose your personality type, love language, and current mood. All this data is stored locally using SharedPreferences.
A default Groq API key is bundled for testing purposes. To use your own key, navigate to Profile and then Settings inside the app and tap Change API Key. Enter your key obtained from console.groq.com.
Type a message in the chat input bar to begin a text conversation. Tap the call icon in the chat header to start a voice call. The app will listen to your voice, send it to the Groq API, and respond with synthesized speech automatically in a continuous loop.
flutter_animate: ^4.5.0
google_fonts: ^6.2.1
flutter_spinkit: ^5.2.1
flutter_riverpod: ^2.5.1
http: ^1.2.1
shared_preferences: ^2.2.3
hive_flutter: ^1.1.0
uuid: ^4.4.0
speech_to_text: ^7.0.0
flutter_tts: ^3.8.5
meta-llama/llama-4-scout-17b-16e-instruct. No changes are needed unless you want to switch models.Our team is here to assist you with installation and setup.