Next.js, TypeScript, Payload CMS, PostgreSQL, Fastify, Alpine.js, Magento 2 module, Hyvä widget
Founder / solo builder — product, backend, frontend, Magento integration
Starting point
Generic website chatbots hallucinate stock and ignore Magento categories. Merchants on Magento 2 / Hyvä needed an assistant that resolves the category first, then searches live catalog data — with store isolation and no secrets in the browser.
Product & architecture
- •Designed the product story: category-first Magento discovery, three-tier AI routing, Hyvä-ready widget, per-store isolation, EU hosting, high-touch install.
- •Split the system into a thin Magento module, Alpine.js widget, and Node/Fastify backend with PostgreSQL and Redis.
Production marketing site
- •Built claspwell.com in Next.js: domain, PostgreSQL, Payload CMS, auth, pricing, process, security and request-integration flows.
- •Shipped the public site as a real production app, not a landing-page mock — CMS, database and onboarding paths included.
Magento / Hyvä integration
- •Magento 2 module plus Alpine widget scoped by verified store_id, origin allow-list and session JWT after captcha.
- •Catalog sync so replies use real SKUs, attributes and availability instead of crawled HTML.
Outcome
A live product site and a Magento-native assistant architecture I own end-to-end — frontend, backend, CMS, module and widget. Recruiters see a shipped Next.js product; Magento clients see a catalog-aware Hyvä integration, not a generic JS chatbot.
Visual proof
Marketing site
Production Next.js site — product story, live widget preview, Magento 2 / Hyvä positioning.

Pricing & plans
Per-store Magento plans shipped on the same Next.js + Payload stack.

Metrics
Role
Founder / solo full-stack
Surfaces
Site + API + widget + Magento module
Hosting
EU, per-store isolation
Site
Next.js + Payload CMS in production
My role
Founder and sole builder: product design, Next.js marketing site, Payload CMS, Fastify API, Alpine/Hyvä widget, Magento 2 module, production domain and database.