Your customers need to follow something
A portal showing the status of their job, order or file, without having to call you for it.
Services
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.
A portal showing the status of their job, order or file, without having to call you for it.
It works, but it works on loose files and manual steps. At some point that costs more than building the thing that replaces it.
Multiple customers in one system, each with their own users and their own data, strictly separated.
Sign-in, invitations, password recovery and two-factor authentication. What each role may do is defined.
Access rules on the rows themselves, so customer A cannot retrieve customer B's data even if a mistake ever reaches the interface.
A panel where you manage users, data and settings, separate from what customers see.
Uploads and sharing through private storage with short-lived links, rather than files anyone can reach with the right URL.
Email for what matters, and push notifications as soon as an app sits alongside it.
Built so a mobile app can run on the same data later without redoing the foundation.
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.
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.
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.
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.
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.
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.
A mistake is caught at build time instead of by your first visitor. Fewer surprises after launch.
Database, authentication and file storage. Access is enforced at row level, so one customer's data is technically out of reach for another.
Hosting on a network that serves your pages from the nearest location, with HTTPS and certificates handled for you.
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.
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.
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.
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.
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.