The tutorial says: connect your Gmail, connect your calendar, import your "memory DNA" from your last assistant. And it works — suddenly the AI summarizes your threads, audits your week against your goals, and remembers how you like things written. It feels like hiring a chief of staff.
Then you re-read what you actually granted: a cloud assistant with read access to your entire inbox, your full calendar history, and a profile of your preferences assembled through two different companies' servers. For plenty of work — drafts, brainstorms, code — that trade is fine. But the moment your inbox holds client NDAs and your calendar holds the shape of your whole business, the powers that made the assistant brilliant become the fine print that keeps you up.
Here is the part most guides skip: every one of those power features has a self-hosted equivalent, and on a local stack they run without mailing your operating context to anyone. Same capabilities — memory, model routing, connectors, tool-building, persistent projects — rebuilt on Ollama, n8n, and a folder structure you already understand.
A self-hosted Claude alternative reproduces each power feature locally: persistent Memory becomes a profile file baked into an Ollama Modelfile; Haiku/Sonnet/Opus model selection becomes routing between local models by task size; the Gmail and Calendar connectors become n8n reading your own mailbox and .ics files; Artifacts become a local generate-and-run loop; and Projects become per-client knowledge folders your model reads at session start. You keep the capabilities — persistent context, right-sized models, connected data, tool generation — while your inbox, calendar, and preferences never leave your machine.
The Feature Map
| Claude feature | What it does | Self-hosted equivalent | What changes |
|---|---|---|---|
| Memory import | Carries preferences across chats | profile.md + Modelfile SYSTEM | You own the file; edit it directly |
| Haiku / Sonnet / Opus | Right-sized brains per task | Ollama model routing | Pick any open model per tier |
| Gmail connector | Reads and summarizes threads | n8n over IMAP + local model | Mail never leaves your machine |
| Calendar connector | Audits your week vs goals | .ics reader + local analysis | Full history, zero upload |
| Artifacts | Builds interactive tools in chat | generate → save → run loop | Output is a real file you keep |
| Projects | Persistent per-client context | knowledge folders per client | Plain files, portable forever |
Memory: Your Preferences as a File You Can Read
The cloud version of memory is an import ritual — paste a prompt into your old assistant, paste the answer into the new one, and trust the platform to hold it. The local version is one markdown file:
# profile.md
- Plain English, no corporate hype; short sentences
- Thai business context: Bangkok-based, English-language output
- Numbers must cite their source or be flagged as estimates
- Never name former employers
- Draft emails under 120 words unless told otherwise
Bake it into every session with a Modelfile:
FROM llama3.2
SYSTEM """
You are the operator's assistant. Standing preferences:
{{ read profile.md }}
Apply them to every response without restating them.
"""
Two things improve over the cloud version. You can read the memory — open the file, see exactly what the machine believes about you, fix it with a text editor. And it is portable: the same profile works with any model you ever load, no export ritual required. The memory is yours in the most literal sense: it is a file on your disk.
Model Selection: Three Tiers, Any Vendor You Like
The Haiku/Sonnet/Opus idea — don't burn the deep thinker on triage — survives translation perfectly, with one upgrade: the tiers are yours to define from any open models:
| Tier | Cloud habit | Local pick | Use for |
|---|---|---|---|
| Fast | Haiku | llama3.2 (3B) | Triage, tagging, short replies |
| Balanced | Sonnet | qwen2.5:7b | Drafts, summaries, most daily work |
| Deep | Opus | qwen2.5:14b+ or a 30B+ | Strategy docs, tricky refactors |
ollama pull llama3.2 && ollama pull qwen2.5:7b && ollama pull qwen2.5:14b
# triage: fast
ollama run llama3.2 "classify this email: order|question|complaint"
# deep work: the big brain, same machine
ollama run qwen2.5:14b "review this quarterly plan for missing risks"
Same cost discipline as the cloud habit — small model for volume, big model for judgment — except the price ceiling is your electricity, and "upgrading tiers" means pulling a different model instead of renegotiating a subscription.
The Inbox Connector, Without the Connector
The Gmail connector's real magic was never Gmail — it was context: the assistant sees your actual threads instead of pasted excerpts. Locally, that is an n8n flow over IMAP:
workflow: inbox-briefing
schedule: "0 7 * * 1-5"
nodes:
- name: fetch-unread
type: email-read-imap
mailbox: "work@yourdomain"
since: "yesterday 17:00"
- name: group
type: code
rule: "thread by sender + subject prefix"
- name: summarize
type: http-request
url: "http://localhost:11434/api/generate"
body:
model: "llama3.2"
prompt: "Summarize each thread in 1 line; flag any that need a reply today; apply my profile preferences."
- name: brief-me
type: telegram
message: "{{summaries}}\n\nNEEDS REPLY: {{flags}}"
Every morning: one briefing message, threads grouped, reply-need flagged. The difference from the cloud connector is the direction of trust — your credentials stay in your n8n instance, messages are read by a model on the same LAN, and nothing about your inbox is retained anywhere but your own disk.
The Calendar Coach, Locally
The calendar connector's best trick was analysis, not scheduling: "am I actually spending my week on my goals?" The self-hosted version reads the same data your calendar already exports:
# export this week and let the local model audit it
python export_week.py --ics calendars/work.ics --out week.json
ollama run qwen2.5:7b """
Here is my week as events: {{week.json}}.
My quarterly goals: 1) ship client ops machine 2) 4 videos 3) sales calls >= 8.
Audit: hours per goal, biggest off-goal block, one concrete schedule fix.
"""
Because the analysis runs on raw event data you exported yourself, the "coach" can be as blunt as you like — and the audit of a whole quarter's calendar costs exactly nothing extra to run.
Artifacts: Tools That Are Just Files
Cloud Artifacts render interactive tools in a panel next to the chat — genuinely delightful, and the panel closes when the subscription lapses. The local pattern is more mundane and more durable: generate, save, run.
ollama run qwen2.5-coder "write a Python CLI that reads week.json and prints hours per project, argparse, no deps" > hours.py
python hours.py week.json
# works? iterate:
ollama run qwen2.5-coder "modify hours.py: add a --top flag showing only the largest block, keep everything else"
The loop is the same conversation you'd have in the cloud — describe, run, adjust — but the output lands as a file in your tools folder with no expiry date. Half a year of this habit and you own a personal toolbox that runs offline forever.
Projects: Knowledge Folders, Not Platforms
A Project in the cloud is a walled folder: upload documents, set instructions, stay inside. The self-hosted equivalent is a plain directory per client or topic, read at session start:
{
"project": "acme-retainer",
"context_files": ["clients/acme/brief.md", "clients/acme/tone.md", "clients/acme/decisions.md"],
"instructions": "Read context files before answering. Cite decisions.md by date when relevant."
}
Run the session inside that folder and the model starts warm — same as the cloud Project, except the knowledge base is files you can grep, back up, sync, or hand to a different model next year. No per-seat anything, no export button needed, because it was never locked in.
The Honest Trade-Offs
This stack is not a free lunch, and pretending otherwise helps nobody:
- Polish: cloud chat apps have better interfaces, mobile apps, and snappy hosted models. The local loop is more assembly required.
- Peak capability: the largest hosted models still out-reason any model you can run at home on realistic hardware. For the hardest 5% of tasks, renting a big brain occasionally is rational — do it as a deliberate exception, with sanitized context.
- Setup cost: the first weekend is real work. The payoff is that the tenth workflow takes an afternoon.
What you get in exchange: zero per-query cost at any volume, no data leaving the LAN by default, capabilities that keep working when a vendor changes pricing or policy, and files — always files — that you can read, version, and keep.
Make It Practical This Month
- Write
profile.mdtonight — twenty minutes, and every later step inherits it. - Pick two model tiers, not three: a 3B for volume and a 7B–14B for judgment.
- Rebuild the one connector that hurt most — usually the inbox briefing — before adding anything else.
- Start one knowledge folder for your main project; let it grow by one file a week.
The power features are not the moat. Persistent context, right-sized models, connected data, generated tools — those are all patterns, and patterns run anywhere. Run them on your own machine, and the assistant that knows your business best also keeps your business to itself.
Frequently Asked Questions
Is a local model really good enough to replace a hosted assistant? For the daily load — drafting, summarizing, classifying, routing, tool-building — yes, comfortably; that is 90% of what most people actually use an assistant for. The honest gap is the hardest reasoning tasks, where top hosted models still lead. The practical pattern is local by default with deliberate, sanitized exceptions when a task genuinely needs the rented big brain.
How much hardware do I need for the full feature set? Memory, routing tiers, connectors, and knowledge folders run on any recent laptop with an 8B-class model. The deep tier wants more — a machine with strong RAM or a GPU makes 14B+ comfortable. Start with what you own; the stack grows with the hardware, not before it.
Isn't wiring IMAP and calendars myself harder than a connector? It is one honest afternoon the first time — n8n's IMAP node and a .ics export cover most of it — and then it is yours. Cloud connectors are easier on day one and someone else's product roadmap on day three hundred. The self-hosted version breaks on your schedule and gets fixed on your schedule.
What happens to my setup if I switch models next year? Nothing, and that is the point. Your profile, knowledge folders, workflows, and generated tools are plain files that any future model can read. The self-hosted stack separates your context (files, yours) from the engine (model, swappable) — so upgrading means changing one line, not re-granting access to your digital life.
Related posts
Escape the Average: Creative Prompt Techniques for Local LLMs
Local LLMs give generic answers by design. Fix it with Ollama sampling dials, ban lists, and constraint stacks baked into reusable Modelfiles.
Hire the Playbook: Claude Skills as Guided, Step-by-Step Workflows
Abandoned projects aren't waiting on motivation — they're waiting on structure. A skill file turns Claude from answer-dispenser into guide: plan decomposed, one step visible at a time, ELI5 on demand.
Map It First: Design Workflows Before You Automate Them
Automating an unmapped process just repeats the mess faster. Document reality, name an owner for every output, bound automation by risk — then hand the runbook to people or AI agents.



