AI Assistants

Chat assistants with tool calling

A good chat assistant is not a chatbot with FAQ knowledge but a second user interface for your application: it reads your data through the same domain services as the UI, understands your system's data schema, and handles work a form-by-form interface was never built for – bulk maintenance, research across many records, analysis on demand.

The most important building block is trust: our assistants never write to the database directly. Every intended change appears as an approval card with a before/after diff, and only the user's approval executes it. Bulk changes are a card too – approval starts a background job with live progress.

Transparency is part of the deal: the assistant streams its work, including its tool calls, live into the browser. Users see which data it reads and what it intends to do – not a black box, but a colleague you can look over the shoulder of.

And where calculation happens, the model doesn't calculate: comparisons, aggregations, and mappings run through your application's deterministic engine. The model phrases and explains – the numbers come from the system, and every answer shows its working.

AI Assistants

What makes our assistants different

Trust is an architecture feature

Approval cards

Every intended change appears as a card with a before/after diff. Dependent records are staged as their own cards instead of being created as side effects – only approval executes.

Role guard

The tool list is filtered by user role before the model ever sees it – and checked again at execution time. The assistant can never do more than the logged-in user.

Auditable analysis

Analysis runs through your application's comparison and calculation machinery. The model selects and explains – the arithmetic stays deterministic, and every answer shows its working.

Assistants at work

Four patterns from our project work – from a catalogue assistant to analysis on demand.

Catalogue work at deal scale
Analysis on demand
The portal inside the assistant
Reports that actually get read
Approval-Gated Writes

Catalogue work at deal scale

On a catalogue platform for media distributors, a licensing deal means hundreds of titles at once – work a record-by-record form was never built for. An assistant available on every page reads the catalogue, understands each customer's own attribute schema, reads uploaded spreadsheets and documents, and streams its work live. Core principle: the AI never writes on its own – every change is an approval card, including a bulk import as one single classified proposal.

Data Analysis

Analysis on demand

A major studio authors film budgets in Movie Magic – authoring documents that cannot be analysed across productions. The budgeting system solves the reading half by mapping all budgets onto a shared account tree; the planned analysis assistant adds the asking half: "What are the key differences between part 1 and its sequel?" – the agent picks the productions, uses the existing comparison machinery, and answers with the numbers, the caveats, and the comparison it built. Inspectable, not oracular.

Tool Calling

The portal inside the assistant

For a German film-industry association, the entire member area becomes an AI surface: a chat assistant in the portal uses the same role-guarded tool layer as the MCP channel for external AI clients. The tool list is filtered by role before the model sees it; write actions are staged as drafts a human approves.

Digests & Search

Reports that actually get read

An industry association continuously publishes reports as PDF, spreadsheet, or HTML – more than members can keep up with. An event-driven pipeline generates German-language digests at three zoom levels plus a trend analysis against the predecessors in the same series. Hybrid semantic search over the full text – embeddings plus keyword rank, deliberately on plain MySQL – makes the corpus searchable for members and the assistant.

Why this pays off

From form to conversation

The assistant doesn't replace your interface – it adds the cases where forms are uneconomical: touching hundreds of records, researching across the whole corpus, asking one question instead of setting five filters. Because the assistant works on the same tool layer as the UI and the MCP channel, there is exactly one place where domain logic and permissions live – and every new function is immediately available in all channels.

Highlights

  • Tool calling: the assistant uses your application's domain services – filtered by role
  • AI never writes directly: every change is an approval card with a diff
  • Batch-capable: one approval starts background jobs with live progress
  • Transparent: tool calls stream live into the browser
  • The deterministic engine calculates – the model explains

Software Development in Hamburg!

Start new project with us or upgrade an existing one to the next level