# Welcome newcomers to Vienna

- **Event:** [Built with Opus 4.7: a Claude Code hackathon](https://cerebralvalley.ai/e/built-with-4-7-hackathon)
- **When:** Apr 21 at 12:00 PM – Apr 27 at 2:00 AM (EDT)
- **Where:** Online
- **Team:** [Jacob Suchorabski](https://cerebralvalley.ai/u/jasucho)
- **GitHub:** https://github.com/svcho/wegweis
- **Demo video:** https://www.loom.com/share/44f8a07d8b3f4219b554d6b108ea171b
- **Gallery:** https://cerebralvalley.ai/e/built-with-4-7-hackathon/hackathon/gallery
- **Page:** https://cerebralvalley.ai/e/built-with-4-7-hackathon/hackathon/gallery/15

Situation-first, grounded, multilingual assistant for Vienna municipal processes for newcomers who just moved here (No matter if its people moving or refugees seeking protection in Vienna).

A newcomer describes their situation in plain language — in English, German, Ukrainian, Arabic, or Bosnian/Croatian/Serbian — and Wegweis returns an ordered, verified checklist of what to do next: offices, documents, appointment links, freshness badges, and a direct NGO handoff when the case needs a human.

Why this exists

Most "chat with the city" tools answer with plausible prose. Newcomers don't need plausible — they need verified, in the right order, with source URLs they can forward to an employer or a school. Wegweis is built around that constraint:

Two-stage, prose-free. Stage 1 is a small Anthropic Haiku call in forced tool-use mode that returns closed-vocabulary structured facets (topic, situation tags, language, ambiguity score) — never free text. Stage 2 is a deterministic router that maps those facets to a checklist assembled from author-controlled scenario metadata. Document names, phone numbers, and URLs are never synthesised. Hallucinated enum values are Zod-rejected and the route falls through to a deterministic retrieve baseline.

Cached. A 6 h KV-backed prompt cache makes repeat queries return in tens of milliseconds. Only fully grounded answers are cached; clarifier cards, no-coverage fallbacks, and safety-blocked queries are never cached.

Situation-first, not topic-first. Users describe their situation ("I just arrived from Ukraine with two children") rather than guessing the right form name. Sequences encode the real journeys; scenarios are their steps.

Honest about coverage. When the system doesn't know, it says so and hands off to an NGO list — rather than confidently hallucinating an answer to a stressed newcomer. When the question is genuinely ambiguous, it surfaces a clarifier card rather than guessing.

---

Markdown version of https://cerebralvalley.ai/e/built-with-4-7-hackathon/hackathon/gallery/15. Site index for agents: https://cerebralvalley.ai/llms.txt · full text: https://cerebralvalley.ai/llms-full.txt
