Frames of Truth
An open-source Android application that reads GPS coordinates from photo EXIF metadata and combines multiple open data sources with AI models to automatically generate historical and contextual narratives about the location where a photograph was taken.
Timeline (last 90 days)
Frames of Truth is an Android application that reads GPS coordinates from a photo's EXIF metadata and calls an open-source AI model to tell the story of where the photo was taken.
Frames of Truth was built by developer Vincenzo De Sanctis for the Hacktoberfest open-source AI challenge.
The processing pipeline of Frames of Truth includes reading EXIF GPS coordinates, reverse geocoding (Photon, Nominatim), finding nearby points of interest (Geoapify, Overpass), retrieving historical context from Wikipedia and Wikidata, describing content with a vision model, and using an LLM to generate a story divided into three parts: location, image, and curiosity.
The Frames of Truth interface supports 7 languages: Italian, English, French, German, Spanish, Portuguese, and Dutch.
Frames of Truth's mobile layer is developed in Kotlin with Python integration implemented via Chaquopy; the backend is Python (Flask) running as a local HTTP server on 127.0.0.1:5000, and the frontend is a WebView loading local pages.
Frames of Truth is open-sourced under the MIT license, with source code hosted on GitHub (github.com/vincenzodesanctis/frames-of-truth), and the APK supports devices running Android 7.0 and above.
Frames of Truth's AI pipeline uses Qwen 3.8 on Groq for visual analysis, GPT-OSS on Groq for story generation, Llama 3.3 on OpenRouter as a narrative fallback, and the Gemini REST API as a visual fallback.
The author's choice of open-weight models was a design constraint to allow switching providers at any time without rewriting the application and to avoid vendor lock-in.
On first launch, Frames of Truth requires users to enter their own API keys (both Groq and Geoapify offer free tiers) in the settings menu; the keys are stored in SharedPreferences and never leave the device.
All Facts (9)
Frames of Truth is an Android application that reads GPS coordinates from a photo's EXIF metadata and calls an open-source AI model to tell the story of where the photo was taken.
50%UnverifiedFrames of Truth was built by developer Vincenzo De Sanctis for the Hacktoberfest open-source AI challenge.
50%UnverifiedThe processing pipeline of Frames of Truth includes reading EXIF GPS coordinates, reverse geocoding (Photon, Nominatim), finding nearby points of interest (Geoapify, Overpass), retrieving historical context from Wikipedia and Wikidata, describing content with a vision model, and using an LLM to generate a story divided into three parts: location, image, and curiosity.
50%UnverifiedThe Frames of Truth interface supports 7 languages: Italian, English, French, German, Spanish, Portuguese, and Dutch.
50%UnverifiedFrames of Truth's mobile layer is developed in Kotlin with Python integration implemented via Chaquopy; the backend is Python (Flask) running as a local HTTP server on 127.0.0.1:5000, and the frontend is a WebView loading local pages.
50%UnverifiedFrames of Truth is open-sourced under the MIT license, with source code hosted on GitHub (github.com/vincenzodesanctis/frames-of-truth), and the APK supports devices running Android 7.0 and above.
50%UnverifiedFrames of Truth's AI pipeline uses Qwen 3.8 on Groq for visual analysis, GPT-OSS on Groq for story generation, Llama 3.3 on OpenRouter as a narrative fallback, and the Gemini REST API as a visual fallback.
50%UnverifiedThe author's choice of open-weight models was a design constraint to allow switching providers at any time without rewriting the application and to avoid vendor lock-in.
50%UnverifiedOn first launch, Frames of Truth requires users to enter their own API keys (both Groq and Geoapify offer free tiers) in the settings menu; the keys are stored in SharedPreferences and never leave the device.
50%