GMNeonsky/someone.help
Project Overview
someone.help
An anonymous, no-signup AI chat companion you can vent to without accounts or tracking.
True Intent (AI Assessment)
A privacy-focused, anonymous AI chat companion for casual emotional support and venting, with crisis resources built in.
README Accuracy
Notes
Code behavior matches the README and description closely. Privacy claims (no accounts, no server-side storage, client-only UUID) are reflected in the source. Crisis safety and content-refusal guardrails are present. Analytics are opt-in and clearly documented; no covert tracking found.
someone.help is a single-page Next.js web application that provides an anonymous AI chat companion. It is built to feel less like a productivity bot and more like 'someone' to talk to — the entire product is essentially a carefully tuned system prompt that gives the AI a warm, casual, lowercase-texting personality, paired with a minimal chat interface that streams responses from Together AI's Llama 3.3 70B model.
The problem it addresses is emotional: the moments when someone wants to talk but doesn't want a therapist, a coach, or a friend — just a listening presence. The code deliberately avoids accounts, server-side conversation storage, and IP logging, so the friction and privacy concerns of typical chat services are removed. Conversation lives only in the user's browser and disappears when the tab closes.
The intended users are people seeking low-stakes, anonymous emotional support or distraction. They simply open the page and start typing. An anonymous UUID is generated client-side and stored in localStorage purely to enforce rate limits; no email, login, or personal identifier is collected. Multiple personas (warm, stern, playful, chill) let users tune the tone.
Technically, it's a Next.js 16 App Router app using React 19 and the Vercel AI SDK with the @ai-sdk/togetherai provider. A serverless API route (src/app/api/chat/route.ts) proxies requests to Together AI, applying an in-memory per-UUID rate limiter and daily token cap. A lightweight keyword-based crisis detection module (crisis.ts) surfaces suicide/self-harm hotline resources immediately when high-signal phrases appear. The app ships with a multi-stage Docker image and a health-check endpoint for self-hosting.
Notable patterns are responsible rather than alarming: the system prompt explicitly refuses roleplay, medical/legal/financial advice, code/homework tasks, and harmful content, and the project bundles crisis resources (988, Samaritans, findahelpline) as a permanent footer. Analytics (Umami) are strictly opt-in via environment variables and the README warns against committing real values. No tracking, exfiltration, or obfuscated code was observed.
| Languages | TypeScript, CSS, JavaScript |
| Runtime | Node.js 22 (Docker), Next.js server |
| Framework | Next.js 16 (App Router) + React 19 |
| Database | None detected (in-memory rate limiting, browser localStorage only) |
| Package Manager | npm |
| Key Dependencies | next, react, ai (Vercel AI SDK), @ai-sdk/react, @ai-sdk/togetherai, tailwindcss |
| Build Tool | Next.js build (Turbopack/Webpack) + PostCSS |
| Test Framework | None detected |