Get ShipNow

Ship your SaaSSaaS
in days,
not months

Stripe, Supabase auth and transactional email already talking to each other. Rename the config, point it at your account, take a payment this weekend.

See how a weekend goes

One time payment. Lifetime updates. Thirty day refund.

export async function POST(req) {
  const session = await stripe
    .checkout.sessions.create({
      mode: "subscription",
      line_items: [{ price, quantity: 1 }],
    })
  return Response.json({ url: session.url })
}
Developer at a laptop in a bright office

Pay ShipNow

$199

Pro licence, one time

Pay

Postgres

usersrls
subscriptionsrls
invoicesrls
webhook_eventsrls
teamsrls
export async function POST(req) {
  const session = await stripe
    .checkout.sessions.create({
      mode: "subscription",
      line_items: [{ price, quantity: 1 }],
    })
  return Response.json({ url: session.url })
}
Developer at a laptop in a bright office

Pay ShipNow

$199

Pro licence, one time

Pay

Postgres

usersrls
subscriptionsrls
invoicesrls
webhook_eventsrls
teamsrls

$ npx shipnow init acme

resolved 41 files

wrote .env.local

wrote supabase/schema.sql

linked stripe products

$ npm run dev 

Monthly recurring

$12,480

Two engineers reviewing code together

Sign in

GContinue with Google
you@acme.com
Send magic link

$ npx shipnow init acme

resolved 41 files

wrote .env.local

wrote supabase/schema.sql

linked stripe products

$ npm run dev 

Monthly recurring

$12,480

Two engineers reviewing code together

Sign in

GContinue with Google
you@acme.com
Send magic link

Built on

Next.jsStripeSupabaseResendTailwindVercel

You already know how to build the product. What kills the launch is the fourth time you wire Stripe webhooks, the second week lost to auth edge cases, and the SEO you keep meaning to do.

Everything you were going to build first, already builtalready built

acme.com/dashboard

Monthly recurring

$12,480

Pay ShipNow

$199

Pro licence, one time

Pay
ShipFaster

The admin, the billing portal and the account pages are already there, reading from a real Postgres schema with row level security switched on.

The infrastructure disappears

What you stop writing

The familiar launch work arrives already connected, so your first commit can be the product.

localhost:3000 / your-product
Two engineers working through a build together

Launch status

Ready for the idea.

Authentication
connected
Payments
test mode
Email
connected
Search
indexable
Auth
Payments
Email
SEO
Deploy
Agent context

Everything around the idea, already in motion.

Stripe webhooksMagic linksRow level securityCustomer portalGenerated OG imagesMDX blogLicence keysAdmin dashboardStripe webhooksMagic linksRow level securityCustomer portalGenerated OG imagesMDX blogLicence keysAdmin dashboard

02 — Payments

Take your first payment on day one

Checkout, portal, signed webhooks, licence keys and refunds already agree with each other. Add your Stripe keys and switch to live mode.

See the payment flow
Two engineers checking a payment flow

Monthly recurring

$12,480

checkout.session.completed200
invoice.paid200
licence.created200

Search, already moving

Get indexed before you announce it

Every route leaves the repo ready to be found, previewed and understood.

shipnow.dev / your-product
A developer reviewing a build on screen

Your product

Live this weekend.

Fast, clear and ready to share.

Get started

shipnow.dev

Your product — live

robots.txtallowed
sitemap.xmlsubmitted
JSON-LDvalid
Open Graphgenerated
Canonicalresolved
Googlebotcrawling

From clone to customer

A weekend, start to finish

Watch the infrastructure fall away as the product becomes real.

$ npx shipnow init acme

✓ linked Vercel

✓ wrote .env.local

✓ live URL ready

A dev server running on a developer's desk

The one thing

Your product,
not the plumbing.

dev server running

Friday 19:00
Saturday 10:00
Sunday 09:00
Sunday 21:00

src/config.ts

NameAcme
Price€199
Accent#F8430A

Payment received

€199.00

Webhook 200 · licence issued

The product starts at hour one.

src/config.ts34 lines
export const config = {}

Checkout, the customer portal and webhook verification

One file

Six services, one config file

Stripe, Supabase, Resend, Vercel, Next.js and Tailwind are not six tutorials to follow. They are already talking to each other, with typed clients, validated environment variables and one place to put your keys.

Every line is typed. A missing key fails the build, not the checkout.

A developer's screens at night

repo / context

CLAUDE.mdread
AGENTS.mdread
.cursorrulesread
CODEMAP.mdread

I've read the repo. I'll follow the existing architecture.

05 — Built-in context

Your agent already knows this codebase

Claude Code, Cursor and Codex read the same conventions before they touch a file. The architecture stays coherent, even when the agent changes.

