The brief.
A digital storefront for original UI components: browse a curated catalog, preview each component live, and buy the ones you want. It was built for the Framer design/dev community: designers, indie founders, and agencies who need production-ready blocks. The app spans eight pages: a homepage with a featured component and filterable grid, a components index, detail pages, and support.
Architecture.
A React 19 single-page app on Vite, with client-side routing via React Router. Component detail pages use a shared templated route rendered from product data, so adding inventory means adding data instead of duplicating pages. State is handled with React's built-in hooks. No Redux or Zustand, because at this scale that's all it needed. No UI library: every component and style is hand-built, which is where the design background does the work.
The interesting problems.
- The filterable catalog. Client-side filtering across the component grid with
useStateanduseMemokeeps the UI responsive as filters change. - Data-driven detail pages. One route and one template support many products. The sticky product panel beside a live preview video became a real responsive layout problem I designed and coded.
- Hand-built interactive components. The FAQ accordion and contact form were built from scratch with accessibility in mind instead of pulled from a library.
- A designer's build. The coded result leans on preview-first product cards, tight visual hierarchy, and restrained cobalt accents instead of a generic marketplace template.
What I'd build next.
I would connect a full payments flow, license/download delivery, and lightweight inventory management so the marketplace can move from polished showcase to live commerce product.