Facts - Truth Seeker
Inspiration
In today’s world, society is becoming increasingly polarized, and news outlets often reflect this division.
The idea of this project was born from the need to step away from bias, to gain a broader view of the news, and to form our own opinions without being trapped in partisan narratives.
What it does
It collects news from Spain's main media outlets, identifies which ones cover the same event through embedding and clustering, and rewrites them in the most neutral possible way.
You can then explore, compare coverage across different media, and see multiple perspectives on the same story.
How we built it
Backend: Built in Python using embedding and clustering models to group news covering the same event. With the help of an AI API, we generate a neutral version of the news based on all sources.
Frontend: Developed natively in Swift and SwiftUI and designed for iOS 26.
Challenges we ran into
Detecting when two outlets are actually covering the same event was our biggest challenge. It required extensive fine-tuning of the clustering models, and it was probably one of the most difficult tasks we’ve ever tackled.
Accomplishments that we're proud of
We’re proud of the final result of the app and of having successfully reached out to media outlets, some of which gave us official permission to use their texts and images.
What we learned
This project was full of firsts: new technologies, clustering models, building an app from scratch, and publishing it on the App Store.
I don’t think there’s a greater learning experience than completing something so end-to-end.
What's next for Facts - Truth Seeker
We plan to localize the app into more languages and add media from other countries to expand international coverage.
Built With
- cloud-run
- cloud-scheduler
- cloudkit
- core-data
- dbscan
- dockerfile
- firebase
- google-cloud
- python
- rss
- sbert
- swift
- swiftdata
- swiftui

Log in or sign up for Devpost to join the conversation.