Four context files, zero briefing calls

Already solved, still invisible

The parts nobody wants to write twice

A live tour of the systems behind the screen.

Payments

Money arrives cleanly.

€199.00

paid · licence issued

Hands on a laptop keyboard with an editor open

Authentication

Auth that survives contact.

tourAuthBody

middleware.tslib/auth

Transactional email

Every message, on cue.

Welcomesent
Magic linksent
Receiptqueued

The same weekend, two starting points

The same weekend, twice

On the left, infrastructure consumes the weekend. On the right, the product begins immediately.

Starting from scratch

Stripe docsMagic linksSession refreshBilling portalOG imagesRLS policiesEmail templates
start here

Starting from ShipNow

A pair working on a product in a bright office

Your product

live

Stripe, auth, email and search are already behind it.

First commit: the idea.

Shipped from the same base

What people do with it

One product so far, built on the same base.

Optizads

I built Optizads on this. The parts I always dreaded, Stripe, the auth edge cases, the row level security, were already done and already tested. I spent the first weekend on the product instead of the plumbing, and it went live before I expected it to.
Afef AyedFounder, Optizads
Seif Bejaoui, who built ShipNow

Built by

The person
who wrote it.

Who made this

I built the same first two weeks eleven times.

Every product started with the same Stripe file, auth middleware, schema and OG image route. ShipNow is that work extracted once, so the next product starts at the interesting part.

If something breaks, you email the person who wrote it.

Pay once, ship forever

Launch pricing while the first hundred licences go out. No subscription, no seat count, and updates are included for as long as the product exists.

Launch

€139€229

Save €90one time payment

One project, yours forever

  • Next.js 16 and TypeScript base
  • Magic links, OAuth and sessions
  • Stripe checkout and webhooks
  • Postgres schema with row level security
  • Transactional email templates
  • SEO kit and generated OG images

Instant access to the private repo

Most popular

Studio

€229€369

Save €140one time payment

Unlimited projects, including client work

  • Everything in Launch
  • Unlimited projects, forever
  • Admin dashboard and analytics
  • MDX blog with tags and RSS
  • Component library and design tokens
  • CLAUDE.md, AGENTS.md and the code map
  • Direct email support and priority fixes

Instant access to the private repo

Thirty day refund, no questions, keep what you learned

Questions people actually ask

What exactly do I get?

Access to a private GitHub repository and every future update to it. It is a working Next.js 16 application, not a zip of snippets: auth, Stripe billing, a Postgres schema with policies, transactional email, an admin area, the SEO kit and the component library.

Do I need to be an experienced developer?

You need to be comfortable running a Next.js app and reading TypeScript. You do not need to have wired Stripe or written an RLS policy before, because those parts are done and documented.

Which database and which host?

Postgres through Supabase, deployed on Vercel, which is what the setup script configures. Both have free tiers that carry a launch. Nothing stops you moving to another Postgres or another host; the data layer is plain SQL and a typed client.

Can I use it for more than one project?

Launch covers one project. Studio covers unlimited projects, including client work, for as long as you keep the licence.

Is it a subscription?

No. You pay once and the licence does not expire. Updates are included for the lifetime of the product, not for twelve months.

What if it is not for me?

Email within 30 days and you get the money back. You keep whatever you learned from the code.

Does it work with AI editors?

That is a design goal rather than an afterthought. The repo ships CLAUDE.md, AGENTS.md, .cursorrules and a code map, so Claude Code, Cursor and Codex follow the conventions already in the project instead of inventing new ones.

How do I get help?

You reply to your licence email and it reaches the person who wrote the code. There is no ticket queue and no community to search through first. If it is a bug, it gets fixed in the repository and you pull it.

Stop rebuilding the same first two weeks

Clone the repo, rename the config, point it at your Stripe account. The next thing you write is the part only you can build.

Pay once, keep the repo, thirty day refund.

$ npx shipnow init acme

resolved 41 files

wrote .env.local

wrote supabase/schema.sql

linked stripe products

$ npm run dev 

One command

Scaffolds the repo and links the project

Sign in

GContinue with Google
you@acme.com
Send magic link

Auth

Magic links, OAuth and sessions

Pay ShipNow

$199

Pro licence, one time

Pay

Payments

Checkout, the portal and refunds

Postgres

usersrls
subscriptionsrls
invoicesrls
webhook_eventsrls
teamsrls

Database

Tables with row level security

S

ShipNow

hello@shipnow.dev

Your licence key

SN-8F2A-90KD-1102

Email

Licence keys and receipts

Production

Installdone
Typesdone
Builddone
Deploydone
ready in 38s

Pipeline

Types, build and production deploy