Web app development

A platform where users sign in and see their own data — in the browser, nothing to install.

A web app starts where a website stops: at the login. Once someone has to see their own file, dashboard or ordering process, it stops being about pages and starts being about data, permissions and who may see what.

That is also where it goes wrong when it is built carelessly. Access controlled only in the interface is not access control — it belongs in the database, or nowhere.

Who this is for

Your customers need to follow something

A portal showing the status of their job, order or file, without having to call you for it.

You are running on spreadsheets

It works, but it works on loose files and manual steps. At some point that costs more than building the thing that replaces it.

You sell software as a service

Multiple customers in one system, each with their own users and their own data, strictly separated.

What is included

Accounts and roles

Sign-in, invitations, password recovery and two-factor authentication. What each role may do is defined.

Separation at database level

Access rules on the rows themselves, so customer A cannot retrieve customer B's data even if a mistake ever reaches the interface.

Admin panel

A panel where you manage users, data and settings, separate from what customers see.

Files

Uploads and sharing through private storage with short-lived links, rather than files anyone can reach with the right URL.

Notifications

Email for what matters, and push notifications as soon as an app sits alongside it.

Room to grow

Built so a mobile app can run on the same data later without redoing the foundation.

How a project runs

  1. 01

    Intake

    We start with what you want to achieve, not with what you want built. Who has to use it, what happens next, and where it breaks down today. Scope follows from that, and only then does a price.

  2. 02

    Design

    Structure first: which screens exist, what sits where, and the route someone takes from arriving to getting in touch. Visual design comes after. You see and approve it before a line of code is written.

  3. 03

    Build

    We build in short rounds and put every round online behind a private URL. So you are looking at the real thing on your own phone, not at pictures of it.

  4. 04

    Launch and after

    Going live, measurement and maintenance. Security updates, backup checks and changes as your business changes — a site that cannot move with you is a liability in two years.

What we build with

This site runs on exactly this stack. That is deliberate: we do not put anything in front of a client that we do not use ourselves.

Next.js and React

Pages are assembled on the server and sent as finished HTML. That is what makes a site fast and what lets a search engine read it without running anything.

TypeScript

A mistake is caught at build time instead of by your first visitor. Fewer surprises after launch.

Supabase

Database, authentication and file storage. Access is enforced at row level, so one customer's data is technically out of reach for another.

Vercel

Hosting on a network that serves your pages from the nearest location, with HTTPS and certificates handled for you.

Related work

Common questions

What exactly is a web app?

Software that runs in the browser and that you sign in to. Where a website shows information to everyone, a web app shows data to one specific user: their file, their orders, their dashboard. Nothing to install, no app store involved.

What does a web app cost?

More than a website and usually less than an app with a store process, but the spread is wide because scope is. What drives it: how many kinds of user, how many screens each of them sees, which integrations are needed, and how strict the data protection requirements are. After the intake you get a fixed price for a first working version.

Can a website be extended with a customer portal later?

Yes, and that is often the sensible order: first a site that produces customers, then a portal for the customers you have. It matters that the site sits on a database that can carry it from the start, or the second half gets built on a foundation that was never meant for it.

Can my customers see only their own data?

That is the part we are strictest about. The separation lives in the database at row level, not in the screens. A user who hand-crafts a request still gets nothing back that is not theirs.

Tell us what you want to build

An intake takes about fifteen minutes and gives you a concrete picture of scope, timeline and price — including if you decide afterwards not to go ahead.

Nederlands