Enterprise UX audits are expensive, slow, and inconsistent. A WCAG review, competitive analysis, and synthetic user research — done manually — costs weeks of senior designer time and still arrives without systematic rigor. Built in parallel with a Fortune 500 design lead role, Black Lotus UX is the answer: a fully automated UX intelligence service where six specialized AI agents handle the entire delivery stack.
Every agent runs locally — no client data leaves the machine. A single Slack command triggers the pipeline. Hikaru, the report engine, renders a fully branded PDF via Playwright. Reports ship overnight.
Black Lotus UX is itself a UX artifact — designed with the same systems rigor applied to client work. The service architecture, agent pipeline, scoring model, pricing structure, and legal documents all reflect the same design thinking that defines the rest of this portfolio.
Every agent has a defined, non-overlapping scope. All LLM inference runs locally via Ollama — Mistral 7B for fast tasks, Llama 3 70B for analysis and synthesis. Zero client data leaves the machine.
The pipeline is orchestrated by n8n and a local HTTP server (pipeline_server.py on port 9100). A Slack command triggers the run. Agents execute sequentially — safe for the local Ollama stack. Hikaru closes the loop by rendering the final PDF via Playwright and posting delivery confirmation back to Slack.
/bl-run [client] in Slack → Slack Bot → HTTP POST to pipeline_server.py:9100 → n8n workflow activated. Client config (URLs, tier, competitors, segments) read from Supabase.100 − (critical×15 + serious×8 + moderate×3 + minor×1). LLM cannot override.displayed = (current × 0.7) + (previous × 0.3).file:// URL, waits 5 seconds for Mermaid.js flow diagrams to render, then captures the complete branded PDF. LLM generates strategic UX recommendations (180s timeout).output/reports/. Report payload stored in Supabase. If UX or WCAG score drops, alert fires to client contact via email + Slack. Dashboard at reports.blacklotusux.com updates with new score trend and PDF download link.
Every PDF is generated from a single Jinja2 template (~2,050 lines) that conditionally renders sections based on the client's service tier. One template. Four tiers. No duplication.
WCAG score is formula-locked: 100 − (critical×15 + serious×8 + moderate×3 + minor×1). The LLM cannot override this number.
UX dimension scoring runs at temperature 0 for deterministic output. The displayed UX score is dampened — (current × 0.7) + (previous × 0.3) — to prevent month-over-month volatility. Raw scores stored separately in Supabase for future trend tracking.
For Sprint tier clients or when a Figma deliverable is specified, a custom plugin handles report population directly into branded Figma template frames. It reads structured report data from Supabase and writes it into pre-built layouts via the Figma REST API — Pulse, Intelligence, Full Stack, and Sprint frames all covered in a single file.
Each tier maps directly to an agent configuration and report depth. Pricing reflects the scope of automation — not hours billed.
The entire agency operates from a single self-hosted machine. Auto-start services via Task Scheduler mean the pipeline is ready every morning without intervention. Operations managed entirely from Slack on a dedicated work phone.
AMD Ryzen AI Max+ 395 · 128GB LPDDR5x · 2TB NVMe. All LLM inference runs locally via Ollama. Mistral 7B for fast tasks. Llama 3 70B (q4 and q8) for analysis and synthesis. Zero third-party LLM APIs. Zero client data leaves the machine.
pipeline_server.py on port 9100 accepts POST /run, POST /run-all, and POST /run-aimi. n8n sends HTTP requests to trigger monthly runs on the 1st at 6AM, or on-demand from any Slack command.
Tables: clients, audit_runs, agent_logs (UX score dampening events), report_payloads, delivery_receipts, leads, client_users. RLS enabled. Supabase JS powers the dashboard. Magic link auth for client access.
Dashboard on Cloudflare Pages. Cloudflare Tunnel for pipeline server access. Cloudflare Access for security. Gmail SMTP (App Password) for outreach and score drop alert emails to client contacts.
As of March 2026, the full pipeline is operational and tested across all four service tiers. The Jinja2 report template covers all report sections. Playwright PDF rendering with Mermaid.js flow diagrams runs end-to-end. The client dashboard is live with score trend tracking, PDF downloads, and automatic score drop alerts to client contacts.
All 11 report enhancement tasks complete: per-page WCAG breakdown, CSS selector locations, screenshot comparisons, mobile vs desktop card, site architecture assessment, readability scoring, SEO health, performance deep dive, persona journey narratives, interaction/dead zone analysis, and a fully locked score consistency system.
Black Lotus UX is proof of systems thinking applied at every layer — the agent architecture, the scoring model, the report template, the service tiers, the legal documents, and the banking infrastructure were all designed with the same intentionality. A senior designer saw an inefficiency, built the system to fix it, and shipped it — while holding a Fortune 500 design lead role in parallel.