Launch 4 min read

The minimum stack for your first launch

A first launch does not need every service you have seen in a polished startup’s stack. It needs a way to stay online, a way for people to reach you and a way to learn whether the useful action works. Add more infrastructure when a real feature requires it. Each extra account creates another responsibility to maintain.

By MadeByWho

What you’ll take away

  • Start with hosting, a reachable contact and one meaningful measure.
  • Add identity and shared data only when the product needs them.
  • Verify service outcomes and ownership, not just configuration.

Start with three practical jobs

Hosting keeps the project available to visitors. A contact route lets someone report a problem or ask a question. Analytics tells you whether people reach and complete the action the project exists to provide. For a small browser game or local calculator, these can be enough to learn from a first release.

Your contact route might initially be a monitored email address rather than a ticketing system. Your measurement can begin with a page view and a successful result. Keep a short account list with the owner, purpose, current cost arrangement and recovery path. Do not paste credentials into that list.

Scroll to see all columns →

JobSmall starting choiceEvidence it works
Stay onlineA compatible account-owned hostA signed-out person can finish the live task
Be reachableA monitored contact address or formA test message arrives and has a reply path
Learn from useA few explicit product eventsThe provider receives a real successful action
Maintain itOwned source and a short operations noteYou can publish an update and locate rollback

Add a service when a feature creates the need

Accounts are useful when someone needs private saved work, a subscription or a persistent identity. They create sign-in recovery, account deletion and access-control questions. Do not require registration for a simple tool merely to collect email addresses; each extra step makes the first useful result harder to reach.

A database becomes useful when information must persist across devices or be shared between people. Browser-local storage can suit preferences and small personal state, but it should not be described as a durable cloud account. Payments are another separate job: only add them when you have a clear offer and a plan for refunds, support and what happens when access changes.

Transactional email belongs in the stack when your product must deliver something or help a person manage an account. Marketing updates need their own deliberate subscription choice and unsubscribe path. A sending API does not create a monitored inbox. Make the receiving and reply behavior explicit.

A small tool and a product with saved work need different stacks

Imagine a fictional packing-list tool. A visitor chooses a trip length and climate, then prints a list. The first version could run entirely in the browser. It needs a suitable host, contact details and an event after the list is generated. It does not need an account, database or scheduled email just to perform that job.

If the next version stores multiple trips across devices, the requirements change. You need identity, durable records, authorization and a clear way to delete a trip. If someone can share a trip, decide whether that link exposes the whole trip or a limited public copy. These are product decisions that come before choosing a database logo.

A prompt to adapt

Select and copy this brief, then replace the details with your own.

Map the minimum services for this product: a packing list generated from trip length and climate, with print and reset. For each proposed service, name the feature that requires it. Separate browser-local state, shared durable data, account identity, sending email and receiving support mail. Remove services without a current requirement. List the tests that prove each remaining service delivers its job.

Use components you can inspect and operate

A combination such as Vercel for supported web hosting, Clerk for accounts, Supabase for shared data, Resend for sending email and PostHog or GA4 for measurement can be reasonable when those jobs exist. It is one option, not a mandatory bundle. Start with the host and add the components your project actually needs.

For production Google sign-in, Clerk documents a custom credential setup. For exposed Supabase data, access grants and row-level policies need to enforce who can read and change records. Test with two ordinary accounts: one must not see or edit the other’s private work. Provider configuration screens do not prove that boundary.

Count responsibilities as well as money

Write down what might generate usage: hosting requests, media delivery, database storage, email volume and model calls. Set available spending controls and review them after the first real use. Do not place a paid model key into browser code. A public key used by an authorized client and a privileged server credential have different purposes.

Before launch, verify one real round trip for every retained component. Open the site, create the result, save it if that feature exists, receive the intended email and confirm the useful event in analytics. Remove a dashboard or integration that has no clear job. A smaller stack that you can verify is easier to keep healthy while you discover what people want.

Before you move on

  • Every service has a named current product requirement.
  • Hosting, source and domain accounts are owned and recoverable.
  • Contact delivery and product events have been verified.
  • Accounts and shared data are omitted until needed.
  • Private-data boundaries are tested when shared storage is added.
  • Usage and maintenance responsibilities are written down.

Sources

Official documentation and original sources used for this guide. Product features and availability can change; check the linked source before choosing a plan or publishing.

  1. Vercel deployments vercel.com
  2. Clerk Google sign-in clerk.com
  3. Supabase row-level security supabase.com
  4. Resend domains resend.com
  5. PostHog capture events posthog.com

Work to explore

Examples from the directory. Their inclusion does not imply the creators used this guide or a particular tool.

Meet the creators

Made something worth trying?

Bring your links and projects together in one place.

Create your profile