Névtelen, magyar nyelvű támogató beszélgetőtárs egyetemistáknak.
An anonymous Hungarian-language reflective support chatbot for university students: it helps a student think through a problem, points them to research-grounded material, and — the part that matters — hands off to real human help when the conversation goes beyond what a chatbot should handle.
This is a prototype. Read CLAUDE.md §14 before describing it as
anything more. It is not a therapist, not a diagnostic tool, and not a
reliable triage system.
npm install
cp .env.example .env.local # add an LLM key; see §4 of CLAUDE.md
npm run devFor a free setup, get a key at console.groq.com
— no card, no expiry — and keep the defaults in .env.example. The free
tier on llama-3.3-70b-versatile allows roughly 500 student messages a day.
Web search is OpenRouter-only and switches itself off on Groq; everything
else, including the whole safety pipeline, works identically.
The app runs without an API key: the UI, the deterministic safety net and the crisis resources all work. Only the model reply is disabled.
| URL | What |
|---|---|
/ |
Landing page — what the product is |
/ai |
The chat itself (unifriend.hu/ai) |
/adatvedelem |
Privacy notice |
| Command | What it does |
|---|---|
npm run dev |
Dev server on http://localhost:3000 |
npm run test |
Unit tests, including the Layer 0 crisis suite |
npm run eval -- --layer0 |
Labelled eval through Layer 0 only — no key, no network |
npm run eval |
Full pipeline eval; writes eval/RESULTS.md, exits non-zero below 95% red recall |
npm run build |
Production build |
Engineering: ready. Types, lint, 67 unit tests and the production build
all pass. The eval scores 100% red recall on 50 Hungarian cases against
meta-llama/llama-3.3-70b-instruct (two consecutive runs) — see
eval/RESULTS.md. Security headers, rate limiting, and error boundaries
that still show the helplines on a crash are in place.
Not yet launchable. safety/REVIEW.md is a release gate, not a
formality, and the remaining items need people rather than code:
- A counsellor from Corvinus student support reads the crisis patterns and copy line by line (§A).
- Someone dials every helpline and confirms hours. Two entries carry
open questions —
resourcesNeedingCheck()lists them. - Corvinus confirms they are willing to be listed, and knows students may arrive through this app.
- The research corpus replaces the placeholder material in
/knowledge— every file there is currently labelled as such inknowledge/SOURCES.md.
The eval number is evidence the pipeline works. It is not evidence the app is safe in the wild: all 50 cases were written by the developer, not by students.
| Path | What |
|---|---|
safety/ |
Crisis patterns, resource list, review gate. Changes here go in the commit message. |
lib/risk/ |
The layered risk pipeline. Pure, tested, no any. |
prompts/ |
Versioned Hungarian system prompts. |
knowledge/ |
The RAG corpus — currently placeholders awaiting the research corpus. |
eval/ |
Labelled Hungarian cases and the harness. |
components/watermelon/ |
Components from the Watermelon UI registry, adapted in-repo |
docs/ |
PRIVACY.md (also served at /adatvedelem), DESIGN.md, ARCHITECTURE.md |
CLAUDE.md |
The spec. Read it before changing anything above. |