The Claude window is ordinary software: a list of chats, streaming replies, file uploads and a model picker. An agent builds that over the Anthropic API in one sitting, and open tools such as Open WebUI and LibreChat already do it for free. What no prompt builds is the model, so you keep paying Anthropic, per token instead of per month; light and medium use usually lands under $20, while heavy daily use of the top models can pass it. The gaps are research, connectors, memory, the apps and the Claude Code allowance that Pro bundles.
Before you buildTry Claude Free first: Sonnet and Haiku with up to 5 projects cost nothing. Pro matters when you need Opus, research or Claude Code.
Build me a private chat app to replace Claude Pro. Requirements: - Node.js 22 + TypeScript: a Fastify server and a React UI built with Vite. `npm start` serves everything on http://127.0.0.1:4710. Single user, no accounts, no telemetry, local-first; listen on 127.0.0.1 only. - Two providers behind one interface: Anthropic through the official `@anthropic-ai/sdk` (ANTHROPIC_API_KEY and a comma-separated ANTHROPIC_MODELS list in .env), and every model already pulled in Ollama on localhost:11434. Pick a model per chat. - Chat: streaming replies with Markdown and code highlighting (shiki), a stop button, regenerate, and edit-a-message to branch the chat from that point. Mark the system prompt and long pasted files with `cache_control` so repeat turns are billed at the cached rate. - Storage: better-sqlite3 in ./data/chats.db (chats, messages, model, input, output and cached tokens); uploads in ./data/uploads/. Text files and PDFs go to the model as documents, images as images. Full-text search over every chat with SQLite FTS5. - Projects: a folder of chats that share one system prompt and a few pinned files. - Cost meter: prices per model in ./prices.json; show what each reply cost, with cached tokens at the cached rate, plus a monthly total, and refuse to send once MONTHLY_CAP_USD from .env is reached. - Import my Claude export: find the conversations JSON in the ZIP, print its structure and a chat count first, then add every chat with its title and date. Importing twice must not duplicate chats. - Out of scope: voice, image generation, research mode, connectors, Claude Code, phone apps. - README: setup, where the data lives, and a plain note that the models are still Anthropic's, so every message sent to them is billed per token.
Opens your agent with the prompt filled in, you press enter. Or copy it and paste it into an empty folder.
The first prompt builds the core. Run these one at a time in the same folder to grow it into your own Claude Pro.
Extend the projects in the chat app in this folder. Requirements: - A project page with a system prompt box and a file list (text, Markdown, PDF); show the token count of each file and of the whole project. - Send project files with `cache_control` and show the share of input tokens served from cache under each reply. - Warn when pinned files exceed 60% of the model's context window. - Moving a chat into a project and out again keeps its history. - Update the README.
Add MCP tools to the chat app in this folder. Requirements: - A ./mcp.json file lists local stdio servers (command, args, env); connect with `@modelcontextprotocol/sdk` at startup and show each server's status on a settings page. - Offer the servers' tools to Claude as tool definitions; every tool call shows as a card with its arguments, and I click Allow or Deny before it runs. "Always allow" is per tool. - Cap tool rounds at 8 per reply and show the cost of the extra rounds. - Out of scope: remote servers and OAuth. - Update the README with two example servers.
Add a research mode to the chat app in this folder. Requirements: - A "Research" toggle asks for a budget in dollars (default 1.00), then loops: plan 3-6 sub-questions, search the web (Brave Search API key in .env), fetch pages and read them with @mozilla/readability, then write the report. - Stop when the budget is spent and say so in the report. - Every claim in the report links to a numbered source; list sources at the end. - Save the plan, the pages fetched and the cost in the chat so I can audit it. - Update the README with the Brave pricing link.
Add memory to the chat app in this folder. Requirements: - A memories table in ./data/chats.db: id, text, created, last used. - The model gets a save_memory tool. Every proposed memory shows as a card I approve or reject; nothing is saved without a click. - Approved memories go into the system prompt of new chats, newest first, capped at 1,500 tokens. - A settings page lists all memories with edit and delete, and a per-chat "no memory" switch for private chats. - Update the README.
Make the chat app in this folder usable from my phone. Requirements: - A responsive layout below 640px wide: chat list in a drawer, full-width input. - A web app manifest and icons so it installs to the home screen. - Reach it over Tailscale: the server keeps listening on 127.0.0.1 and the README explains `tailscale serve` to expose it to my devices only. - Never listen on 0.0.0.0 and add no login of its own. - Update the README with the Tailscale steps.
For $20 people get Anthropic's strongest models plus Claude Code, research and connectors behind one login on every device, with a usage window instead of a per-message meter. Projects and chat history make leaving feel like starting over, and an export can't be imported into another personal Claude account.
Estimate · Local models through Ollama cost only electricity. On the API, Claude Sonnet 5.5 costs $2 in and $10 out per million tokens, so a typical reply is about a cent and 30 messages a day is roughly $9 a month. Opus 5.5 ($4 in, $20 out) roughly doubles that, and long files or Fable 5.1 ($10 in, $50 out) can push past $30; cached input is billed far lower. The build session is token usage on your agent plan.
| Plan | Monthly | Annual, per month | What you get |
|---|---|---|---|
| Free | $0 | $0 | Sonnet and Haiku, everyday use inside rolling five-hour windows, up to 5 projects, memory and connectors. |
| Pro | $20 | $17 | At least 5x the Free usage per five-hour session; Opus, Sonnet and Haiku, with Fable through usage credits; Claude Code, research, projects, memory and connectors. |
| Max | $100 | — | 5x or 20x the Pro usage per session, Fable at 50% of weekly limits, and API credits included: $100 a month on 5x and $200 on 20x. |
| Team | $25 | $20 | Standard seats get more usage than Pro; Premium seats cost $125 monthly or $100 a month yearly and give 5x the Standard usage; up to $500 a month of pooled API credits. |
| Enterprise | — | $20 | Seat fee plus usage billed at API rates, with admin spend limits. |
Free covers everyday chat on Sonnet and Haiku within rolling five-hour limits, with up to 5 projects, memory and connectors, but no Claude Code or research.
Kinda. The core is a weekend build with the prompt on this page, but real gaps remain: The Claude Code allowance inside the plan: on the API every token is billed, Research, connectors, Claude in Chrome and the Microsoft 365 add-in.
About $20 a month on the Pro plan, $240 a year (checked 2026-10-19).
The Claude Code allowance inside the plan: on the API every token is billed; Research, connectors, Claude in Chrome and the Microsoft 365 add-in; Memory that carries across chats without you managing it; The phone and desktop apps over one account; A flat price: heavy daily use of the top models can cost more than $20 on the API. If any of those matter to you, keep paying.
Yes: Open WebUI (free), LibreChat (open source), Jan (open source).