Desktop app
- Native app window
- Desktop title bar
- Shared web & desktop code
Search the packs, templates, docs, and pages
The part of the product your customers see, built as a website and a desktop app from one codebase. Onboarding, settings, and team screens are already there, so the first thing you build is the thing you charge for.
one codebase
one codebase, website and desktop app
Open the repo
Auth, onboarding, settings, members and invitations are finished screens.
Build your feature first
Your first commit is the thing customers pay for. Everything around it exists.
Ship it both ways
The same build goes out as the website and as the desktop app.
Real captures from the SaaS starter: onboarding, profile, organization settings, members, roles, and invitations. Screens like these are usually the first quarter of a build, and customers never pay extra for them.
















































































The choice that stalls every kickoff is reversible here. One codebase ships three ways, so you decide when you actually know what customers want, and change your mind without a rewrite.
Need SEO mid-development?
Pages render on the server, so crawlers and link previews see real content instead of an empty shell. Flip it on the week SEO starts to matter.
pnpm start:ssr
same routes, same components, same types. switching back is one command too.
One product, opened in a browser or installed on a computer. When it needs to be on a phone or in a toolbar, that is a folder in this repo, not a second team.
3+ months
Of customer-facing screens, already built
Onboarding, members, invitations, and settings. The screens every product needs and no customer pays extra for.
3
Ways to ship, from one codebase
A website, a server-rendered site, or a desktop app. Same code, your pick, and you can change it later.
100%
Of the source lands in your repo
No platform, no fees, nothing hosted by us. Walk away any time and keep everything.
everything in your repo
no platform, no export
Six outcomes, each with a receipt your developer can check. The whole repo is public.
Onboarding, members, roles and invitations are finished screens.
src/featuresThe same product ships as a website and a desktop installer.
Edit the tokens once and every screen follows, light and dark.
One JSON file per language. Spanish is a translation job.
Lazy routes and tuned bundles, quick even on bad reception.
Every call is checked against the backend as the developer types.
checked as you typeWhat the starter changes for the person paying: time, money, and the risk of a rebuild.
time
3+ months
The screens a build spends its first months on, already in the repo and already tested.
money
$0
to start building
The application is free and public. You pay for feature packs later, or never.
hiring
Vite
bundler
oxc
linter
tsgo
type checker
pnpm
packages
Nx
monorepo

TanStack
router
Ordinary, popular tools. The next developer you hire has used every one of them.
risk
Walk away any time. There is nothing to migrate off.
Everything goes live on your own host, with the URLs, secrets, and migrations already wired between the services. No dashboards, no YAML.
Stack progress
00 / 4 services
Production/Fly.io
Better you read it here than find out on day two.
in the box
not in the box
Billing, notifications, collaboration
Feature packs. One command installs each, screens included.
Browse feature packsThe plumbing below is finished before you write a line. All of it is checkable in the public repo.





Templates are curated project starters built on this stack: a layout, feature packs, a custom theme, and bonus pages. The previews below are recordings of the real apps.
Same features underneath, different starting point. Either command resolves what the packs depend on, copies the source into your repository, and merges the database schema.
A landing page, a design system, a themed layout, and the features already wired into it. Rebrand it, put your product in the middle, ship.
$ hype-stack compose
Your design and your choices, without rebuilding auth, billing, or notifications. Tick the packs you want and the CLI wires them into the open-source starter.
Clone it, run it, click through the screens. Packs come later, or never.
free / public / your repo