RMN AI Assistent

An AI colleague for a small restaurant

Selamat datang di Rumah Makan Nusantara.

The staff of Rumah Makan Nusantara, a fictional Indonesian restaurant in Saarbrücken, ask it about allergens, stock or free tables. It answers only from the restaurant's documents and systems, prepares supplier orders and guest replies, and leaves every decision to a person.

The app is in German, like the restaurant's team. The free demo may take about a minute to wake up.

„Welche Gerichte gehen bei Erdnussallergie?“
Laut Speisekarte ohne Erdnüsse: Rendang Sapi, Ayam Bakar Taliwang, Nasi Goreng, Soto Ayam, Tempeh Orek, Es Teler. Erdnüsse enthalten Gado-Gado und Sate Ayam.
DokumentSpeisekarte › Allergenangaben
DokumentHygiene und HACCP › Allergene

What it does

Four everyday jobs in a restaurant, each with the AI doing the legwork and a person deciding.

Answers with sources

Questions about dishes, allergens, opening hours, catering or hygiene rules are answered from the restaurant's own documents (retrieval-augmented generation). Under every answer, a receipt lists the sections and system records it used. If nothing matches, the assistant says it does not know.

Chat answer listing dishes without peanuts, with a receipt of the documents used

Stock and supplier orders

Stock comes from the inventory system through a REST API. Below the minimum, the app proposes an order per supplier in full packs, warns about minimum order values and asks management to approve orders over 500 €.

Stock table with minimum levels and a supplier order proposal

Guest e-mails become checked drafts

The assistant reads a reservation or catering request, checks opening hours, free seats, allergens and prices, and writes a reply. The reservation is only booked when a person approves the draft.

Reservation e-mail with extracted fields, checks and a reply draft

How to use it

About five minutes, no account needed.

  1. Open the live app. In Assistent, click one of the example questions.
  2. Ask something that is not in the documents, such as the weather. The assistant says honestly that it does not know.
  3. In Vorrat & Einkauf, create an order draft for a supplier and send it.
  4. In Posteingang, open the Saturday reservation request and click Auswerten.
  5. Approve the reply. The table appears under Reservierungen and the step in the Protokoll.
  6. Try the Monday request (closed day, alternative offered) and the catering request.

How it works

PartChoice
KnowledgeRestaurant documents in Markdown, split by section, BM25 retrieval with a score threshold; allergen answers read directly from the menu's allergen codes
ToolsSix read-only tools (documents, stock, low stock, order proposal, availability, reservations) with JSON schemas; the model cannot call anything else
Business rulesComputed in code: order quantities, approval limit, opening hours, seat capacity, catering prices and lead times
ModelAny OpenAI-compatible endpoint: OpenAI, or a self-hosted model (Ollama, vLLM) so data stays on your own server; a rule-based demo mode needs no model
BackendPython, FastAPI, SQLite, audit log, rate limits for public demos
FrontendReact with TypeScript
Quality16 automated tests, including a fake model that exercises the tool-calling loop; CI on GitHub Actions; Docker

Run and test it yourself

git clone https://github.com/sayamrina/rmn-ai-assistent.git && cd rmn-ai-assistent
docker build -t rmn-ai-assistent . && docker run -p 8000:8000 rmn-ai-assistent

# or without Docker
python -m venv .venv && .venv/bin/pip install -r backend/requirements-dev.txt
(cd frontend && npm ci && npm run build)
cd backend && ../.venv/bin/pytest -q && ../.venv/bin/uvicorn app.main:app --port 8000

Set LLM_PROVIDER=openai with OPENAI_API_KEY, or LLM_PROVIDER=local with LLM_BASE_URL for a self-hosted model.

Rumah Makan Nusantara, its menu, suppliers, guests and e-mails are fictional. This app was built by Amrina, with AI as a supporting tool for coding.