CASE STUDY - 05
An AI assistant for Universal Credit caseworkers, built by a working caseworker with an MSc in Software Development.
ROLE - Design & development (solo)
STACK - Node.js · Express · Claude API
STATUS - Portfolio prototype
YEAR - 2026

Journal response assistant, synthetic example
Caseworkers answer a high volume of claimant journal messages, write handover case notes, and populate repetitive standard letters every day. Each task carries real weight: a journal response has to be accurate against policy and right in tone, a case note has to be factual for the next person on the case, and a letter has to be populated without transposition errors. A message that looks routine can also be a safeguarding risk - suicide, domestic abuse, a child protection concern - and those can't be answered with a generic policy reply.
Three tools, one principle throughout: the AI drafts, the caseworker decides. The journal assistant classifies a pasted message for safeguarding and topic first, loads only the matching GOV.UK guidance, then returns a claimant-facing draft, a guidance reference, a review checklist and a suggested case note - grounded only in the guidance it was given, never invented. The letter tool lets a caseworker paste a case to-do and has the AI extract values into a form; generating the actual letter is deterministic string replacement, not a model rewriting legal wording. The case note assistant turns a situation summary into a factual, third-person internal note.
Every output lands in an editable review area, not an outbox - nothing is ever sent or posted automatically. All example data shipped with the project, including a labelled safeguarding demo, is fabricated for the purpose.

This tool never uses, contains or assumes real claimant data. Every example message, name and case detail is fabricated, and operational values - account numbers, sort codes, references - are obvious placeholders. A portfolio project that handled real benefit data, even by accident, would be a serious data protection failure. Building the constraint in from the start was the point, not an afterthought.
Classification picks the relevant guidance files so the model is never asked to search a dump of every policy area, and its system prompt constrains it to draft only from the guidance it was handed. If that guidance doesn't clearly cover a topic, the tool says so rather than guessing at figures, dates or amounts.
The AI may extract values from pasted text into a form; it never drafts the letter itself. Generating the letter is deterministic string replacement, so fixed legal wording and rights information can't drift between runs. Dates and amounts are formatted in code, and inconsistencies - an end date before a start date, a zero amount - are flagged above the letter rather than silently written into it.
A message that reads as suicide risk, domestic abuse, child safeguarding, homelessness or a fraud admission surfaces a banner before any draft is shown, pointing the caseworker to the Six Point Plan or the relevant local procedure. The model is constrained to flag, not to counsel, investigate or invent next steps - that judgement stays with the caseworker.
A working prototype that argues two things at once: real understanding of the caseworker workflow it was built for, and the discipline to build safe, compliant software around an LLM rather than just a wrapper around a chat API. Not an official DWP product - a demonstration of how one would be built responsibly.