GMNeonsky/someone.help
Project Overview
someone.help
Anonymous AI chat companion — no accounts, no tracking, conversations stay in your browser.
True Intent (AI Assessment)
A privacy-first, anonymous AI chat companion for casual emotional support that deliberately avoids data collection and server-side history storage.
README Accuracy
Notes
The README's privacy claims are directly supported by the code. No IP logging is performed in the application layer (note: TRUST_CLOUDFLARE env var exists for rate-limiting only, not logging). Conversations genuinely live only in browser localStorage. The crisis safety layer is transparent and non-judgmental. The system prompt is honest about AI identity and sets clear boundaries around what the bot will and won't do. No hidden tracking or telemetry detected beyond the optional, opt-in Umami analytics that must be configured in the deployment environment. The codebase is mature and security-conscious for a v0.1.0 project.
someone.help is a single-page web application that provides anonymous AI-powered conversation without registration or data collection. It's a stripped-down chat interface designed for moments when someone needs to talk but doesn't want therapy, coaching, or productivity advice—just human-like listening.
The problem it solves is the friction and privacy concern around seeking emotional support online. Traditional chat services require accounts, store conversation history, and often log user data. someone.help removes these barriers: zero signup, zero server-side history, zero IP logging on their servers.
People use this late at night when they can't sleep, when they're processing a bad day, or when they need to vent without judgment or obligation. The target user is someone who wants genuine conversation with an AI that remembers context within a single session but doesn't track them across time or devices.
The application works as a Next.js frontend connected to Together AI's Llama 3.3 70B model via the Vercel AI SDK. Users get an anonymous UUID generated in their browser localStorage, rate-limiting is in-memory per UUID, and the chat history exists only in the browser tab—closing it erases everything. Crisis resource links are intelligently prepended to responses if a user's first message mentions self-harm keywords.
The codebase demonstrates careful design decisions around user safety and privacy. The system prompt is detailed and explicitly forbids roleplay, code generation, and engagement with harmful content. Rate limiting (20 messages/minute, 50k tokens/day per UUID) is enforced client-side with a fallback to the model provider's account limits. The crisis detection system uses a narrow keyword list to catch high-signal phrases without over-filtering. Notably, the application is fully self-hostable via Docker and allows optional aggregate analytics (Umami) but never logs individual IPs or messages.
| Languages | TypeScript, CSS, JavaScript |
| Runtime | Node.js 22 (Alpine), browser (React 19) |
| Framework | Next.js 16 (App Router) |
| Database | None — client-side localStorage only |
| Package Manager | npm |
| Key Dependencies | @ai-sdk/react, @ai-sdk/togetherai, ai (Vercel SDK), next, react, react-dom, tailwindcss |
| Build Tool | Next.js built-in (Webpack) |
| Test Framework | None detected |