Fact Dynamics | Real-time Fact-Checking Flutter App
Features
- Real-time speech transcription and fact-checking during live conversations
- Image text extraction and claim verification with source citations
- Claim rating system (TRUE, FALSE, MISLEADING, UNVERIFIABLE) with explanations
- Source citations - Provides authoritative URLs backing each verdict
- Debate mode with continuous speech recognition and streaming feedback
- User authentication via Firebase (Google, Email) with persistent chat history
- Cross-platform support for iOS, Android, and Web
Prerequisites
- Flutter SDK 3.0.0 or newer
- Dart SDK 2.17.0 or newer
- Firebase CLI for authentication and database setup
- Perplexity API key for Sonar integration
- Device with microphone access for speech recognition
Installation (Follow Detailed guideline on the Repository)
Usage
Real-time Speech Fact-Checking
- Streams 5-second audio chunks through Flutter’s
speech_to_text
- Sends transcribed snippets to Sonar API with structured prompts
- Returns JSON with claims, ratings (TRUE/FALSE/MISLEADING/UNVERIFIABLE), explanations, and sources
Image Analysis
- Uploads images/URLs to Sonar API for text extraction
- Verifies extracted claims against authoritative sources
- Provides comprehensive analysis with source attribution
Screenshots
![]() | ![]() |
Code Explanation
- Frontend: Flutter with BLoC pattern for state management targeting iOS, Android, and Web
- Backend: Firebase (Firestore, Authentication) for user data and chat history persistence
- Speech Processing: speech_to_text package for real-time audio transcription
- API Integration: Custom Dart client calling Perplexity Sonar API with structured prompts
- Image Processing: Built-in image picker with base64 encoding for multimodal analysis
- Data Architecture: Firestore collections per user with subcollections for debates, speeches, and images
Open Source SDKs
Built two reusable packages for the Flutter community:- perplexity_dart - Core Dart SDK for Perplexity API
- perplexity_flutter - Flutter widgets and BLoC integration
Demo Video
Links
- GitHub Repository - Full source code
- Live Demo - Try the web version
- Devpost Submission - Hackathon entry