<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Amine ZAMANI</title>
    <description>The latest articles on DEV Community by Amine ZAMANI (@aminz).</description>
    <link>https://dev.to/aminz</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2666111%2Fc3c2e899-15ff-474a-a79d-c99fab7e0824.png</url>
      <title>DEV Community: Amine ZAMANI</title>
      <link>https://dev.to/aminz</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/aminz"/>
    <language>en</language>
    <item>
      <title>🌍✨ MapShot : From Landmarks to Local Shops: Capture Yourself Anywhere using Gemini-2.5-flash-image-preview</title>
      <dc:creator>Amine ZAMANI</dc:creator>
      <pubDate>Sun, 14 Sep 2025 22:25:43 +0000</pubDate>
      <link>https://dev.to/aminz/mapshot-your-virtual-passport-create-limitless-travel-memories-22d2</link>
      <guid>https://dev.to/aminz/mapshot-your-virtual-passport-create-limitless-travel-memories-22d2</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/google-ai-studio-2025-09-03"&gt;Google AI Studio Multimodal Challenge&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Built
&lt;/h2&gt;

&lt;p&gt;An applet that lets users create realistic travel photos of themselves in iconic places (New York, Rome, Amsterdam, Marrakesh, etc.).&lt;br&gt;
The user takes a live photo, then enters a studio to:&lt;/p&gt;

&lt;p&gt;pick a city and either a curated landmark or a precise spot via a 3D map,&lt;/p&gt;

&lt;p&gt;tune scene parameters (day/night, weather, clothing style, selfie vs normal),&lt;/p&gt;

&lt;p&gt;optionally use voice to navigate the map to a place.&lt;/p&gt;

&lt;p&gt;Two generation modes:&lt;/p&gt;

&lt;p&gt;Immersive Map → Street View (2-step compose): user positions a virtual camera; the app captures the center lat/lng, fetches a Street View image for that location, then composes the user into that background with Gemini.&lt;/p&gt;

&lt;p&gt;Landmark Grid (text-to-image compose): user picks a famous place; the app describes the place (no Street View fetch) and asks Gemini to generate the scene + integrate the user.&lt;/p&gt;

&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.canva.com/design/DAGy_CO5_nY/-mKGL6FvYnSxHVR_b5L4gQ/watch?utm_content=DAGy_CO5_nY&amp;amp;utm_campaign=designshare&amp;amp;utm_medium=link2&amp;amp;utm_source=uniquelinks&amp;amp;utlId=h6591f7d032" rel="noopener noreferrer"&gt;CANVA VIDEO DEMO 🎥&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=LBNzduRhMoQ" rel="noopener noreferrer"&gt;YOUTUBE VIDEO DEMO 🎥&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://mapshot-50134736379.us-west1.run.app/" rel="noopener noreferrer"&gt;LIVE DEMO 📸 &lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff9xou4tggvfv513meqjx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff9xou4tggvfv513meqjx.png" alt=" "&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fflfd0027uwpo9o4tbysc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fflfd0027uwpo9o4tbysc.png" alt=" "&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwrv85lxvl9xlu69006me.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwrv85lxvl9xlu69006me.png" alt=" "&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftzq8tz85vzew55jeg4oh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftzq8tz85vzew55jeg4oh.png" alt=" "&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F687w3058nneebsgslfq1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F687w3058nneebsgslfq1.png" alt=" "&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgdnhc678nwdswjarx6ta.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgdnhc678nwdswjarx6ta.png" alt=" "&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Take a live photo in-app 📸&lt;/li&gt;
&lt;li&gt;Choose a city 🌍&lt;/li&gt;
&lt;li&gt;Select Landmark (grid) or switch to Map and place the camera at the exact spot 🗺️&lt;/li&gt;
&lt;li&gt;Adjust time, weather, clothing, selfie/normal ✨&lt;/li&gt;
&lt;li&gt;Generate → preview → download/share the image 🎉&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;(Optional) Say: “Navigate to Times Square” → the map centers there via voice command&lt;/p&gt;

&lt;h2&gt;
  
  
  How I Used Google AI Studio
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Gemini 2.5 Flash (text)&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Parse voice commands into a {placeName, lat, lng} result.&lt;/li&gt;
&lt;li&gt;Build the final scene prompt (lighting, outfit, style, constraints).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Gemini 2.5 Flash Image (image)&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Image-to-image compose: merge the user’s live photo with either (a) Street View background (map mode) or (b) text-described landmark scene (grid mode).&lt;/li&gt;
&lt;li&gt;Enforce constraints (single subject, photorealism, perspective/lighting consistency).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Models used in code:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;gemini-2.5-flash (text) for NLU &amp;amp; JSON extraction&lt;/li&gt;
&lt;li&gt;gemini-2.5-flash-image-preview (image) for generation/compose&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Multimodal Features
&lt;/h2&gt;

