In crisis or thinking about suicide? Call or text 988 — free, 24/7 More ways to get help now →
Free, and free of ads Every claim sourced — check us Your data is never sold
The work log · updated 2026-08-13

What we're building — all of it

This site is built in the open. Below is the entire plan — every workstream, what's shipped, what's being worked on, what's queued, and what's waiting on a human decision. Updated with every deploy.

21 Shipped
3 In progress
13 Queued
5 Needs owner

"Needs owner" = waiting on a human decision or resource, not on build work.

Content library

Every page is a tool, a dataset, or a decision — never a lecture. Currently 137 pages live.

Shipped Launch-queue waves 1–4 (84 pages) Insurance routes (Kaiser, Medi-Cal + 5 counties), the 10-day right, mental-health leave, EAP decoder, sliding scale, 7 deciding guides, cost + testing guides, 44 quick answers, city data
Shipped Wave 5 — beyond the queue (18 pages) 7 commercial insurer route guides (Anthem, Blue Shield, Health Net, Aetna, Cigna, UHC/Optum, Covered California), 8 starting-point pages, 3 platform comparisons
Shipped Topic pages (5) Anxiety, depression, burnout, trauma, after-the-fire — the homepage grid's landing pages
Shipped City blocks batch 2 (6) Stockton, Santa Ana, Irvine, Chula Vista, San Bernardino, Modesto
Shipped Modality set (10) + 2026 comparisons CBT, DBT, EMDR, ERP, ACT, psychodynamic, somatic, IFS, couples (EFT/Gottman), group — plus AI-chatbots-vs-therapy and apps-vs-therapy
Shipped Conditions cluster (6) OCD (the ERP-scarcity story), adult ADHD, panic, insomnia/CBT-I, eating disorders (levels-of-care map), bipolar (the therapy+meds pairing)
Shipped Teens/parents set + medication map therapy-at-12 (teen reading level, quick-exit button), teen-refuses-therapy (for parents), and the psychiatric medication starting map with the PCP shortcut
In progress Worksheet-format guides Printable step-by-step versions of procedural guides: filing an SDI claim, appealing a denial, requesting records, the DMHC complaint
Queued More city coverage Remaining large cities and county-level pages — Fremont, Glendale, Huntington Beach, Oxnard, Fontana and beyond, each with a real local fact, never boilerplate
Queued More comparisons 7 Cups, prescribing platforms, employer benefit platforms (Lyra/Spring/Modern) compared honestly
Queued Fact re-verification sweep Items flagged [RE-VERIFY] in the source register: SDI max benefit, several county phone lines, Open Path fee, testing price ranges, licensee counts
In progress Remaining 230-URL universe Content-universe inventory received and mapped — building by its priority order: modality set shipped, conditions and life-situation clusters next

Design & site

The V1 Sunset Flagship system — WPA landscapes, Civic type, flat color, built exactly to the design spec.

Shipped Design system + shell Tokens, type system (Newsreader / Public Sans / JetBrains Mono), crisis bar, promise bars, mega-footer, poster cards, landscape SVG vocabulary
Shipped Homepage per spec §4 Sage-meadow hero with carved headline, working "What's going on?" phrase router, Three Doors, topic grid, tools row, directory + Index bands
Shipped /find directory landing per spec §5 Sunset hero, stamped search card (honestly gated until real listings exist), the Can-I block
Shipped Landscape headers sitewide Every page carries its section's landscape — sage for learning, night for data and crisis, redwood for the pledge, fog for institutions
Shipped Accessibility WCAG AA contrast fixes from a full automated audit; zero broken internal links; 44px tap targets
In progress Worksheet template (spec §7.2) Sand-gold header band, numbered step cards with print checkboxes, "say this" script boxes, print action
Queued County-ground assignments Each of the 58 counties gets its own landscape variant, stored per county, never randomized — ships with county pages in Phase 2

SEO & performance

Every page designed to be found — titles, structure, schema, speed.

Shipped Technical foundations Canonical URLs, Open Graph + share image, sitemap.xml, robots.txt, clean URL structure
Shipped Structured data MedicalWebPage on every guide + FAQPage auto-generated from each guide's Q&A block
Shipped Self-hosted fonts All four families as latin-subset woff2 — no third-party font requests, faster first paint
Queued Lighthouse pass Full performance audit against the LCP-under-2s budget from the build spec
Queued Per-page share images Generated OG images per section using the landscape system
Shipped Search Console + indexing Sitemap submitted and processed by Google — 115 pages discovered; monitoring continues in Search Console

Trust & claims

Nothing on the site says anything that isn't true yet.

Shipped No invented numbers No therapist counts, no fake Index percentage — pre-launch copy everywhere until real data exists
Shipped Review claims removed No licensed clinicians on board yet, so no "clinically reviewed" claims anywhere — bylines say what's true: every claim sourced
Shipped Measurement disclosed Analytics runs with hard limits — never on the self-check or crisis pages, browser privacy signals honored, no ad signals — and the pledge says exactly that
Shipped Public QA results The internal test harness publishes its real pass/fail results and metrics on this page every deploy — 9 automated gates over content rules, links, schema, metadata, page weight, and WCAG contrast
Needs owner Clinical reviewer program When licensed members join the collective, guides gain named CA-licensed reviewers with license numbers; the byline machinery is built and waiting Blocked: Waiting on the founding clinician cohort
Needs owner Legal review Counsel pass on the flagged pages: Medi-Cal, minor consent, leave/SDI, records-subpoena, Regional Center eligibility Blocked: Needs a lawyer engaged by the owner

Phase 2 — the directory

Search opens when the data is real: every listing availability-confirmed, prices shown, ranking computed.

