Not everything we build makes it. These are features we shipped, learned from, and intentionally removed or replaced. We think sharing what didn't work is as important as sharing what did.
Orange theme
Retired Jan 2026Shipped with YC orange branding. Pivoted to a blue palette after customer feedback that the orange felt too casual for enterprise dashboards.
Iframe widget embed
Retired Feb 2026Tried embedding the widget via iframe for DOM isolation. Reverted to Shadow DOM because iframes broke streaming responses and cross-page navigation.
Shared agent fallback
Retired Mar 2026Initially shared a default agent across organizations for faster onboarding. Learned this caused knowledge contamination between customers. Migrated to dedicated agent per org.
Aggressive auto-scroll
Retired Feb 2026Auto-scrolled the chat window during streaming. Users couldn't read at their own pace. Replaced with smart scroll-lock that pauses when you scroll up.
Social post auto-generator
Retired Jan 2026Built an auto-changelog pipeline that generated social posts from GitHub PRs via LLM. Deprioritized to focus on core revenue features.
Event lead capture page
Retired Feb 2026Built a dedicated /event/ page for in-person event lead capture with progressive disclosure flows. Later merged functionality into the main site.
npm SDK widget package
Retired Apr 2026Published @clarm/widget as an npm package for framework-native embeds. Replaced with the canonical loader.js — one script tag, zero dependencies, same behavior for every customer.
Helix special-casing
Retired Mar 2026Our first customer had a magic org UUID hardcoded across ~12 files with custom setup routes, auto-provisioning, and auth bypasses. Removed all of it — Helix is now a regular customer using the same code paths as everyone else.
Demo-specific widget code
Retired Apr 2026Demos had their own fetch interceptor, CSS variable hooks, config files, and API keys. Consolidated so demos use the exact same widget path as production customers — loader.js, config API, widget token auth. Zero demo-specific code in the widget path.
12 tech debt API endpoints
Retired Apr 2026Deleted endpoints with zero auth, hardcoded secrets, or one-time migration logic: debug-givelegacy (dumped prod data), upload-widget-to-s3 (RCE via shell exec), update-widget-token (hardcoded secret), and 9 others. Tightened middleware so admin/dashboard/debug routes all require auth.