Inspiration Memories fade, but places stay with us. We wanted a way to take two ordinary photos of somewhere meaningful — a childhood home, a grandparent's backyard, a college dorm — and let you walk back inside it using VR. The idea that anyone could relive a place just from their camera roll felt powerful and deeply personal.
What it does MemoryLane VR takes two photos of any environment and uses Google Gemini AI to generate a photorealistic 360° equirectangular panorama. That panorama is instantly streamed to a Meta Quest 2 headset as a fully immersive skybox — no 3D modeling, no special cameras, just two photos and you're inside the memory.
How I built it Backend: Python FastAPI server that accepts two image uploads, sends them to Gemini's image generation model with a prompt engineered for equirectangular panoramas, and serves the result as a static texture AI: Google Gemini 2.5 Flash Image for photorealistic panorama generation VR: Unity with Meta XR SDK a C# script polls the backend every 3 seconds and applies new panoramas as a live Unity skybox Networking: ngrok tunnel so the Quest 2 can reach the local backend from anywhere Challenges we ran into Getting Gemini to output a true equirectangular panorama with seamless edges required careful prompt engineering Unity's HTTP restrictions on Android required a custom AndroidManifest to allow cleartext traffic Networking between the Quest 2 and the backend across a university WiFi with client isolation — solved with ngrok Shader stripping on Android builds dropped the Skybox/Panoramic shader until we force-included it Accomplishments that we're proud of A fully working end-to-end pipeline from two photos to an immersive VR environment in seconds Getting the Quest 2 to live-update the skybox without any interaction inside the headset Prompt engineering Gemini to produce seamless 360° panoramas with consistent lighting What we learned How to use Gemini's multimodal image generation API with multiple input images The full Unity → Android → Meta Quest 2 build pipeline from scratch How equirectangular projection works and why aspect ratio and edge tiling matter for VR skyboxes What's next for MemoryLane VR Add audio — record a voice memo or ambient sound to play inside the memory Mobile app to upload photos directly from your phone instead of curl Multi-photo blending — stitch more than two photos for richer environments Save and revisit a personal library of memories inside the headset



Log in or sign up for Devpost to join the conversation.