Where the Hokie Am I? — navigate your first week at Virginia Tech, in your language
A 3D diorama of campus with a multilingual AI guide. Tell it where you need to be, in English, Spanish, Mandarin, Hindi or Korean, and it walks you there along optimal paths that actually exist, and caters to any accessibility needs.
Inspiration
Our inspiration came from the low-poly dioramas of Civil War battles. The reason we built it is more personal. We know people who arrived at college with English as their second language, navigating an unfamiliar campus and an unfamiliar language at the same time.
What it does
Set yourself up. A short onboarding takes your major, residence hall, interests and accessibility needs, then generates a realistic class schedule you can edit. See your week. Every class for the week, each preceded by the walking leg from wherever the last one ended Ask in your own language. Type or speak a question. The guide replies in the language you used, out loud, and moves the camera to the building it's talking about. Walk it, don't read it. A guide bird walks the route across the model at walking pace while the camera follows, so the path is learnable instead of memorized. Speed is adjustable 0.5×–3×, and bird's-eye pulls out to frame the whole route mid-trip. Route around stairs. Turn on step-free routing and the walking graph re-weights to avoid steps, with walking pace adjusted to match. Discover the rest of campus. Clubs, events, dining and study spots are matched to your profile, each with the reason it was picked.
How we built it
Three.js r160 for the diorama, loaded from a CDN import map with no build step — index.html loads ES modules directly. OpenStreetMap (OSM) via the Overpass API for real footprints. Heights come from OSM's height and building. A A* walking graph over the same OSM footpaths the map draws, joined on shared node IDs, with footpaths weighted above roads and a 6× penalty on stairs when step-free is requested. Gemini with five bound tools — building search, nearest-building ranking, current location, student context, and camera fly-to — in a server-validated function-calling loop. ElevenLabs in both directions: Scribe for click-to-talk transcription, multilingual TTS for every spoken reply, degrading to captions if speech fails.
Challenges we ran into
Real data is messier than it looks. We pulled freely licensed photos from Wikimedia Commons, and roughly a third were unusable — a building mid-construction behind safety fencing, a distant rooftop skyline, one hidden behind a tree, one frame where you couldn't tell which of two buildings was the subject. Every filename looked correct. We ended up opening each image before shipping it and skipping six buildings entirely, because a confidently-labelled photo of the wrong building is worse than no photo for the exact user we built this for.
Grouping buildings was harder than expected. OpenStreetMap doesn't model "a building" — it models polygons, and one real hall can be eleven separate elements while two unrelated buildings share a name. We had to group by element and name with a distance threshold before anything downstream could treat a building as one selectable thing.
Accomplishments that we're proud of
The guide can't make things up. Every campus fact comes back through a tool call into our own data, and the camera only moves on a server-validated request — so it can't invent a building or send someone somewhere that doesn't exist. Full parity across five languages, not just translated buttons — the guide answers, speaks and listens in all of them, with a font stack that keeps headings readable in non-Latin scripts. Routes that follow real paths, because the router walks the same OSM footpath data rendered on screen. Accessibility as routing, not a label — step-free is a weighting on the graph and a change in pace, so the route visibly differs. Honest sourcing — every photograph carries its author, licence and source, and buildings without a verified free photo simply have none. It degrades instead of breaking. Voice failure still returns captions, backend failure leaves the map fully usable, and a cached OSM snapshot keeps it running if Overpass is down. What we learned
The biggest lesson was that grounding matters more than fluency. A guide that answers confidently in your language is actively dangerous if it's guessing, because you're the least equipped person to catch the mistake. Making Gemini call tools for every campus fact — and validating each call server-side — was the difference between a demo and something we'd hand to a friend.
We also learned how much of a real project is verification rather than building. Confirming a photo shows the building it claims to, that a route follows a path that exists, that the server is running the code you just wrote. Most of our hard bugs were things we believed without checking.
What's next
More languages. Five is a start; the students who need this most are spread across many more. Live data — real dining hours and bus routes instead of prototype records. Indoor wayfinding for once you're inside the building and still lost. Real schedule import, so students don't retype what their university already knows. Verified photo coverage for the buildings
Log in or sign up for Devpost to join the conversation.