Hype StackHypeStack

Search

Search the packs, templates, docs, and pages

Free, and public on GitHub

Your product.
Web and desktop.

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

web
desktop

one codebase, website and desktop app

day one

Skip to the part you charge for.

1

Open the repo

Auth, onboarding, settings, members and invitations are finished screens.

2

Build your feature first

Your first commit is the thing customers pay for. Everything around it exists.

3

Ship it both ways

The same build goes out as the website and as the desktop app.

1codebaseReact, in your repo
2platformsbrowser and desktop
0extra codesame screens, both shells
Already built

Months of screens, already in the repo.

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.

Onboardingmy-app.com/onboarding
The starter's onboarding flow, where a new user picks or creates an organization
Create a workspacemy-app.com/onboarding
Creating a new organization during onboarding
Profilemy-app.com/settings/profile
The profile settings page from the starter
Organizationmy-app.com/settings/organization
Organization settings: name, logo, and the danger zone
Received invitationsmy-app.com/settings/invitations
Invitations a user has received from other organizations
Onboardingmy-app.com/onboarding
The starter's onboarding flow, where a new user picks or creates an organization
Create a workspacemy-app.com/onboarding
Creating a new organization during onboarding
Profilemy-app.com/settings/profile
The profile settings page from the starter
Organizationmy-app.com/settings/organization
Organization settings: name, logo, and the danger zone
Received invitationsmy-app.com/settings/invitations
Invitations a user has received from other organizations
Onboardingmy-app.com/onboarding
The starter's onboarding flow, where a new user picks or creates an organization
Create a workspacemy-app.com/onboarding
Creating a new organization during onboarding
Profilemy-app.com/settings/profile
The profile settings page from the starter
Organizationmy-app.com/settings/organization
Organization settings: name, logo, and the danger zone
Received invitationsmy-app.com/settings/invitations
Invitations a user has received from other organizations
Onboardingmy-app.com/onboarding
The starter's onboarding flow, where a new user picks or creates an organization
Create a workspacemy-app.com/onboarding
Creating a new organization during onboarding
Profilemy-app.com/settings/profile
The profile settings page from the starter
Organizationmy-app.com/settings/organization
Organization settings: name, logo, and the danger zone
Received invitationsmy-app.com/settings/invitations
Invitations a user has received from other organizations
Membersmy-app.com/settings/members
The members table with roles and row actions
Invite a membermy-app.com/settings/members
The invite-a-member dialog with a role attached
Change a rolemy-app.com/settings/members
Changing a member's role from the members table
Member actionsmy-app.com/settings/members
The row actions available on a member
Sent invitationsmy-app.com/settings/members
Invitations the organization has sent and not yet had accepted
Membersmy-app.com/settings/members
The members table with roles and row actions
Invite a membermy-app.com/settings/members
The invite-a-member dialog with a role attached
Change a rolemy-app.com/settings/members
Changing a member's role from the members table
Member actionsmy-app.com/settings/members
The row actions available on a member
Sent invitationsmy-app.com/settings/members
Invitations the organization has sent and not yet had accepted
Membersmy-app.com/settings/members
The members table with roles and row actions
Invite a membermy-app.com/settings/members
The invite-a-member dialog with a role attached
Change a rolemy-app.com/settings/members
Changing a member's role from the members table
Member actionsmy-app.com/settings/members
The row actions available on a member
Sent invitationsmy-app.com/settings/members
Invitations the organization has sent and not yet had accepted
Membersmy-app.com/settings/members
The members table with roles and row actions
Invite a membermy-app.com/settings/members
The invite-a-member dialog with a role attached
Change a rolemy-app.com/settings/members
Changing a member's role from the members table
Member actionsmy-app.com/settings/members
The row actions available on a member
Sent invitationsmy-app.com/settings/members
Invitations the organization has sent and not yet had accepted
Switch anytime

Website, search-friendly site, or desktop app? Decide later.

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?

Google reads every page

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.

my-app.com · html arrives renderedseo ready
liverendered on the server