&lt;p&gt;Pipeline A — Immersive Map → Street View → Compose (2 steps)&lt;br&gt;
&lt;strong&gt;Step A1. 3D Map camera placement&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;API: Google Maps JS API (v=beta) with libraries=maps3d,marker&lt;/li&gt;
&lt;li&gt;Component: Web Component  (props: center, range, tilt, heading)&lt;/li&gt;
&lt;li&gt;Action: User moves camera; we read center lat/lng from the map element.&lt;/li&gt;
&lt;li&gt;Optional: Voice navigation (see Step A0).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Step A0. Voice → Place → Lat/Lng (optional)&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;API (browser): Web Speech API (webkitSpeechRecognition) for STT&lt;/li&gt;
&lt;li&gt;AI: gemini-2.5-flash to interpret the transcript and return JSON:&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;{ "placeName": "Times Square", "lat": 40.7580, "lng": -73.9855 }&lt;br&gt;
&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Action: Fly the camera to that coordinate via flyCameraTo.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Step A2. Fetch Street View&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;API: Street View Static API&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;GET https://maps.googleapis.com/maps/api/streetview/metadata?location={lat},{lng}&amp;amp;key=GMAP_API_KEY (check availability)&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;GET https://maps.googleapis.com/maps/api/streetview?size=640x480&amp;amp;location={lat},{lng}&amp;amp;fov=90&amp;amp;heading=…&amp;amp;pitch=…&amp;amp;key=GMAP_API_KEY&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Output: background image (base64) for the exact spot.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Step A3. Compose with Gemini (image)&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Model: gemini-2.5-flash-image-preview&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Inputs:&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Inline image 1 = user live photo (base64)&lt;/p&gt;

&lt;p&gt;Inline image 2 = Street View background (base64)&lt;/p&gt;

&lt;p&gt;Text prompt = scene params (time, weather, clothing, selfie/normal) + constraints (1 person only, photorealism, light/shadow match).&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Output: final image (base64, shown + downloadable).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Pipeline B — Landmark Grid → Text-described Scene → Compose&lt;br&gt;
Step B1. Select a famous place&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Data: curated places[] per city (name + description).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;No Street View call in this mode.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Step B2. Generate with Gemini (image)&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Model: gemini-2.5-flash-image-preview&lt;/li&gt;
&lt;li&gt;Inputs:&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Inline image 1 = user live photo (base64)&lt;/p&gt;

&lt;p&gt;Text prompt = detailed scene description of the landmark (lighting, weather, outfit, selfie/normal, constraints).&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Output: final photorealistic image.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Multimodal Features (Why it helps)&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;3D map + camera metaphors: users choose the exact angle and spot, leading to more believable compositions.&lt;/li&gt;
&lt;li&gt;Voice navigation: faster targeting of places (hands-free) before capture.&lt;/li&gt;
&lt;li&gt;Dual generation paths: precision (Street View background) or speed (landmark text scene).&lt;/li&gt;
&lt;li&gt;One-tap export: download/share directly.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>devchallenge</category>
      <category>googleaichallenge</category>
      <category>ai</category>
      <category>gemini</category>
    </item>
    <item>
      <title>✨Vocabia: Multilingual Story-Based Vocabulary Learning with Gemini 2.5 Flash &amp; Imagen 4.0</title>
      <dc:creator>Amine ZAMANI</dc:creator>
      <pubDate>Thu, 11 Sep 2025 20:02:23 +0000</pubDate>
      <link>https://dev.to/aminz/vocabia-multilingual-story-based-vocabulary-learning-with-gemini-25-flash-imagen-40-9ld</link>
      <guid>https://dev.to/aminz/vocabia-multilingual-story-based-vocabulary-learning-with-gemini-25-flash-imagen-40-9ld</guid>
      <description>&lt;p&gt;&lt;strong&gt;What I Built&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I built Vocabia, an app that helps students at three levels—Primary, Middle School, and High School—enrich their vocabulary in three languages (English, French, Spanish).&lt;/p&gt;

&lt;p&gt;Instead of passively reading, learners actively rebuild stories sentence by sentence:&lt;/p&gt;

&lt;p&gt;Each sentence is broken down into words.&lt;/p&gt;

&lt;p&gt;Learners must connect the words in the correct order.&lt;/p&gt;

&lt;p&gt;They can flip any word to see its translation in the other two languages.&lt;/p&gt;

&lt;p&gt;If the word represents a physical object, they can view a flashcard-style image of it.&lt;/p&gt;

