The problem
Lebanon's best places are spread out, and many are only at their best at a certain hour or season.
A sunrise at the Pigeon Rocks, the olive harvest in Koura or a snow day at Zaarour each need the right spot at the right moment. A game that rewards going there also has to trust that players really went, without staff reviewing every photo, and it has to run in English, Arabic and French on the mid-range Android phones common in Lebanon.
What we built
A Flutter app that turns Lebanon into a 3D board of quests, each one verified on the spot by the server.
Explorers browse quests on a three.js map of the country, start one, and get an arrival alert from the phone's own geofencing when they reach it. They take the proof with the in-app camera; a Laravel API checks the GPS fix against the quest's radius with PostGIS, the time window (including sunrise and sunset windows) and Firebase App Check. A verified quest is stamped on the map, becomes a postcard in the explorer's passport and is posted to the feed.