Case study 01 · fredis · in daily use since early 2026

The agency runs on the system it sells.

fredis is my own agentic system: software that does the work, not just suggests it. It scans, drafts, remembers and measures on a fixed cadence, and it has never sent a single message. I have. This page is the full write-up: what runs where, the numbers with sources, and what it costs to run.

Honest framing

fredis is my own operation, not a paid client engagement. I built it and I run saulera on it. It's written up here because it's the exact shape of system I build for clients, and every claim below is open to a source walkthrough in the build review.

A solo agency has one recurring failure mode: the founder is the whole company. When delivery gets busy, marketing stops. When marketing works, delivery slips. Follow-ups, weekly numbers, the memory of who said what: it all lives in one head, and heads drop things.

I could name my leak in one sentence: every hour spent remembering, chasing and re-keying was an hour not spent building. That's the same sentence I hear from owner-run businesses everywhere, which is why I fixed mine first.

A personal AI advisor called fredis, running on a small server since early 2026. It does the repetitive half of running the agency:

  • A heartbeat scan every 2 hours: inboxes, Slack, the pipeline. Anything that needs me gets flagged.
  • Daily reflection: the day gets consolidated into persistent memory, an Obsidian vault it reads at the start of every session.
  • A weekly audit: the numbers I would otherwise compile by hand.
  • Drafts: replies, posts, follow-ups. Written in my voice and parked in one review queue.

24 skills (a hard cap, not a growth chart) and 8 integrations, Slack, Gmail, Google Workspace and HubSpot among them. Everything it produces is a draft. Nothing auto-sends.

Python Claude agent SDK MCP / FastMCP Obsidian markdown vault Hetzner VPS tailscale serve https scheduled cron (heartbeat / reflection / audit)

This is the part that matters if you run a small business and don't fully trust AI yet. Neither do I. So the system is split into three layers, and only one of them is allowed to be clever.

Deterministic: code, not the model.

The cadence is cron: heartbeat every 2 hours, reflection daily, audit weekly. The safety boundary is code too: 9 security hooks, including blockers that stop risky tool calls before they run. None of this behaves differently on a bad day.

Latent: the model.

Inside each loop, the model does the judgement work: what's worth flagging, how to draft a reply in my voice, what the week's numbers mean. It's the part that earns its keep, and the part that never holds a send button.

Human: the gate.

I read the review queue. I edit, I send, or I delete. Nothing reaches a client, an inbox or a public channel without my hands on it. Since early 2026: ~199 drafts written, 0 sent by the machine.

Sent by the machine
0
Out of ~199 drafts written since early 2026 · source: vault drafts folder, counted 7 July 2026
Automated tests
741
On the system the agency runs on · source: test suite
Skills
24
A hard cap, held on purpose · source: skills registry
  • Heartbeat every 2 hours · reflection daily · audit weekly (source: cron schedule).
  • 8 integrations: Slack, Gmail, Google Workspace and HubSpot among them (source: integration registry).
  • 9 security hooks, including pre-tool-use blockers (source: hooks config).
  • ~140 daily logs in persistent memory since early 2026 (source: vault, counted 7 July 2026).

It runs on one small Hetzner server. A full multi-agent decision run (research, analysis, a synthesised recommendation) costs about £1.81 in model usage, measured across the 4 runs to date (July 2026). The server itself is a small fixed monthly cost on top.

Build cost was my own evenings since early 2026, alongside client-shaped work. A client build of this shape is smaller by design: one workflow, not a whole operating system. That's the 4-8 week fixed-scope sprint.

  • Measure from day one. For months the business numbers lived in markdown notes. They belong in a queryable ledger from the first week; that lesson is baked into how I scope builds now.
  • Write the autonomy ladder down early. fredis earns trust in steps: what it may draft, what it may do, what it must never touch. I built the safety boundary first and documented the ladder second. Right order, wrong paperwork.

Want the working version of this in your business?

Not this whole system: one workflow, fixed scope, built in 4-8 weeks and handed over documented. Client builds are LLM-agnostic: OpenAI, Anthropic or locally hosted models, swappable without rebuilding. Book a 30-min build review and bring the job that eats your week. I'll tell you what it would take to fix, or whether it's not a fit.

Book a 30-min build review

Published 10 July 2026 · numbers counted 7 July 2026