Case study · Public AI Hackathon 2.0, Vienna
ida Lotse
A prototype that turns the AI chat on oesterreich.gv.at into a personal assistant. Built in two days by a team of five at the Public AI Hackathon 2.0 (StartUp Edition) of the Federal Chancellery and Digital Austria. I worked on the backend.
- Backend developer in a team of five
- Role
- Public AI Hackathon 2.0 5–6 October 2026, AI Factory Austria, Vienna
- Timeline
- Django, Vue, Tailwind CSS, Docker, vLLM, Gemma 4
- Stack
- Prototype Invited to pitch at "Inside the AI"
- Result

The challenge
Challenge 1 of the hackathon asked for an AI-supported digital assistant for citizens. oesterreich.gv.at already has an AI chat that gives information. Our idea was to make it personal and move it from information to concrete help: the next steps for your situation, the calculations that apply to you and forms that are already filled in.
ida Lotse is a hackathon prototype. It shows the idea end to end, but parts of it are simulated, and they are marked as such below.
The demo
My role
I worked on the backend. The assistant is an agent that calls tools, and I built the tools the Django backend provides: the two official calculators, the crawler and search over oesterreich.gv.at, and the structured reply blocks, including the step-by-step plans. I also built the simulated ID Austria login with profile data and wrote the shared API contract between frontend and backend.
What I built
Official calculators as tools
The agent calls the BMF commuter calculator (Pendlerrechner) and the gross-net calculator live instead of reimplementing them. The commuter lookup resolves the address, opens a session and calculates the trip. Ambiguous addresses come back to the user as a question.
oesterreich.gv.at index
A crawler that respects robots.txt, waits at least a second between requests and can resume. It collected 4,990 pages, split into 5,165 chunks with a BM25 search that returns source links. The content is licensed CC BY 4.0.
Step-by-step plans
A plan tool renders each step with why it matters, where to go, the deadline, what to bring and a source.
Structured replies
Questions, calculator results, sources and the login offer arrive as typed blocks, streamed to the browser with server-sent events.
Simulated ID Austria & profile data
A mock login with three fictional personas. The model asks for single profile fields and only gets those, and the interface lists which data was used.
Contract first
One shared contract for events, blocks and TypeScript types, so frontend and backend could be built in parallel.
Built by the team
Agent server & law search
RAG over the Austrian legal information system (RIS) and official forms, with a vector database and Qwen embedding and reranker models. Every request runs in a fresh, isolated container. Forms are prefilled through normalized field keys, so values can be reused across forms.
Open-weight inference
Gemma 4 (26B-A4B) served with vLLM on two A100 GPUs of the EuroHPC supercomputer Leonardo, reached through an SSH tunnel.
Chat frontend
The Vue and Tailwind interface, voice input through the Web Speech API and the multi-step form view.
Architecture
Engineering decisions
Live calculators, not copies
Results match the official calculators because they come from them. The trade-off: the endpoints are undocumented and can change.
Tools run where the data is
The remote agent requests a tool, Django runs it and posts the result back. Calculator calls and profile data stay in the backend.
Sources only from search results
Plan steps may only link pages the search actually returned, or an official homepage. The model cannot invent a link.
Data minimization
The model asks for single profile fields instead of getting the whole profile. The interface shows which fields were used.
Ask instead of guess
Missing or ambiguous details, such as an address with several matches, turn into a question block instead of an assumption.
Contract before code
Events and block types were defined before the first endpoint, so both sides could build against the same shape.
Results
- Positive feedback
- Very positive feedback from the State Secretary and the product owners.
- Invited to pitch
- Invited to pitch the project at the AI Austria meetup "Inside the AI".
- From question to plan
- A plain question ends as a sourced plan with calculations and a prefilled form.
What's next
The ID Austria login is simulated, and forwarding forms to the authorities is not built yet. The next steps would be a real ID Austria connection, the hand-off to the authorities, an encrypted data vault in the browser, and working plain-language and read-aloud modes.
Screenshots

Scripted demo mode · Two questions before the plan 
Scripted demo mode · Asks before it reads register data 
Scripted demo mode · Prefilled form, fictional persona 
Scripted demo mode · Simulated hand-off to the authority