The Spirited Oracle: A Multi-Agent Ghibli Apartment Hunter Powered by Gemini

Published: (February 25, 2026 at 10:03 PM EST)
3 min read
Source: Dev.to

Source: Dev.to

Overview

This submission for the Built with Google Gemini: Writing Challenge tackles the chaotic off‑campus housing market. Traditional listings often hide the true cost—utilities, parking, renter’s insurance, gym memberships, and more can push a $1,400/month rent to $1,850/month. To cut through the noise, my team built The Spirited Oracle, an apartment‑hunting tool reimagined as a Studio Ghibli film.

The system uses a multi‑agent AI architecture powered by Google Gemini 2.5 Flash and voiced by beloved Ghibli characters via ElevenLabs. Instead of reading a dry spec sheet, users receive character‑driven insights that reveal the real cost of renting.

Multi‑Agent Architecture

Agents

EmojiAgent (Character)Role
🚂The Conductor (Spirited Away)Calculates real commute times via OSRM routing.
💸Lin (Spirited Away)Extracts hidden fees and computes the true monthly cost.
⚖️The Baron (The Cat Returns)Computes a deterministic ZORI market‑fairness percentile.
🌿Kiki (Kiki’s Delivery Service)Calculates Walk Scores and safety metrics using live OpenStreetMap data.
🖤The Soot SpritesDig through fine print to uncover buried fees.
🔧KamajiOrchestrates findings into a final “Spirit Match” score and narrative using Gemini.

Gemini receives raw JSON from APIs (e.g., Overpass, OSRM) and translates it into character‑driven insights. A chat interface, powered by Gemini, lets users ask follow‑up questions with full listing context.

Pipelines

The system employs a dual‑pipeline architecture:

  • Batch pipeline – pulls and processes large data sets (e.g., market‑wide ZORI data) in the background.
  • Single pipeline – handles per‑listing queries in real time, ensuring low latency for the user‑facing UI.

Implementation Details

  • Grounding LLMs in reality – Instead of asking the LLM to judge rent fairness (which leads to hallucinations), we compute a deterministic fairness metric from Zillow’s ZORI/ZORDI data and let the LLM narrate the result.
  • State management across agents – Gemini 2.5 Flash’s speed allowed six agents to run in parallel. To enforce pure JSON outputs, we added aggressive fallback handlers and refined system prompts, mitigating parsing errors such as stray text ("Here is your JSON:").

Overall, once guardrails were in place, Gemini proved to be a powerhouse for agentic workflows.

Lessons Learned

Grounding LLMs in Reality

  • Deterministic data (e.g., ZORI) should drive quantitative decisions; the LLM’s strength lies in storytelling and contextualization.

State Management Across Agents

  • Fast model responses reduce latency, but strict output formats are essential. Future improvements could include native JSON‑mode enforcement.

Resources

0 views
Back to Blog

Related posts

Read more »