Inspiration

When I was a cheap budget traveller in university - my gf and I wanted to go on guided tours in cities when we went to travel to a new city, but we were too frugal to spend money on that. Auramap solves this problem.

What it does

AuraMap generates personalized AI-narrated audio walking tours on demand. Pick a start and end point, choose direct or scenic, and within seconds you're listening to a professionally narrated tour with karaoke-style transcript highlighting — while remaining segments generate in the background.

Behind the scenes, a City Intelligence Agent runs autonomously in a continuous loop: researching POIs via web search, generating narratives, self-evaluating quality (old vs. new), keeping the winner, and versioning improvements in a knowledge graph. A live dashboard visualizes the agent's decisions in real-time.

How we built it

Two-layer agent architecture:

  • Tour Pipeline — Orchestrates POI research (Tavily) → narrative planning (Fastino Labs Llama 3.3 70B) → segment writing with coherence tracking → quality evaluation (OpenAI GPT-4o-mini) → TTS (MiniMax). Low-scoring segments auto-regenerate with evaluator feedback.
  • City Intelligence Agent — Background loop cycling every 60s: research → generate → evaluate → version in Neo4j. Self-improves without human intervention.

Frontend is Expo/React Native with a single-screen transforming UI. Dashboard uses D3.js force-directed knowledge graph + dual SSE feeds.

Sponsor tools: Tavily, Neo4j, OpenAI, Fastino Labs, MiniMax TTS

Challenges we ran into

  • Narrative coherence — Solved by passing full prior transcript as context and planning transition hooks in the outline
    • Time-to-first-audio — Progressive SSE streaming gets segment 1 playing in ~3-5s while the rest generates
    • Honest self-evaluation — Using a separate model (OpenAI) as evaluator vs. generator (Fastino) prevents rubber-stamping

Accomplishments that we're proud of

  • The agent genuinely self-improves — quality scores visibly climb in the dashboard over successive cycles
    • End-to-end polish from map interaction to synced karaoke playback feels like a real product
    • Live dashboard makes autonomous behavior tangible during demos

What we learned

  • Separate generator and evaluator models produce more honest self-improvement than self-evaluation
    • Progressive delivery changes UX — time-to-first-audio matters more than total generation time
    • Neo4j makes version history trivial; tracking narrative improvement over time is a single query

What's next for auramap

  • GPS-triggered auto-play as users approach each POI
    • Multi-city and multi-language expansion
    • Community-contributed local stories feeding the knowledge graph
    • Offline pre-cached tours for areas with poor connectivity

Built With

Share this project:

Updates