Web and desktop today. Phone and toolbar when you want.

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.

Website

any browser, any host

Desktop app

mac, windows, linux installers

Mobile app

iOS and Android

see it

Browser extension

Chrome, Edge, Firefox

see it

same screens · same brand · same data

  • 3+ months

    Of customer-facing screens, already built

    Onboarding, members, invitations, and settings. The screens every product needs and no customer pays extra for.

    onboarding
    members
    invites
    settings
  • 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.

    websitessrdesktop
    one codebase
  • 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

What you get

What your business gets.

Six outcomes, each with a receipt your developer can check. The whole repo is public.

  • Sign-ups and teams, day one

    Onboarding, members, roles and invitations are finished screens.

    ReactTanStacksrc/features
  • Web and desktop, one build

    The same product ships as a website and a desktop installer.

    ViteElectronbuild:web · make:app
  • Your brand, one file

    Edit the tokens once and every screen follows, light and dark.

    Tailwind CSSshadcn/uistyles.css
  • Speaks every language

    One JSON file per language. Spanish is a translation job.

    Translated inmessages/es.json
  • Fast by default

    Lazy routes and tuned bundles, quick even on bad reception.

    ViteReactcode-split routes
  • Broken screens can't ship

    Every call is checked against the backend as the developer types.

    TypeScriptHyperFetchchecked as you type
The business case

Months of work you don't pay for

What the starter changes for the person paying: time, money, and the risk of a rebuild.

time

3+ months

done for youyour product

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

  • Every screen in your repo
  • Ordinary React, no framework of ours
  • Nothing hosted by us

Walk away any time. There is nothing to migrate off.

Write it once.
Run it everywhere.

my-app.comMy App.app

Deploy with one command.

Everything goes live on your own host, with the URLs, secrets, and migrations already wired between the services. No dashboards, no YAML.

Fly.ioRailwayyour account, either way

Stack progress

00 / 4 services

  1. ApplicationDeploying
  2. Admin PanelQueued
  3. APIQueued
  4. MobileQueued

my-app.com

ProductionFly.io

Deploying
Being straight with you

What the application does not include.

Better you read it here than find out on day two.

in the box

  • sign-in screens
  • onboarding
  • settings
  • members and roles
  • invitations
  • light and dark
  • desktop build
  • any language

not in the box

  • Billing, notifications, collaboration

    Feature packs. One command installs each, screens included.

    Browse feature packs
  • A finished look

    The application ships neutral. Templates bring the skin.

    Browse templates
Everything in the box

What the application already handles.

The plumbing below is finished before you write a line. All of it is checkable in the public repo.

Desktop app

  • Native app window
  • Desktop title bar
  • Shared web & desktop code
TypeScriptVite

Build targets

  • Static web apps
  • Server rendering with Nitro
  • Electron desktop apps
ViteTanStack

Type-safe API

  • End-to-end request types
  • Typed API responses
  • Compile-time error checks
HyperFetchHonoTypeScript

Typed WebSockets

  • Typed realtime events
  • Typed message payloads
  • Event name validation
HyperFetchHonoTypeScript

Realtime

  • Live updates
  • Authenticated WebSockets
  • Collaboration-ready
HyperFetchHono

Monorepo

  • Shared packages
  • Nx build orchestration
  • Build only affected projects
Nx

Page speed

  • Code-split routes
  • Smart prefetching
  • Rust-powered toolchain
TanStackViteRust

Strict types

  • Zod route validation
  • Typed forms
  • Strict TypeScript
ZodTypeScript

See it running

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.

Two ways to install features

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.

Ready-made

Take a template

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.

Browse templates
From scratch

$ hype-stack compose

✓ Auth✓ Billing✓ Teams✓ AI

Compose your own design

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.

Browse packs

Questions, answered

Yes. Everything lands as plain source in your repository: frontend, backend, admin, database schema. There is no runtime dependency on us and nothing phones home.

Take the free one. Decide nothing else today.

Clone it, run it, click through the screens. Packs come later, or never.

free / public / your repo