Turing College Logo

Intake Counsel

Intake Counsel

About this project

## Tagline (one line)


An AI intake assistant that turns half-told stories into case-ready inquiries — for a law firm website.


---


## About this project


Most people who contact a law firm online write two sentences and expect a call back. What

they leave out is exactly what the lawyer needs before the first appointment — so the real

work starts with a round of emails, or with a meeting spent collecting basics.


Aktenreif closes that gap at the point of contact. A visitor describes their situation in the

firm's contact form as freely as they like. Before the inquiry is filed, an AI stage judges

whether the description is actually usable for the kind of matter it concerns. If something

essential is missing, a short dialog opens and asks for it — one question at a time, in plain

language, never more than the matter requires. If the description is already complete, the

visitor is simply thanked and nothing else happens.


What the firm receives is not a chat transcript to wade through, but a structured, internal

summary of the case, alongside the full log.


Around that sits the part that makes it usable in a regulated profession:


- A deterministic gate runs before the AI, not after it. Some inquiries a firm is not

  allowed to handle at all — those never reach a conversation, and the check that decides

  this uses no model and no network, so the same input always yields the same decision and

  can be justified afterwards.

- The inquiry is stored before the model is ever asked. If the AI is slow, broken or

  unconfigured, the site degrades into an ordinary contact form. An outage may cost a

  feature; it must never cost a client.

- The dialog can only end when it is genuinely finished — several guardrails in the tool

  loop exist specifically to stop the model from answering its own questions, filling gaps

  with plausible-sounding placeholders, or declaring a case complete because it would like

  to be.

- The assistant can offer the earliest realistic callback window, derived from the firm's

  actual calendar rather than invented by the model, and can take documents when the

  conversation makes them relevant.

- Only the description ever reaches the model — names, e-mail addresses and phone numbers

  stay on the server.


Built as a working MVP against a real (fictionalised) family and inheritance law practice,

including two design variants of the site itself for A/B comparison. Cost per fully conducted

intake: roughly two cents.


## Technical implementation


Node.js and Express with server-rendered pages, no build step and no frontend framework.

The conversation runs through the Anthropic SDK against OpenRouter, using a small set of

purpose-built tools — set the matter type, fill the checklist, request documents, look up a

callback window, close the case — driven by a tool loop with explicit safeguards and forced

finalisation. The system prompt is cached per request; timeouts and retries are pinned so a

hanging connection cannot strand a visitor. Two end-to-end smoke tests exercise complete

intake scenarios against a running server and check more than a dozen assertions each, which

is what makes swapping the underlying model a ten-minute decision rather than a leap of faith.


Tech: Node.js · Express · Anthropic SDK · OpenRouter · ESM JavaScript · server-side

rendering · fuzzy matching · JSON file storage · SMTP


## Links


- GitHub: https://github.com/ai-anwalt/website

- (Demo-Link, falls du eine Instanz veröffentlichst)

- LinkedIn: …


## Looking for


Vorschlag zum Ankreuzen: New job opportunities, Freelance projects.

Created byStefan Frisch
Published atSeptember 16, 2026
CourseAI engineering
Looking for
Freelance projectsNew jobCo-founderPotential users