&lt;p&gt;A timer adds challenge and motivation.&lt;/p&gt;

&lt;p&gt;Once the story is completed, Vocabia reads it aloud and generates a single illustration that represents the whole narrative.&lt;/p&gt;

&lt;p&gt;Vocabia transforms vocabulary building into an interactive, visual, and multilingual journey.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Demo&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Here’s a walkthrough of Vocabia in action:&lt;/p&gt;

&lt;p&gt;Choose a difficulty level (Primary / Middle School / High School).&lt;/p&gt;

&lt;p&gt;Choose a language (English / Français / Español).&lt;/p&gt;

&lt;p&gt;Connect the word nodes to form sentences.&lt;/p&gt;

&lt;p&gt;Flip words to see translations in two other languages.&lt;/p&gt;

&lt;p&gt;If it’s an object, view a flashcard-style image.&lt;/p&gt;

&lt;p&gt;Complete all sentences before time runs out.&lt;/p&gt;

&lt;p&gt;Get the narrated story + a generated illustration as a reward.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Visual presentation&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Word linking (React Flow graph)&lt;/p&gt;

&lt;p&gt;Flip-to-translate feature&lt;/p&gt;

&lt;p&gt;Object image pop-up&lt;/p&gt;

&lt;p&gt;Confetti on success&lt;/p&gt;

&lt;p&gt;Final story narration + illustration&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.canva.com/design/DAGyswLkXH8/DwMNz6vtu35DGr_Gu8-BoA/watch?utm_content=DAGyswLkXH8&amp;amp;utm_campaign=designshare&amp;amp;utm_medium=link2&amp;amp;utm_source=uniquelinks&amp;amp;utlId=h1c47822652" rel="noopener noreferrer"&gt;Video Demo 🎥  &lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://vocabia-50134736379.us-west1.run.app" rel="noopener noreferrer"&gt;Live demo 🚀  &lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How I Used Google AI Studio&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I leveraged Google AI Studio to integrate Gemini’s multimodal capabilities into Vocabia:&lt;/p&gt;

&lt;p&gt;Story generation (Gemini 2.5 Flash) → Generates stories in structured JSON format (sentences → words → translations → object flag).&lt;/p&gt;

&lt;p&gt;Per-word translation &amp;amp; classification → For each word, Gemini provides translations in the two other languages and identifies whether it’s a visualizable object.&lt;/p&gt;

&lt;p&gt;Per-word images (Imagen 4.0) → Generates simple flashcard-like images of objects (clean white background, no text).&lt;/p&gt;

&lt;p&gt;Final story illustration (Imagen 4.0) → Generates a single, colorful illustration summarizing the entire story.&lt;/p&gt;

&lt;p&gt;Code generation &amp;amp; debugging → Gemini helped scaffold React components, manage state transitions, and integrate React Flow.&lt;/p&gt;

&lt;p&gt;This mix of AI-driven structured outputs and image generation made Vocabia both engaging for learners and efficient to build.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Multimodal Features&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Vocabia enhances the learning experience through multimodality:&lt;/p&gt;

&lt;p&gt;Text → Structured JSON: Gemini generates coherent stories broken down word by word.&lt;/p&gt;

&lt;p&gt;Text + Image Generation: Each object word gets a visual flashcard image, reinforcing memory.&lt;/p&gt;

&lt;p&gt;Text → Full Story Illustration: Completed stories are turned into illustrations to reward learners.&lt;/p&gt;

&lt;p&gt;Text-to-Speech: Stories are read aloud for pronunciation and listening practice.&lt;/p&gt;

&lt;p&gt;By combining language learning, storytelling, visuals, and narration, Vocabia delivers an immersive, playful, and multilingual experience.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>googleaichallenge</category>
      <category>ai</category>
      <category>gemini</category>
    </item>
    <item>
      <title>Travel360 : ✈️ Explore, 📸 Selfie — Boosted by Gemini-2.5-flash-image-preview</title>
      <dc:creator>Amine ZAMANI</dc:creator>
      <pubDate>Sat, 06 Sep 2025 00:29:31 +0000</pubDate>
      <link>https://dev.to/aminz/travel360-by-amine-zamani-4m6p</link>
      <guid>https://dev.to/aminz/travel360-by-amine-zamani-4m6p</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/google-ai-studio-2025-09-03"&gt;Google AI Studio Multimodal Challenge&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Built
&lt;/h2&gt;

&lt;p&gt;I built Travel360, an app that offers guided tours of a city’s top landmarks through Google Maps’ immersive 3D view. Along the journey, users can capture AI-powered selfies at iconic spots.&lt;/p&gt;

