[How to Video]
<iframe width="700px" height="400px" src="https://embed.app.guidde.com/playbooks/317zRdT599YfsrfcvADZmo" title="Welcome to FlickyPlots" frameborder="0" referrerpolicy="unsafe-url" allowfullscreen="true" allow="clipboard-write" sandbox="allow-popups allow-popups-to-escape-sandbox allow-scripts allow-forms allow-same-origin allow-presentation" style="border-radius: 10px"> </iframe>FlickyPlots is an innovative hackathon project that seamlessly blends AI, culture, and travel by connecting the world of cinema with real-world locations. Leveraging the power of Google Maps Platform and Gemini AI, FlickyPlots transforms a simple map into a dynamic discovery tool for movie enthusiasts and curious travelers alike.
We identify movies and their actual filming locations using Qloo's cultural data API, then plot these points on an interactive map. The real magic unfolds when you click on a location: Google's Gemini 1.5 Pro AI generates a unique, cinematic "traveler's experience," inviting you to "imagine" being right there on set.
-
Interactive Movie Map: Discover film locations plotted on a Google Map.
-
-Powered Travel Experiences: Click on a location to generate a unique, imaginative narrative by Gemini 1.5 Pro, inviting you to visualize being at the filming site.
-
Cultural Data Integration: Utilizes Qloo's API to source movie and location data.
-
User-Friendly Interface: Designed for easy navigation and engaging exploration.
###💡 Inspiration & Problem Solved Inspiration
My inspiration stemmed from a desire to bridge the gap between virtual entertainment and tangible exploration. I wanted to move beyond just listing filming locations and instead create an immersive experience that sparks imagination and encourages discovery. The idea of "imagining" yourself in a movie scene at its actual location felt like a powerful way to engage users with both film culture and global geography.
FlickyPlots addresses the need amongst movie goers (and travelers!) to connect with their favorite films on a deeper level. Traditional location lists can be static and uninspiring.
We solve this by:
-
Enhancing Discovery: Providing an interactive and engaging way to find movie filming locations worldwide.
-
Creating Immersive Experiences: Using AI to generate rich, descriptive narratives that make locations come alive, going beyond simple facts.
-
Encouraging Exploration: Inspiring users to virtually (and perhaps physically!) visit these cinematic landmarks, transforming passive viewing into active engagement.
FlickyPlots is built upon a robust stack of Google and third-party technologies:
-
Google Maps Platform: The core mapping engine for visualizing film locations.
-
Google Firebase: Our hosting platform for web application deployment and backend functions.
-
Google Gemini 1.5 Pro: Powers the AI-generated "traveler's experience" narratives.
-
Qloo API: Provides rich cultural data, specifically movie and location information.
-
Canva: Used for creating compelling imagery for the project.
-
Google Storage: For storing project imagery and assets.
-
GitHub: For version control and collaborative development.
-
Node.js 22: Runtime environment for Firebase Functions.
-
Tailwind CSS v4 CLI: For efficient and modern styling.
###⚙️ Technical Implementation
We extensively leveraged the Google Maps Platform to create an intuitive and informative (simple) geographic interface.
Key aspects include:
-
Map Initialization and Customization: Setting up the interactive map with custom styling for an optimal user experience.
-
Marker Placement: Dynamically plotting film locations as markers on the map, allowing for precise geographical representation. (Popcorn anyone?!)
-
Event Handling: Implementing click listeners on markers to trigger the AI-generated content, seamlessly integrating the map with our core feature.
-
Integrations & Data Flow
-
Qloo API Integration: Our backend (Firebase Functions) makes secure calls to the Qloo API to fetch movie-related cultural data, including filming locations. This data is then processed.
-
Firebase Functions as Middleware: Serverless functions handle API requests, process data, and orchestrate interactions between the frontend, Qloo, and Gemini AI. This ensures scalability and efficient resource usage.
-
Gemini 1.5 Pro Integration: Upon a user selecting a location on the map, a request is sent to a Firebase Function, which then calls the Gemini 1.5 Pro API. Gemini, powered by the location and movie context, generates the unique "traveler's experience" narrative.
-
Frontend (React/Vanilla JS with Tailwind CSS): The user interface displays the map, markers, and the AI-generated content, providing a smooth and engaging user experience.
-
Project Structure (relevant package.json snippets)
{
"name": "functions",
"description": "Cloud Functions for Firebase",
"scripts": {
"dev": "firebase emulators:start --only functions,hosting",
"serve": "firebase emulators:start --only functions",
"shell": "firebase functions:shell",
"start": "npm run shell",
"deploy": "firebase deploy --only hosting,functions",
"logs": "firebase functions:log"
},
"engines": {
"node": "22"
},
"main": "index.js",
"dependencies": {
"@google/generative-ai": "^0.24.1",
"axios": "^1.11.0",
"cors": "^2.8.5",
"dotenv": "^17.2.1",
"firebase-admin": "^12.6.0",
"firebase-functions": "^6.0.1"
},
"devDependencies": {
"firebase-functions-test": "^3.1.0"
},
"private": true
}
root/package.json (Frontend)
{
"dependencies": {
"@api/qloo": "file:.api/apis/qloo",
"@tailwindcss/cli": "^4.1.11",
"tailwindcss": "^4.1.11"
},
"scripts": {
"tails": "npx @tailwindcss/cli -i ./src/input.css -o ./public/output.css --watch"
}
}To set up FlickyPlots locally:
git clone [your-github-repo-link]
cd flickyplots
npm install # in the root directory
cd functions
npm install
cd ..
Create a .env file in your functions directory with your API keys (e.g., Qloo API key, Gemini API key if not handled directly by Firebase).
npm run dev # from the functions directory
This will start the Firebase emulators for both functions and hosting, allowing you to test the application locally.
npm run tails # from the root directory
This will compile your CSS.
We believe FlickyPlots best fits into the AI and Travel categories of categories for the Google Maps Platform Awards.
-
AI - Our core innovation lies in the integration of Google Gemini 1.5 Pro to generate dynamic and creative "traveler's experience" narratives, showcasing how AI can enhance location-based interactions. Though simple we aimed to create a experience that really resonated with someone looking just to quickly jump in and discover a little bit more about the location in one of their favorite movies.
-
Travel - FlickyPlots directly enhances the travel experience by inspiring virtual and potential physical journeys to cinematic locations, making discovery more engaging and personalized.
Developing FlickyPlots provided valuable insights into:
Orchestrating Multiple APIs: Successfully integrating Google Maps Platform, Qloo, and Gemini AI required careful data flow management and error handling across different services.
Prompt Engineering for AI: Crafting effective prompts for Gemini 1.5 Pro was crucial to generate the desired creative and cinematic narratives.
Optimizing Serverless Functions: Understanding the nuances of Firebase Functions for efficient and cost-effective backend operations.
User Contributions: Creating a user community to discuss the nuances of their favorite filming locations and AI-generated descriptions.
Thematic Journeys: Create curated "traveler's paths" based on movie genres, directors, or actors.
Augmented Reality (AR) Integration: Explore AR features to overlay movie scenes onto real-world locations through a mobile device.
Personalized Recommendations: Leverage user preferences to suggest new movies and locations based on their past interactions.
Expanded Cultural Data: Integrate more cultural data points beyond movies, such as music, art, or historical events linked to locations.
📞 Contact For any inquiries, please contact:
NiKole "Technikole" Maxwell info@technikole.com