Build in public

Shipped. Measured. Next.

Short entries. Real product motion. No fluff changelog.

Onboarding handoff that actually lands in the dashboard

Fixed the final launch screen hanging on “Workspace sealed”, contrast on Launch CTA, and reliability of the first AI visibility batch.

  • · Launch & Analyze button contrast fixed (readable cyan CTA)
  • · Baseline visibility run capped with timeouts and parallel waves so launch cannot hang at 98%
  • · Finish handoff no longer cancels its own redirect timer
  • · Dashboard gate trusts onboarding-complete flag so users are not bounced back to /onboarding
Read entry

Visibility OS baseline: score, gaps, and loops in one surface

Shipped the core operating loop: measure AI brand visibility, surface message gaps, and open owned loops that teams can close.

  • · Brand Visibility score across AI models
  • · Gap detection for missing or competitor-owned narratives
  • · Loops as the unit of work with owners and status
  • · Strategist Chat grounded in project knowledge
Read entry

Role lenses: Marketing, SEO, CEO, Board — same data, different command surface

One workspace, multiple default homes so each role lands on the decisions they own.

  • · Role-aware default home after login and onboarding
  • · Marketing lens focused on brand narrative and campaigns
  • · SEO / Growth lens focused on prompts, gaps, and content loops
  • · CEO / Board lens focused on impact, risk, and loop health
Read entry

Loops as the operating unit — insight without closure is waste

Formalized loops: detect → assign → act → re-measure. Loop health becomes a first-class metric beside visibility score.

  • · Loop lifecycle (open, in progress, blocked, closed, verified)
  • · Loop health rollup on workspace home
  • · Tie-back from closed loops to re-check prompts
  • · Action packs that turn strategist output into owned work
Read entry

Next move

See the product surfaces.

Features map what ships. Docs explain how to run it.