Agency Dashboard — plan & spec
One pane of glass for the whole operation: leads, clients, money, requests, site
tracking. Markdown-backed, low-editability, panels added only as needed. The eventual
dashboard.danielslater.dev. Money detail: PAYMENTS.md · tracking:
TRACKING-ROADMAP.md · clients: clients/.
Created 2026-07-21.
Intent (Daniel, 2026-07-21)
- A
dashboard.danielslater.devthat shows everything at a glance: all clients, all leads, all requests — and the part that needs the most attention, the tracking of discounts and payments coming in. - Keep it all in markdown for now. Minimal editable functionality. Add panels only as we actually need them.
- Same low-friction model as
docs.danielslater.dev— a static reader overbiz/markdown on Cloudflare Pages. No database.
Status
- Layout mockup: built (v1) — a real-data Artifact (shared in chat 2026-07-21). Awaiting Daniel's reaction to the layout before building the real site.
- Backing markdown: written — this doc +
PAYMENTS.md+TRACKING-ROADMAP.md+clients/README.md. Until the dedicated site exists, the interim "dashboard" is these docs rendered by the docs reader. - Real
dashboard.danielslater.devsite: not built — held until the layout is signed off.
Panels (v1 layout)
| Panel | Source | Shows |
|---|---|---|
| KPI strip | derived | MRR · pipeline value · active build (cap 1) · this-month revenue · progress to R20k floor |
| Pipeline & leads | PROSPECTS.md | prospect · kind · stage · angle · est. value · next action |
| Clients & builds | clients/ | project · stage · package · contract · deposit/balance · recurring · live URL |
| Money (payments & discounts) | PAYMENTS.md | incoming/expected · MRR · deposit terms · founding-client discounts |
| Open requests & blockers | clients/ | what we owe clients + what we need from them |
| Site tracking & attribution | TRACKING-ROADMAP.md | per-site analytics / conversion / referral / SEO / marketing state |
Planned panels (not yet built)
- Timeline / objectives (Daniel, 2026-07-21) — a per-client timeline you can click
into, plus a global timeline across all clients. Tracks target + actual milestones:
website fully live · tracking added · marketing started · meetings · billing/charging
events · founding-case-study → subscription conversion. It also surfaces the strategic
objectives in ROADMAP.md (early clients free/discounted, Nsuna → agency
contract transition, SA business registration, the Bree/agency referral loop). A build
to greenlight — data model likely a small
milestoneslist (markdown/JSON) per client, swept-editable like everything else.
Data model (markdown-backed)
- Each panel reads a markdown table under
biz/. Edit the markdown → re-sync → the dashboard reflects it. No forms, no DB, no auth on the data — the markdown is the source of truth. - "Add as needed": a new panel = a new markdown source + a section in the reader. We only graduate to a real store if we outgrow markdown (not near-term).
Build plan (when the layout is signed off)
Mirror the docs-site pattern exactly:
- SvelteKit
adapter-static+marked+ Cloudflare Pages direct-upload (a push does not deploy — same wrangler one-liner as docs). - New Pages project
danielslater-dashboard, subdomaindashboard.danielslater.dev, noindexed.mind.anddocs.left untouched.
⚠️ Exposure note.
docs.danielslater.devis noindexed but not auth-gated. The dashboard carries client + financial data, so — unlike docs — it should sit behind Cloudflare Access before any real payment data lands on the hosted version. Until then the money fields stay as plan/placeholder (which they are, being pre-revenue).
Open decisions
- Auth: gate the dashboard behind CF Access (recommended, it carries money/client data) vs noindex-only like docs.
- Panels: add / cut / reorder — awaiting Daniel's reaction to the mockup.
- Where the markdown lives: shared in
biz/(also visible in the docs reader) vs a dashboard-only content set (keeps money data off the docs reader). Recommend a dashboard-only content set once real numbers appear.