An Android app built with kotlin that can be used for detecting synthetic media and determining the authenticity of rumors and find their origin
Python
0
58 commits
updated Aug 7, 2026
Advanced Deepfake Detection & AI-Powered Fact-Checking Ecosystem
The AI boom of the 2020s has brought powerful generative tools, making it easier than ever to create synthetic media capable of deceiving the average person. From state-of-the-art video generators (Sora, Runway) to voice cloning (Suno, Udio), hyper-realistic deepfakes pose a profound threat to digital trust, entertainment, and journalism.
TruthSeeker is a comprehensive, multi-modal application designed to combat this by detecting deepfakes and verifying the authenticity of digital rumors. Built on a hybrid architecture, it achieves rapid analysis while maintaining privacy, cost-efficiency, and—most importantly—Explainability (XAI).
TruthSeeker employs a Two-Stage Hybrid Architecture, combining the speed of mobile processing with the heavy reasoning capabilities of advanced cloud nodes.
Designed for resource-constrained environments, this stage runs entirely on the user's mobile device for fast, private classification.
When media is complex or users demand an explanation, the data is pushed to our dedicated inference servers for Explainable AI (XAI) analysis.
ViF-CoT-4K dataset.Information overload makes manual fact-checking difficult. TruthSeeker features an autonomous backend utilizing Phi-3 (a Small Language Model) connected to a Retrieval-Augmented Generation (RAG) pipeline.
The Three-Phase Workflow:
| Directory | Description |
|---|---|
📱 kotlearn/ | The Android Studio project containing the Kotlin application. |
🚀 skyra_data/ | The AMD MI300X cloud backend. Contains the train_skyra.py pipeline and skyra_api.py deployment. |
☁️ colab_backend/ | Google Colab deployment scripts (audio_api.py) for Wav2Vec Audio XAI and TimeSformer Attention Maps. |
🕵️ factcheck/ | Python FastAPI backend utilizing Phi-3-mini with RAG for local fact-checking. |
📄 docs/ | Contains the complete TruthSeeker_Report.pdf, methodology presentations, and system design files. |
🧠 temporal2/ & modelly/ | Scripts for training the TimeSformer engine and compiling it to Edge TFLite format. |
🎬 media/videos/ | Contains the truthdemo.mp4 and truthdemovideo.mp4 demonstration files. |
The TruthSeeker ecosystem is a network of distributed microservices. Here is how to boot the entire system:
kotlearn folder in Android Studio.lip_flex.tflite model is inside kotlearn/app/src/main/assets/. (Note: Due to size constraints, you must compile this yourself using the temporal2 and modelly scripts if it is missing).Build > Build Bundle(s) / APK(s) > Build APK(s) to generate an APK for your physical Android phone.This server handles the heavy Chain-of-Thought deepfake analysis via Skyra. A. Training Skyra from Scratch SSH into your AMD server and run the pipeline:
cd skyra_data
python3 get_videos.py # Downloads the 20GB dataset from Hugging Face
python3 consolidate.py # Consolidates the annotations into a master JSON
python3 train_skyra.py # Trains the model using LoRA and ROCm survival flags
B. Deploying the Skyra API Once the model is trained, boot the inference server:
cd skyra_data
python3 skyra_api.py
The API will start securely on 0.0.0.0:8000 with Uvicorn signal bypasses enabled.
This endpoint handles audio deepfake detection and generates visual forensic grids using Integrated Gradients and Attention Maps.
colab_backend/ to Google Colab.Wav2Vec2 and temporal_checkpoint3.pth model weights in your connected Google Drive.https://xxxx.loca.lt URL and update the COLAB_AUDIO_URL constant inside kotlearn/app/src/main/java/com/example/kotlearn/FactCheckApi.kt, then rebuild the Android app.This acts as a fast, offline LLM agent to verify text claims.
factcheck/models/ directory.cd factcheck
python -m venv venv2
source venv2/bin/activate # (or venv2\Scripts\activate on Windows)
pip install fastapi uvicorn llama-cpp-python duckduckgo-search
python app1.py
The API will start on 0.0.0.0:8000. Ensure your Android phone is on the same Wi-Fi network as the computer running this server.
| Challenge | Approach |
|---|---|
| Video models sensitive to compressed media | Using extensive Data Augmentation (Gaussian blur, invariant scaling) to create distorted frames so models generalize well. |
| Models too large to run locally | Using Cloud services like AMD Developer Cloud to host massive models (Skyra), while using Quantization (FP32 -> INT8) to shrink models for edge devices. |
| Lack of detailed datasets | Utilized the ViF-CoT-4K dataset with rich, human-annotated Chain-of-Thought narratives. |
Our models achieve state-of-the-art results across benchmarks:
An Android app built with kotlin that can be used for detecting synthetic media and determining the authenticity of rumors and find their origin
Python
0
58 commits
updated Aug 7, 2026
Advanced Deepfake Detection & AI-Powered Fact-Checking Ecosystem
The AI boom of the 2020s has brought powerful generative tools, making it easier than ever to create synthetic media capable of deceiving the average person. From state-of-the-art video generators (Sora, Runway) to voice cloning (Suno, Udio), hyper-realistic deepfakes pose a profound threat to digital trust, entertainment, and journalism.
TruthSeeker is a comprehensive, multi-modal application designed to combat this by detecting deepfakes and verifying the authenticity of digital rumors. Built on a hybrid architecture, it achieves rapid analysis while maintaining privacy, cost-efficiency, and—most importantly—Explainability (XAI).
TruthSeeker employs a Two-Stage Hybrid Architecture, combining the speed of mobile processing with the heavy reasoning capabilities of advanced cloud nodes.
Designed for resource-constrained environments, this stage runs entirely on the user's mobile device for fast, private classification.
When media is complex or users demand an explanation, the data is pushed to our dedicated inference servers for Explainable AI (XAI) analysis.
ViF-CoT-4K dataset.Information overload makes manual fact-checking difficult. TruthSeeker features an autonomous backend utilizing Phi-3 (a Small Language Model) connected to a Retrieval-Augmented Generation (RAG) pipeline.
The Three-Phase Workflow:
| Directory | Description |
|---|---|
📱 kotlearn/ | The Android Studio project containing the Kotlin application. |
🚀 skyra_data/ | The AMD MI300X cloud backend. Contains the train_skyra.py pipeline and skyra_api.py deployment. |
☁️ colab_backend/ | Google Colab deployment scripts (audio_api.py) for Wav2Vec Audio XAI and TimeSformer Attention Maps. |
🕵️ factcheck/ | Python FastAPI backend utilizing Phi-3-mini with RAG for local fact-checking. |
📄 docs/ | Contains the complete TruthSeeker_Report.pdf, methodology presentations, and system design files. |
🧠 temporal2/ & modelly/ | Scripts for training the TimeSformer engine and compiling it to Edge TFLite format. |
🎬 media/videos/ | Contains the truthdemo.mp4 and truthdemovideo.mp4 demonstration files. |
The TruthSeeker ecosystem is a network of distributed microservices. Here is how to boot the entire system:
kotlearn folder in Android Studio.lip_flex.tflite model is inside kotlearn/app/src/main/assets/. (Note: Due to size constraints, you must compile this yourself using the temporal2 and modelly scripts if it is missing).Build > Build Bundle(s) / APK(s) > Build APK(s) to generate an APK for your physical Android phone.This server handles the heavy Chain-of-Thought deepfake analysis via Skyra. A. Training Skyra from Scratch SSH into your AMD server and run the pipeline:
cd skyra_data
python3 get_videos.py # Downloads the 20GB dataset from Hugging Face
python3 consolidate.py # Consolidates the annotations into a master JSON
python3 train_skyra.py # Trains the model using LoRA and ROCm survival flags
B. Deploying the Skyra API Once the model is trained, boot the inference server:
cd skyra_data
python3 skyra_api.py
The API will start securely on 0.0.0.0:8000 with Uvicorn signal bypasses enabled.
This endpoint handles audio deepfake detection and generates visual forensic grids using Integrated Gradients and Attention Maps.
colab_backend/ to Google Colab.Wav2Vec2 and temporal_checkpoint3.pth model weights in your connected Google Drive.https://xxxx.loca.lt URL and update the COLAB_AUDIO_URL constant inside kotlearn/app/src/main/java/com/example/kotlearn/FactCheckApi.kt, then rebuild the Android app.This acts as a fast, offline LLM agent to verify text claims.
factcheck/models/ directory.cd factcheck
python -m venv venv2
source venv2/bin/activate # (or venv2\Scripts\activate on Windows)
pip install fastapi uvicorn llama-cpp-python duckduckgo-search
python app1.py
The API will start on 0.0.0.0:8000. Ensure your Android phone is on the same Wi-Fi network as the computer running this server.
| Challenge | Approach |
|---|---|
| Video models sensitive to compressed media | Using extensive Data Augmentation (Gaussian blur, invariant scaling) to create distorted frames so models generalize well. |
| Models too large to run locally | Using Cloud services like AMD Developer Cloud to host massive models (Skyra), while using Quantization (FP32 -> INT8) to shrink models for edge devices. |
| Lack of detailed datasets | Utilized the ViF-CoT-4K dataset with rich, human-annotated Chain-of-Thought narratives. |
Our models achieve state-of-the-art results across benchmarks: