Start here · 2 min
Requirements
The four accounts and one runtime you need, and which of them you can put off until later.
Nothing here costs money to start. Stripe takes a cut when you make a sale, everything else has a free tier that comfortably covers a launch.
On your machine
- Node 20 or newer. Check with
node -v. Next.js 16 will not run on 18. - Git, and an account on GitHub or wherever you keep code.
- A terminal. That is all. There is no Docker, no local Postgres, no
docker-compose upthat has to work before you can see a page.
Accounts
Supabase, needed on day one
The database and the auth server. Create a project in the region closest to your buyers. The free tier is two projects, which is one for production and one for staging.
Resend, needed on day one
Transactional email. Until you verify a domain, Resend only delivers to the address that owns the account, which is enough to test the whole sign-in flow by yourself.
Stripe, needed when you want money
Without a key the app runs and /api/checkout returns 503. Nothing else
changes. You can build the entire product before you think about billing.
Vercel, needed to deploy
The kit deploys anywhere that runs Node, but the config, the image handling and the environment separation described in Deploy assume Vercel.
What you should know already
You do not need to be senior. You do need to be able to read TypeScript and to not panic at a SQL file.
If you have never used Server Components, the one thing worth internalising
before you start: a file is a server component unless it says "use client" at
the top. Server components can talk to the database directly. Client components
cannot, and should not want to.
Optional
- A domain. You can go live on the
vercel.appURL, but Resend needs a verified domain before it will deliver to anyone but you. - A GitHub personal access token, only if you are building something that invites buyers to a private repository the way the ShipNow storefront does.
Something wrong or missing on this page? Tell us.