The machine The Paradox Process runs on.
Built inside The Paradox Process — its first and so-far only tenant.
- Role
- Designer & sole developer
- When
- 2025 — present
- Stack
- React
- TypeScript
- Tiptap
- PostgreSQL
- Drizzle
- Zod
The problem
After the rebuild, non-technical operators still needed to edit pages, run campaigns, and keep the brand intact without a developer in the room. Off-the-shelf site builders would have undone the brand rules the company just paid for. So the admin became a product of its own.
What's inside
The composer gets the spotlight, but Anpa is a full operator workspace: Today, Contacts, Automations, Tasks, Schedule, Communications, Commerce, Analytics, Operations, Content, and Site — 42 admin screens over 198 internal APIs, with five operator roles and 38 distinct permissions deciding who sees what, behind single sign-on.

Three colors in, four safe tones out
An operator picks three brand colors. The theme engine hands back four complete section tones that are guaranteed readable — any combination that fails gets nudged toward light or dark in 5% steps until it clears WCAG AA. There is no way to publish an inaccessible page, because the bad combinations are never offered.
What it feels like to use


Editor engineering
What I actually did
- Built a page composer with 29 curated section presets across the six jobs a page can do: open, explain, prove, price, answer, close — each with a live thumbnail rendering real components.
- Wrote the theme engine: pick three brand colors, and the system derives four complete, guaranteed-readable section tones — operators literally cannot publish an inaccessible page.
- Added the editor comforts people expect from real software: autosave 1.5 seconds after you stop typing, draft history with undo and redo, a polite conflict warning when two tabs disagree, inline editing.
- Made publishing safe: every published page is an immutable snapshot with a version counter, so draft experiments never touch what visitors see, and rollback is one click.
- Constrained rich text to a safe, structured schema — dangerous links bounced, pasted chaos rescued into clean paragraphs instead of deleted.
- Gave it its own name and mark, because it stopped being a settings page and started being software.
Where it landed
- Operators ship branded pages without touching a developer.
- Accessibility is enforced by construction, not by review.
- The roadmap doc says it plainly: "Anpa, the CRM for course programs and coaching organizations." One tenant away from being a product.
