The first time I tried to describe coachboard to someone, I made the mistake of calling it a CRM. They pictured HubSpot. They pictured pipelines with 14 stages and a deal-velocity dashboard nobody looks at. That's not what this is.

coachboard is what you get if you ask: "What does a solo coach actually need, and nothing more?" The answer turns out to be clients, sessions, goals, action items, invoices, and a calendar. Six things. Not 600. Not a marketing automation tower with email drips and UTM attribution. Six things done well.

The Problem It Solves

Every solo coach I've talked to — life coaches, exec coaches, fractional CTOs, therapists who don't take insurance, writing coaches — runs their practice out of three tools that don't talk to each other. A calendar for the schedule. A Notion doc or a Google Drive for client notes. QuickBooks or Wave for invoices. The human brain for "what did we commit to last session."

That setup works for four clients. It breaks at twelve. By twenty, the coach is spending Sunday evenings copy-pasting between tools and silently wondering if they're still doing what they love. I've watched three friends burn out of their practices for this exact reason. The work wasn't the problem. The infrastructure was.

What's In It

Six surfaces, one SQLite file. Here's the tour:

The Build

Flask + SQLite + Jinja. About 1,400 lines of custom code on top of our template. Session notes store as Markdown. PDFs are generated with WeasyPrint. Calendar integration uses iCal files (subscribe URL) instead of OAuth-based Google Calendar for simplicity. Single-password auth — this is a solo app; you don't need roles and permissions for one person.

# Clone and run locally
git clone https://github.com/Dangercorn-Enterprises/coachboard.git
cd coachboard
pip install -r requirements.txt
echo "AUTH_PASSWORD=pickyourown" >> .env
python app.py
# → http://localhost:8444

Port 8444 is deterministic — every install uses the same port because we hash the slug. (Why deterministic ports? Separate post.) That's what lets you run coachboard alongside 30 other Dangercorn apps on the same dev box without collisions.

Pricing

Hosted tiers are in early access. Email tim@dangercorn.net to get on the waitlist. The self-host tier is the same codebase — you're not giving anything up by running it yourself. (Why the self-host tier is the center of the strategy: this post.)

Who It's Actually For

The target coach has 10-40 active clients. They bill $150-400/hr. They've been coaching for long enough to know what they need but not long enough to have built a dysfunctional Zapier graph they can't escape. They value privacy (some of these conversations are genuinely sensitive) and they don't want a vendor having the transcript.

If that's you: self-host it, kick the tires for a week, email me what's missing. I'd rather have five coaches actively using it and telling me what's wrong than fifty who signed up and forgot.

The point of coachboard isn't to make you a more productive coach. The point is to make the software invisible so the coaching part stays front and center.

What's Next

The top feature request so far is inbound lead capture — a public intake form that creates a draft client with a consultation goal. That's on the roadmap for Practice Plus. Also planned: voice-memo transcription for post-session notes (via our shared Claude wrapper), shared goal templates you can reuse across clients, and a "quarterly review" export that makes it easy to send a client their own progress summary.

This is the first vertical I actually use myself — I've started logging my fractional-CTO consulting clients in it. Nothing sharpens a product like having to eat your own cooking.