Ethni-CITY: The New Travel App
Source: Dev.to
Overview
If you’re chronically online like I am, you’re used to seeing tons of reels of people who travel to “authentic” destinations such as São Paulo, Marrakech, Cairo, Bangkok, and Bali. On Instagram or TikTok, it’s common to accompany posts with a soundtrack, using the latest trending songs to garner likes and reposts.
To build Ethni‑CITY, I weaved spatial data with cultural analysis. Using Gemini 3.1 pro preview as the main model, the app performs a deep multimodal analysis of your uploaded photos and then identifies the city and country the picture was taken in by looking for landmarks, cultural motifs, textile patterns, and lighting conditions to determine.
I used Cesium JS along with Google Cloud photorealistic tiles; the agent transports you to the location of the photo, helping to tell a centric story.
Model Hierarchy
Tier 1
gemini-3.1-pro-preview– high‑fidelity creative direction.
Tier 2
gemini-2.0-flash– high‑speed fallback.
Tier 3
gemini-1.5-flash-8b– emergency quota resilience.
Challenges Fixed
Integrating a heavyweight library like Cesium into a Next.js App Router environment posed significant challenges with asset serving and TypeScript definitions. I automated the movement of Cesium’s build assets into the public directory during the pre‑build phase to ensure the tiles render correctly in production.
Project Links
- GitHub:
- Demo video:
#GeminiLiveAgentChallenge #GoogleAI #GoogleCloud #Gemini