&lt;p&gt;Travel360 turns repetitive selfies into unique, shareable moments and makes city exploration fun, accessible, and engaging — without the cost or limits of physical travel.&lt;/p&gt;

&lt;p&gt;With just a camera or a simple drag &amp;amp; drop, Gemini’s Nano Banana AI instantly places users in front of world-famous monuments like Times Square, Tower Bridge, or the Statue of Liberty.&lt;/p&gt;

&lt;p&gt;💡 Update: From my original Travel360 idea, I created MapShot — a more refined version with a pretty design and extra multimodal features.&lt;br&gt;
Discover the MapShot submission here 👉 : &lt;a href="https://dev.to/aminz/mapshot-your-virtual-passport-create-limitless-travel-memories-22d2"&gt;MapShot&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;

&lt;p&gt;Here’s a walkthrough of Travel360 in action:&lt;/p&gt;

&lt;p&gt;1) Navigate to a city in immersive view : &lt;a href="https://travel360-50134736379.us-west1.run.app/" rel="noopener noreferrer"&gt;https://travel360-50134736379.us-west1.run.app/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;2) Click on start tour&lt;/p&gt;

&lt;p&gt;3) Upload or take a selfie using camera.&lt;/p&gt;

&lt;p&gt;4) Generate a realistic selfie in the selected place.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.canva.com/design/DAGyJYE1vY8/V7VK0knCrd-eLGo2Y1GLZQ/watch?utm_content=DAGyJYE1vY8&amp;amp;utm_campaign=designshare&amp;amp;utm_medium=link2&amp;amp;utm_source=uniquelinks&amp;amp;utlId=h1087655acb" rel="noopener noreferrer"&gt;👁️ Canva  Visual presentation&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=zfR58ORM32s" rel="noopener noreferrer"&gt;👁️ Youtube Visual presentation&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Current deployed version demos (added features : quick capture mode, and selfie custom weather &amp;amp; daytime) : View NEW live demo : &lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.canva.com/design/DAGyVVDlK1U/fUfZODfalk4p6anZeWbv3w/watch?utm_content=DAGyVVDlK1U&amp;amp;utm_campaign=designshare&amp;amp;utm_medium=link2&amp;amp;utm_source=uniquelinks&amp;amp;utlId=ha8e9af1874" rel="noopener noreferrer"&gt;🎥 Canva Video Demo&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=AUIqim_UuQ8" rel="noopener noreferrer"&gt;🎥 Youtube Video Demo&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fttby4bfsrdix4aoaafro.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fttby4bfsrdix4aoaafro.png" alt=" "&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fav0w81zsy031iwyxpt4p.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fav0w81zsy031iwyxpt4p.png" alt=" "&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8ul5vbwt7dj3atvr9muu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8ul5vbwt7dj3atvr9muu.png" alt=" "&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  How I Used Google AI Studio
&lt;/h2&gt;

&lt;p&gt;I leveraged Google AI Studio to bring Gemini’s multimodal capabilities into Travel360 and speed up development:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Code &amp;amp; Debugging Support: Gemini helped generate React/TypeScript snippets, fix bugs, and streamline integration with Google Maps immersive 3D view.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Landmark Data: Gemini suggested the best places to feature in each city and provided their geographic coordinates to build a guided tour experience.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Selfie Generation (Prototype): With Gemini Nano Banana, I connected uploaded user images with context prompts (e.g., “Place the user at Times Square”) to generate realistic selfies at landmarks.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Multimodal Flow: Gemini processed both image + text inputs and produced image outputs, enabling a seamless flow between the guided city tour and selfie creation.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This mix of AI-assisted development and multimodal integration made Travel360 both faster to build and more engaging to use.&lt;/p&gt;

&lt;h2&gt;
  
  
  Multimodal Features
&lt;/h2&gt;

&lt;p&gt;Travel360 enhances the user experience through multimodality in several ways:&lt;/p&gt;

&lt;p&gt;Image + Text Inputs → users upload a photo and Gemini interprets instructions (via prompt) about where to place them.&lt;/p&gt;

&lt;p&gt;Immersive Map + AI Output → Google Maps 3D provides the navigation, while Gemini (gemini-2.5-flash-image-preview) generates a personalized selfie at the selected landmark.&lt;/p&gt;

&lt;p&gt;By combining the Google Maps immersive API with Gemini’s multimodal image generation API, Travel360 delivers a unique and playful experience — making every city feel instantly accessible.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3zjis2btdnm3pambm1bj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3zjis2btdnm3pambm1bj.png" alt=" "&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>googleaichallenge</category>
      <category>ai</category>
      <category>gemini</category>
    </item>
  </channel>
</rss>
