Skip to content

Neynix07/TruthTeller

Repository files navigation

TruthTeller

1.1 Repository Overview

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.

1.2 Team Introduction

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.

2.0 Project Overview

2.1 Problem Statement

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.

2.2 SDG Alignment

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.

2.3 Solution Overview

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.

3.0 Key Features

3.1 AI-Powered News Verification

  • 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

3.2 Reliability Scoring System

  • 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.

3.3 AL-generated Conclusion

  • 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.

3.4 Smart Semantic Search Expansion

  • 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

3.5 “Read Once, Remember Forever” Caching

  • 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

3.6 Cross-Platform Accessibility

  • Built with Flutter:
    • Android
    • iOS
    • Web
    • Desktop

4.0 Tech Stack

4.1 Google Gemini (1.5 Flash)

  • Used for:
    • Cross-source verification
    • Reliability scoring
    • AI-generated article summaries
    • Semantic search query expansion

4.2 Firebase Firestore

  • 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.

4.3 Flutter

  • Single codebase deployment across:
    • Android
    • iOS
    • Web
    • Windows
  • Ensures consistent UI and faster development cycle.

4.4 Other Supporting Tools / Libraries

  • RSS Feed Parsing Libraries
  • WebView (mobile reading integration)
  • CORS Proxies (RSS access on web)
  • Dart HTTP client
  • Material UI Components

4.5 System Architecture Diagram

TruthTeller System Architecture

5.0 Implementation Details & Innovation

5.1 System Architecture

Frontend Layer (Flutter)

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.

AI Processing Layer

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.

Cloud Caching Layer (Firebase Firestore)

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.

5.2 Workflow

  1. User opens app → News feed loads from RSS
  2. User searches article
  3. Gemini conducts search query expansion
  4. App displays wide range of articles
  5. User selects article
  6. 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

6.0 Challenges Faced

6.1 Excessive API usage

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.

6.2 Latency in producing verification results

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.

6.3 Search results limitation

Search results were too narrow and overly dependent on exact keyword matches. Solution: AI-powered query expansion using Google Gemini, broadening search coverage.

7.0 Installation & Setup

7.1 Prerequisites

  • Flutter SDK
  • Git
  • Code Editor (VS Code / Android Studio)
  • Google Gemini API Key
  • Firebase Project

7.2 Clone Repository

git clone [https://github.com/Papermint155/TurthTeller.git]

(https://github.com/Papermint155/TurthTeller.git)

cd TurthTeller

7.3 Configure API Key

Create:

lib/services/api_keys.dart

Dart

class ApiKeys {
  // Replace with your actual Gemini API Key
  static const String geminiApiKey = "YOUR_GEMINI_API_KEY_HERE";
}

7.4 Configure Firebase

Option A: Manual

  • Add google-services.json (Android)
  • Configure FirebaseOptions in main.dart

Option B: CLI

flutterfire configure

7.5 Run App

For Windows / Edge: Bash

flutter run -d edge

For andoird bash

flutter run -d android

8.0 Future Roadmap

8.1 Multi-region and multilingual expansion

  • 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.

8.2 Multi-modal AI (image/video misinformation detection)

  • Users paste social media posts, forwarded messages & viral content for instant verification.

8.3 Emergency broadcasting system

  • Utilising Firebase Cloud Messaging topic subscriptions
  • Users subscribe to region-specific channels
  • Push verified government advisories and crisis updates directly to affected users

8.4 Institutional partnerships

  • Universities → support media literacy education initiatives
  • NGOs → strengthen community outreach & credibility efforts
  • Government agencies → enable the distribution of verified announcements

📄 License

Distributed under the MIT License. See LICENSE for more information.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors