Tools, packages and infrastructure for building on the web.
Saastro is the technical foundation of my work — where patterns that keep repeating become reusable systems, and internal tools evolve into installable packages and products.
Not everything here is finished. Some things are alpha. Some are still being shaped. All of them are built to solve real problems I've encountered building websites and products.
Installable packages.
npm packages under the @saastro namespace. Drop them into any project.
npm i @saastro/forms⧉npm i @saastro/cms⧉npx shadcn add @saastro/ui⧉npm i @saastro/core⧉npm i @saastro/visual-editor⧉Products built on these foundations.
Two products built on top of the packages. Each one started as an internal tool and grew into something larger.
Saastro Form Builder
betaBuilt on: @saastro/forms
Visual drag-and-drop form builder with a React Flow canvas. Build multi-step forms visually — drag fields into steps, connect steps with conditional edges, configure submit actions (webhook, API, email, redirect), map and transform field data between steps and actions. Undo/redo, responsive breakpoints, debug preview, plugin support.
Saastro Hub
wipBuilt on: @saastro/cms + @saastro/core + @saastro/visual-editor
Multi-tenant CMS SaaS on Cloudflare. Manage multiple sites per organisation — each backed by a GitHub repo. TipTap editor, live visual editor, content workflows with approval flows, realtime collaborative editing, AI writing tools (SSE streaming), white-label (colours, fonts, custom domains, custom CSS), plugin marketplace, billing via Stripe, SSO (SAML + OIDC), audit logs. Two modes: embedded Astro integration or full SaaS hub.
Three connected layers.
My work lives across three spaces — each with a different purpose, all feeding into each other.
Tools, packages and infrastructure. What starts as internal tooling — form systems, website workflows, product foundations — evolves into systems anyone can use.
Personal layerBuilt in the open.
These tools are built to solve real problems. If you're working on something where any of this could be useful — or if you want to follow the work — get in touch.