Website
Present an offer, be found on Google, receive contact or quote requests. No accounts, little logic.
Build With Me / Web
A site that brings in requests, an app your team uses every day, a SaaS customers pay for: each product has its own right way to be built.
To build a web product, start from the problem and the users, not the technology. A presentation site is usually best made with a site builder; a standard store, with a hosted commerce platform; custom code pays off when the product has accounts, per-user data, business rules or integrations no tool handles. Then the order matters: data model, authentication, the main flow, payments, and a verified production launch.
Checked on
In brief
Three ways to build
Build School is Bynilson’s paid programme for building a web product with a coding agent and proving it is production-ready: a staged path, templates, ShipCheck. Before buying anything, the free resources on this page and the SaaS Starter Kit checklist are enough to get started.
You keep control of your code and your repository; Bynilson reviews, unblocks and prioritises. Two formats already exist in Build School: Cohort Build (a cohort, feedback, repository review) and Premium Mentoring (architecture and security review, debugging on your repository, by application). Written collaboration — instructions, annotated screenshots, captioned recordings — is a first-class path: no call is required.
For a product to build or rebuild, the project qualification tells you in six questions whether it fits a Bynilson engagement; a minimum engagement applies, and the answer says so plainly when a project is below it. For an existing app that breaks, Code Rescue; to check before a launch, Launch Rescue.
The products
Ten product shapes, the sensible way to build each one, and the classic trap. The right starting point is often simpler than expected.
Present an offer, be found on Google, receive contact or quote requests. No accounts, little logic.
Signed-in users, data that belongs to them, business rules: software that runs in the browser.
Customers create an account and pay a subscription to use your software. The product has to run without you.
A web app people can install on their home screen, which can partly work offline, without going through a store.
Two kinds of users meet: sellers or providers list, customers buy or book.
Sell products: catalogue, cart, payment, shipping, returns, VAT.
Your clients sign in to upload documents, follow a case, find their invoices.
Replace spreadsheets, emails and copy-paste with a team tool that has roles and a history.
Slots, availability, confirmations, reminders and cancellations.
Lessons, courses, templates or resources available after payment, with each person’s progress.
The approaches
There is no universal right answer. There is the simplest tool that meets your need today, and the limits that will make you switch tomorrow.
What usually pushes towards custom code: rules you must be able to test and version, data you must control (where it is hosted, who can access it), an integration no connector offers, or a platform cost that exceeds that of maintained code. What should hold you back: a need that is still unclear. Validating with a simple tool costs less than rebuilding a poorly scoped product.
The technology
The same stack is not pushed onto every project. Technology is chosen from the requirements — and from who will maintain the product afterwards.
| Requirement | Reasonable options | When it is not the right choice |
|---|---|---|
| Rich, interactive interface | React with TypeScript; a framework such as Next.js for server rendering and routing | A content site with no interaction: a site builder or a static site generator is enough |
| Pages found on Google | Server rendering or static pages, generated metadata and sitemap | A fully private app behind a login: SEO only matters for public pages |
| Server logic and API | Node.js (the framework’s API routes or server actions), or another server language your team knows well | If your team knows Python, PHP or another ecosystem well, the best stack is the one it can maintain |
| Relational data | PostgreSQL, directly or through a managed service such as Supabase (database, auth, storage) | Data with no relations or complex queries, or a volume a no-code tool already handles |
| Payments | Stripe (Checkout for payment, webhooks for confirmation) | A standard store: the commerce platform already includes payment |
| Consistent interface, quickly | Tailwind CSS or the team’s existing design system | A design system already in place in another technology |
| Data hosted in Switzerland or the EU | Host and region chosen for the database and files, checked in the provider’s documentation | If no requirement imposes it, region choice stays a latency and cost decision |
TypeScript
JavaScript with types checked before it runs.
When: As soon as a product has more than a few files or more than one person.
React
A library for building interfaces from components.
When: Interactive interfaces, reusable components.
Not when: A simple content site.
Next.js
A React framework with server rendering, routing and server actions.
When: Apps and SaaS that also have public pages to rank.
Not when: A pure API with no interface, or a team already productive with another framework.
PostgreSQL
A proven open-source relational database.
When: Most products with users and related data.
Supabase
Managed Postgres with authentication, file storage and row-level access rules.
When: Starting quickly without running a database server.
Not when: An infrastructure already mandated by your organisation.
Stripe
An online payment service: one-time payments, subscriptions, refunds.
When: Charging inside an app or a SaaS.
API and backend
Database
A product is first a data model: which entities (a customer, a case, an invoice), which relations, who owns what. Write it down before the first page; it is the most expensive decision to change later.
Authentication
Payments
Before opening payments
Integrations
Going live
The path
Every stage points to a resource that exists. The detailed path, with exercises and checks, is Build School’s.
Validate the problem
Who has this problem, how do they solve it today, and what would prove they would pay for better?
AvailablePrototype or v1?
Define the v1
One main flow, the list of what will wait, and what makes the v1 “done”.
AvailableSaaS Starter Kit (free checklist)
Choose the approach
Site builder, no-code or code; build it yourself, with help, or delegate it.
AvailableFree diagnostic: build, buy or delegate (in French)
Write the data model
Entities, relations, the owner of each piece of data.
AvailablePostgreSQL documentationPostgreSQL
Set up the environment
Git repository, editor, environment variables, a first empty deployment.
AvailableGitHub — Get startedGitHub
Build access
Authentication, sessions, and authorisation checked on the server.
AvailableOWASP ASVSOWASP
Build the main flow
From sign-in to result, end to end, before any secondary screen.
AvailableNext.js documentationVercel
Wire payments
Checkout, a signed and idempotent webhook, a tested refund.
AvailableStripe webhooksStripe
Connect integrations and emails
External services with retries, transactional emails.
AvailableBuilding a SaaS with Next.js: the order that avoids rewrites
Verify before production
Access, data, payments, errors: each point verified, not declared.
AvailableShipCheck — is your app production-ready? (in French)
Go live
Domain, authenticated emails, error monitoring, backups.
Launch and iterate
First users, simple measurements, fixes, then new features.
First validate the problem with real users, then build in order: data model and per-customer isolation, authentication, one complete main flow, a subscription confirmed by webhook, emails, and a verified production launch. The article Building a SaaS with Next.js covers each step.
Cut the v1 down to a single flow that solves the main problem, and write down what will wait. Often a no-code tool or a page with a form is enough to check the problem is worth solving. See Prototype or v1?.
No-code is excellent for validating quickly or equipping a team. Custom code pays off when the product carries business rules to test, data to control, integrations with no connector, or platform costs that grow too high. The free build, buy or delegate diagnostic (in French) helps decide.
The heart of a client portal is authorisation: every request checks on the server that the person may see this specific case. Add private file storage with signed links, and keep the interface simple — list, detail, actions, statuses.
Create a Stripe Checkout session on the server, send the person to the payment page, then grant access when your server receives the signed webhook confirming the payment. Make that webhook idempotent and test a refund before launch.
It depends on scope, not technology: the number of roles, rules, integrations and payments. The SaaS cost calculator gives a range from your answers; for a brochure site, see how much a website costs in Switzerland.
A web app that works well on a phone is enough for most first versions, and it avoids app store review. A native app pays off when hardware access, reliable notifications or an App Store presence are essential — see building an iOS app.