Inspiration
Travel memories often end up as fragmented photos buried deep in our camera rolls. Drawing from my academic background in AI and data science as a Master of Computing student at NTU, I realized that static images lack the emotional resonance of the actual experience. I wanted to build a platform that bridges the gap between raw visual data and cinematic storytelling. The vision was to create a "living memory canvas" where a single photo could autonomously evolve into a fully narrated vlog. Thus, Nexus Vlog Memory was born—a global platform that turns static geographical coordinates into breathing, moving stories.
What it does (Core Features)
Nexus Vlog Memory is not just a video generator; it is a full-stack, interactive geographical SaaS platform.
- Dynamic Global Canvas & Draggable Pins: Users are not restricted to a single location. Through a highly responsive map interface, users can search and switch to any global location, effortlessly dragging and dropping custom icons to pinpoint their exact memory spots.
- Intelligent Prompt Guardrail Engine: Users upload an original photo and enter a simple description. Instead of sending this directly to the video model, our Gemini-powered Agent intercepts it. It automatically sanitizes the prompt (de-IPing trademarks and neutralizing unsafe actions) and transforms it into an "action-driven" cinematic script that animates the photo without altering the subjects' identities.
- Cinematic Vlog Synthesis: Generating isolated 5-second clips isn't enough. Our automated backend stitching engine downloads the generated Veo clips via native Google Cloud Storage (GCS) SDKs, applying professional crossfade transitions, dynamic location typography (text overlays), and adaptive looping background music to synthesize a seamless, ready-to-share vlog.
- Steganographic Postcards & One-Click Memory Cloning: Every memory is portable. Users can export their landmark (including the original photo, coordinates, and generated video URL) into a shareable "AI Postcard." Anyone receiving this postcard can use our One-Click Clone feature to import it, instantly recreating the exact pin, media, and context on their own global map canvas.
How we built it
- Frontend: Vue.js and Tailwind CSS for a fluid, responsive map interface that handles complex states (dragging, cloning, real-time updates).
- Backend Orchestration: FastAPI (Python) routing asynchronous tasks and managing the multi-modal AI pipelines.
- AI Core: Gemini 1.5 Pro serves as the brain for prompt engineering, safety moderation, and context formatting. Vertex AI (Veo 2.0) handles the heavy lifting of high-fidelity Image-to-Video generation.
- Cloud Infrastructure: Google Cloud Storage (GCS) manages media assets, utilizing dynamically issued Signed URLs to ensure absolute data privacy. Cloud Firestore serves as the real-time NoSQL database.
- Media Processing Engine: Python's
moviepylibrary programmatically handles the final vlog rendering, executing complex tasks like audio loops and video crossfading without needing heavy local GPU resources (developed and tested seamlessly on an AMD Ryzen 5 laptop).
The AI Prompt Logic Mechanism (Under the Hood)
One of our proudest architectural achievements is the Dual-Layer Prompt Guardrail.
- The Safety & IP Filter: Veo 2.0 is extremely strict regarding unsafe actions (e.g., "falling") and copyrighted IPs (e.g., "Universal Studios"). Our Gemini Agent acts as a legal and safety buffer, detecting these triggers and instantly rewriting them into safe, generic cinematic descriptions (e.g., "A smooth cinematic glide in a theme park") while prompting the user for confirmation.
- Identity Preservation: For Image-to-Video generation, describing the subjects in the prompt causes Veo to redraw them, losing the original users' faces. Our Gemini logic specifically strips out physical descriptions and strictly generates action-and-camera-driven prompts (e.g., "subjects smile, camera pans left"), ensuring the original photo truly comes to life.
Challenges we ran into
- GCS URL Truncation in Processing: Initially, using HTTP signed URLs directly in the video processing pipeline caused
400 Bad Requesterrors. We re-architected the pipeline to use the native GCS SDK, securely downloading temp files locally, processing the heavy lifting, and securely re-uploading the stitched vlog. - State Management Glitches: Implementing the one-click clone and global map switching introduced "ghost data" and overlapping map pins. We had to dive deep into Vue.js lifecycle hooks to strictly enforce state cleanup and ensure flawless UI synchronization.
What's next for Nexus Vlog Memory
The foundation for a multimodal geographical agent is laid. Our immediate next step is to integrate a Visual Environment Agent. By allowing Gemini to analyze the uploaded photo, the system will autonomously extract weather conditions, lighting, and environmental tags (e.g., "Golden Hour," "Rainy Afternoon"), automatically tagging the map and further refining the video generation context without any manual user input.
Built With
- cloud-firestore
- fastapi
- gemini
- gemini-1.5-pro
- google-cloud
- python
- tailwind-css
- veo-2.0
- vertex-ai
- vue.js
Log in or sign up for Devpost to join the conversation.