TruthTeller is a cross-platform smart news aggregation and verification application built using Flutter, Google AI technology and Firebase. The platform leverages AI-powered fact verification, intelligent search expansion and shared cloud caching to combat misinformation and promote reliable access to information.
We are a team passionate about leveraging AI and cloud technologies to address real-world societal challenges. TruthTeller was developed as part of Kitahack 2026 to align technological innovation with the United Nations Sustainable Development Goals (SDGs), specifically focusing on misinformation mitigation and institutional trust.
The rapid spread of misinformation and clickbait journalism has become a critical global issue. Even news from official websites may contain personal interpretations, which can affect the accuracy of the information presented. Plus, more and more contents are AI-generated, which may deliver misleading information, outdated facts and biassed contents, as AI systems rely on existing data patterns.
In Malaysia and worldwide, social media platforms and online news aggregators allow unverified information to circulate faster than fact-checkers can respond. The problem is especially serious during elections, economic crises, public health emergencies, and geopolitical conflicts, where misinformation can create panic, erode trust in institutions, and polarise communities.
In today’s digital age, people are exposed to vast amounts of information daily. However, not all of it is accurate or trustworthy, and this can negatively affect productivity and decision-making efficiency. This affects students, young adults, and citizens who consume news digitally but often lack the tools to assess credibility efficiently. Manual verification can be a solution, but it requires time, cross-referencing, and media literacy skills that many users do not consistently apply.
SDG 16: Peace, Justice & Strong Institutions Target 16.10 Ensure public access to information and protect fundamental freedoms. First, TruthTeller promotes transparent access to cross-verified information. It aggregates real-time RSS feeds from multiple reputable news publishers and verifies the article content with AI.
Next, it provides AI-based reliability scoring instead of subjective opinions, which is different from the traditional news consumption that relies heavily on personal bias and emotional reactions. The scoring logic evaluates cross-source agreement, presence of verifiable evidence, neutral vs sensational language and consistency with known facts.
Thirdly, TruthTeller reduces algorithm-driven echo chambers through smart query expansion. For example, if a user searches for “crypto crash,” the AI expands it into: cryptocurrency market downturn, bitcoin volatility, blockchain market decline and digital asset sell-off. Then, users are exposed to diverse reporting angles, reducing algorithmic narrowing and supporting pluralistic access to information.
SDG 4: Quality Education, specifically Target 4.7: Ensure learners acquire knowledge and skills needed to promote sustainable development, including media literacy. TruthTeller encourages critical evaluation before content sharing. TruthTeller prominently shows AI verification summary, reliability percentage, and cross-source consistency feedback. This subtle design choice nudges users to pause and reflect before resharing potentially misleading content, promoting deliberate information engagement, strengthening media literacy and responsible digital citizenship.
SDG 17: Partnerships for the Goals, specifically Target 17.16: Enhance the global partnership for sustainable development, complemented by multi-stakeholder partnerships and Target 17.17: Encourage effective public, public-private, and civil society partnerships. The application is built upon a cooperative digital ecosystem that integrates AI infrastructure from Google Gemini and cloud services from Firebase with news content from independent media organisations. This represents a practical collaboration between private-sector technology providers, media institutions, and the public.
Furthermore, TruthTeller’s “Read Once, Remember Forever” caching system transforms individual verification into a shared digital resource. When one user verifies an article, the result is stored and made instantly accessible to all others. This creates a collective verification network that strengthens information reliability at scale.
Because the system is built on scalable cloud infrastructure and cross-platform technology, it also has strong potential for expansion through partnerships with universities, NGOs, journalism bodies, and governmental agencies.
TruthTeller verifies the credibility of real-time news using the Google Gemini API. Instead of passively consuming content, users receive a calculated reliability score and cross-source validation summary.
Besides, TruthTeller features a search queries expansion. The relevant articles returned not only based on the exact keywords in the topic searched by the users, but expanded semantically and broadened the search coverage.
By introducing shared cloud-based verification caching through Firebase Firestore, the results of every piece of verified content will be stored in the database and becomes immediately accessible to the next user who calls for the same content, reducing redundant AI calls.
- Uses Google Gemini 1.5 Flash for real-time article analysis
- Cross-checks claims across multiple RSS sources
- Detects:
- Contradictions
- Unsupported claims
- Sensational or biased language
- Generates structured AI summary
- Each article receives a numerical credibility score based on:
- Cross-source agreement
- Evidence presence
- Neutral vs sensational tone
- Consistency with known facts
- Replaces emotional interpretation with structured evaluation.
- Generates a concise, neutral summary of each news article
- Highlights the main claim and key facts
- Explain content status:
- Fully verified
- Partially verified
- Potentially misleading
- Saves time while maintaining informed decision making.
- When users search:
- “crypto crash”
- AI expands to:
- cryptocurrency market downturn
- bitcoin volatility
- blockchain market decline
- digital asset sell-off
- Reduces echo chambers
- Increases exposure to diverse reporting angles
- Verification results stored in Firebase Firestore
- Same article = instant retrieval
- 24-hour TTL auto-refresh
- Reduces redundant AI calls
- Lowers cost & improves speed
- Creates a collective verification network
- Built with Flutter:
- Android
- iOS
- Web
- Desktop
- Used for:
- Cross-source verification
- Reliability scoring
- AI-generated article summaries
- Semantic search query expansion
- Used for:
- Caching AI verification results
- Storing reliability scores
- TTL auto-cleanup (24-hour freshness window)
- Tracking cache reuse rate
- Reduces redundant AI calls and improves scalability.
- Single codebase deployment across:
- Android
- iOS
- Web
- Windows
- Ensures consistent UI and faster development cycle.
- RSS Feed Parsing Libraries
- WebView (mobile reading integration)
- CORS Proxies (RSS access on web)
- Dart HTTP client
- Material UI Components
The frontend layer serves as the user interface of the application. It displays aggregated RSS news feeds and handles smart search queries. When a user searches an article, it shows diverse articles related to the topic searched. When the user selects an article, the application sends the article content to backend AI services for analysis. Then, the frontend renders AI-generated reliability scores to help users assess the credibility of the news. Additionally, it supports WebView integration for mobile devices and provides a browser fallback for desktop and web platforms to ensure cross-platform accessibility.
The AI Processing Layer is responsible for analyzing selected news articles. Once the user searches for a topic, semantic query expansion is conducted, a diverse variety of news articles related to the topic searched is shown. Once an article is selected by the user, its content is sent to the Gemini API for evaluation. The AI performs cross-source consistency analysis to compare information across multiple references, detects potential language bias and generates reliability scores.
In this layer, before initiating an AI request, the application first checks Firestore for any existing verification results. If a record is found, the result loads instantly, improving response time. If no record exists, the system proceeds with the AI call and subsequently stores the result in the database. A Time-To-Live (TTL) mechanism automatically removes outdated entries after 24 hours. This design reduces API costs, accelerates load times, and creates a shared verification ecosystem where previously analyzed content benefits all users.
- User opens app → News feed loads from RSS
- User searches article
- Gemini conducts search query expansion
- App displays wide range of articles
- User selects article
- App checks Firestore for cached verification a. If exists → Display reliability score and summary instantly b. If not → Send article content to Gemini i. App receives verification analysis ii. Firestore stores result in Firestore with TTL iii. App displays reliability score and summary
New API request every time a user opens an article, causing high API consumption, high operational costs, slow response times during repeated article views and redundant verification for identical content. Solution: Cloud-based caching layer using Firebase Firestore. A unique document ID generated for each analysed article to avoid duplication. Whenever a user selects an article, Firebase Firestore is checked to determine whether a verification record already exists. If a cached verification result is found, it is returned instantly without triggering an AI request. However, if no record is available, the system proceeds to call the Gemini API for analysis, stores the generated verification result in Firestore, and then returns the response to the user.
AI requests have to be processed by the server before returning a reliability score, causing slow response (7 to 8 seconds for each initial verification). Solution: Gemini 1.5 Flash is used instead of heavier AI models.
Search results were too narrow and overly dependent on exact keyword matches. Solution: AI-powered query expansion using Google Gemini, broadening search coverage.
- Flutter SDK
- Git
- Code Editor (VS Code / Android Studio)
- Google Gemini API Key
- Firebase Project
git clone [https://github.com/Papermint155/TurthTeller.git](https://github.com/Papermint155/TurthTeller.git)
cd TurthTellerCreate:
lib/services/api_keys.dart
Dart
class ApiKeys {
// Replace with your actual Gemini API Key
static const String geminiApiKey = "YOUR_GEMINI_API_KEY_HERE";
}
Option A: Manual
- Add google-services.json (Android)
- Configure FirebaseOptions in main.dart
Option B: CLI
flutterfire configureFor Windows / Edge: Bash
flutter run -d edge
For andoird bash
flutter run -d android
- Integrate additional RSS feeds from different countries
- Verify non-English content using Gemini’s multilingual capabilities,
- Transform the platform from a localized verification tool into a globally accessible information reliability system.
- Users paste social media posts, forwarded messages & viral content for instant verification.
- Utilising Firebase Cloud Messaging topic subscriptions
- Users subscribe to region-specific channels
- Push verified government advisories and crisis updates directly to affected users
- Universities → support media literacy education initiatives
- NGOs → strengthen community outreach & credibility efforts
- Government agencies → enable the distribution of verified announcements
Distributed under the MIT License. See LICENSE for more information.