Anpa

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.

Anpa's composed pages list showing the site's pages with their publish states
The composed-pages list — every page on the public site, with its draft and publish state.

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.

Worksheet diagram: accent, deep, and paper colors flow through deriveTones() into four guaranteed-readable tones — paper, mist, ink, accent

What it feels like to use

A gallery of 29 section presets, organized by the six jobs a page does: open, explain, prove, price, answer, close.
Autosave with a visible status, draft history with undo and redo, and a polite conflict warning when two tabs disagree.
Inline editing on the page itself — rich text constrained to a safe schema, so pasted chaos can't break a layout.
Anpa's Insert a section gallery — preset thumbnails organized under tabs for the six jobs: open, explain, prove, price, answer, close
The section gallery — presets organized by the six jobs a page does, with live thumbnails rendering real components.
The Anpa composer editing a page: section list, live page preview, and per-section motion controls in the right rail
The composer itself — section list, live preview, per-section motion controls. Captured in demo mode with sandbox data.

Editor engineering

Autosave fires 1.5 seconds after you stop typing, with a six-second cap if you never stop.
Every save echoes the draft's last-known timestamp — if the server's copy is newer, you get a polite conflict warning instead of a silent overwrite.
Undo, redo, save, duplicate: ⌘Z, ⇧⌘Z, ⌘S, ⌘D — with Ctrl equivalents on Windows, and matching that survives CapsLock.
Rich text has hard ceilings — 2,000 characters per run, 60 blocks per page — and a strict link allowlist: javascript: bounces, and unknown pasted content is rescued as plain text instead of deleted.

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.