Queued Rails app + data spine Listings, license verification against state boards, Postgres, hosted on Render — the app the static site's /find hands off to
Queued Monthly confirmation sweep Every therapist confirms openings monthly in ~30 seconds; miss two and the listing hides automatically
Queued Search + results + profiles County/plan/budget filters, result cards with fee and reply time, profiles with license lookup links, free 15-minute call flow
Queued County pages for the 10 largest counties Each with its assigned landscape ground and confirmed-therapist counts
Needs owner Founding cohort recruitment First-year-free founding members whose confirmed availability seeds the launch dataset Blocked: Owner decision on recruiting timeline and founding-member terms

The Availability Index & institutions

The press and government hook: monthly statewide data nobody else publishes, free to republish.

Queued Print & graphics kits The 10-Day Right wallet card, the Affordability Ladder, the License Decoder — wall poster, wallet card, social square formats with co-brand slots
Queued Co-branded county pages County programs listed first with the partner's logo alongside ours, generated automatically once approved
Needs owner Index dataset + page Monthly percentage of California therapists actually reachable and taking clients — CSV/JSON download, methodology in full Blocked: Requires the first monthly confirmation sweep (Phase 2)

The collective

Flat membership, first year free for founders. A listing, never placement.

Shipped /for-therapists page The deal in full, honestly stated, with placeholder join flow
Queued Join flow + member dashboard Signup, license verification, the 30-second monthly confirmation, member badge embed
Needs owner Founding-member terms Pricing stated at $50/mo or $500/yr, first year free — final terms need owner sign-off before the join flow ships Blocked: Owner decision

Quality gates

Before every deploy, an automated harness tests the whole site. These are the tools we run and the latest real results — 9/9 gates passing across 138 built pages, last run 2026-08-16.

Pass
Banned-words linter Custom linter over every content file

The style guide bans hollow words ("journey," "wellness," "curated," "reach out"). This scans all content for them.

135 files scanned · 0 violations

Pass
988 crisis-line coverage Coverage scanner

Every consumer page must carry the 988 crisis line. This verifies all of them do.

135/135 pages carry 988

Pass
Source-citation coverage Coverage scanner

"Every claim sourced" is a promise on the site. This verifies each content page has a sources block or source line.

135/135 pages cite sources

Pass
Review-claim leak check Claim scanner over rendered HTML

No licensed clinicians have joined yet, so no page may claim clinical review. This scans every built page for leaks.

138 pages scanned · 0 leaks

Pass
Internal link integrity Link crawler over the full build

Follows every internal link on every page and verifies the destination exists.

5871 links checked · 0 broken

Pass
Structured-data coverage Schema counter

Machine-readable metadata (MedicalWebPage + FAQPage) is what lets search and AI engines cite pages accurately.

119 pages with MedicalWebPage · 119 with FAQPage

Pass
Title / description / H1 audit Metadata auditor

Every page needs one H1, a description, and a title that fits in a search result.

138 pages · 0 long titles · 0 missing descriptions · 0 H1 problems

Pass
Page-weight budget Size profiler

Fast pages are an accessibility feature. Median page HTML, heaviest page, and total font payload — all self-hosted.

median 12 KB · heaviest 56 KB · fonts 235 KB total

Pass
WCAG AA contrast scan Headless-browser audit (Playwright + Chromium)

Renders a sample of real pages in a browser and measures the color contrast of every visible text element against WCAG AA.

10 pages rendered · 1014 text elements measured · 0 failures

Ship log

2026-08-13 Public quality gates The QA harness (9 automated checks: banned words, 988 coverage, sources, claim leaks, links, schema, metadata, page weight, WCAG contrast) now publishes its real results on this page with every deploy
2026-08-13 Teens set + medication map A teen-facing rights page with quick-exit, the parents' guide to refusal, and the who-prescribes map
2026-08-13 Conditions cluster Six condition-as-decision pages: OCD, adult ADHD, panic, insomnia, eating disorders, bipolar — each ends in a route, never a lecture
2026-08-13 Google indexing live Sitemap submitted in Search Console; 115 pages discovered
2026-08-13 Modality set + AI comparisons 10 types-of-therapy pages and the two 2026 comparison pages, from the content-universe priority list
2026-08-13 Comprehensive public roadmap This page now shows every workstream, item, and blocker — not just highlights
2026-08-13 Review claims removed sitewide Bylines, promise bar, pledge, and homepage now claim only what's true today
2026-08-13 Homepage hero restored Sage-meadow landscape with carved headline and working phrase router, per the 9a mockup
2026-08-13 Fonts self-hosted + FAQ schema Latin-subset woff2s; FAQPage structured data on 100+ pages
2026-08-13 9 more content pages Six city blocks + license verification, psychiatric NPs, group therapy costs
2026-08-13 Topic pages Anxiety, depression, burnout, trauma, after-the-fire
2026-08-13 Measurement added, honestly Analytics with hard privacy limits; pledge updated to disclose in full
2026-08-13 Site live at therapycalifornia.org Cloudflare Pages, custom domain + www, full design system, 106 pages at launch
2026-08-13 Accessibility + link audit WCAG AA contrast fixes; zero broken internal links across the build
2026-08-13 2-minute check-in tool PHQ-9 + GAD-7, scored entirely in the browser, nothing stored, analytics excluded
2026-08-13 Waves 1–5 content (101 pages) Insurance routes, rights, costs, deciding guides, quick answers, comparisons, starting points
2026-08-13 Citation verification SB 221, H&S §1367.03, §124260/AB 665, B&P §650(h), 2026 SDI rates, county access lines — logged in the source register

Questions about anything here: [email protected] · Paid for by participating therapists · No ads, no data sold