Migrated a Next.js + XState app to SolidJS to fix runaway performance, and stood up a Storybook component system used across a TurboRepo monorepo.
Post's Next.js app was hitting real performance ceilings with XState — the architecture wasn't scaling, and teams were duplicating components across apps in the monorepo. Every new feature risked regressing an existing surface.
Post's Next.js app was hitting real performance ceilings with XState — the architecture wasn't scaling, and teams were duplicating components across apps in the monorepo. Every new feature risked regressing an existing surface.
Leadership wanted one component system, used everywhere, plus a credible path off XState that didn't block product work.



Established a comprehensive Storybook-backed component design system across the TurboRepo monorepo — improving reuse, streamlining development, and enforcing consistency across apps and teams.
Partnered with engineering and design to migrate Next.js/XState features to SolidJS incrementally, resolving the performance issues at the architectural layer rather than patching symptoms. Built a reusable analytics event-tracking system wired through Amplitude and Google Tag Manager/Analytics so product teams could measure the migration's impact in real time.



The component system became the shared vocabulary between design and engineering. Incremental SolidJS adoption unblocked feature work while removing XState bottlenecks. The event-tracking layer let product teams instrument features consistently across the monorepo — no more bespoke analytics per app.

