$ cat ~/case-studies/venafi.md
Machine-identity dashboard refresh
Rebuilt a core Venafi enterprise dashboard. Accessibility AA, Core Web Vitals to Lighthouse 98+, and a component system the in-house team now extends.

Venafi's dashboard was a 5-year-old SPA built before the current generation of tooling existed. It worked, but every new feature cost 3x what it should have and onboarded engineers complained that the codebase felt fossilized.
We rebuilt on Next.js 14 (App Router), TypeScript strict, Tailwind with a shadcn/ui baseline, and TanStack Query for the data layer. We preserved every existing URL and API contract — migration was zero-downtime and invisible to users.
The accessibility audit drove a lot of the design decisions. Every interactive element got proper focus-visible rings, landmarks, and keyboard paths. Playwright tests enforce a11y contracts in CI so the bar doesn't slip.
- + kept: Existing URL + API surface- cut: Greenfield data model rewrite// why: Users and integrators had stable contracts. Preserving them made the migration invisible.
- + kept: Playwright-enforced a11y gates- cut: Unit-only testing// why: A11y is a behavior, not a unit. Playwright catches what Jest can't see.
- + kept: shadcn/ui as mutable baseline- cut: Fork-locked component library// why: Venafi's team needed to extend components after handoff — a locked lib would have blocked them.
$ ready to start
Book a Lehi strategy session.
30 minutes. You leave with a scoped MVP plan, a fixed-price quote, and an AWS architecture sketch.

