Scope and interface design
User roles, workflows and a data model written down with acceptance criteria. Then flows and screen designs, reviewed as a clickable prototype before engineering begins.
We design and build custom web applications: customer portals, dashboards, booking and ordering systems, and browser-based products with accounts, roles and data behind them. One team covers interface design, front end, backend, database and deployment to infrastructure you control.
A web application is software that runs in the browser with accounts, data and logic behind it. There is nothing for users to install, one version for everyone, and updates ship the moment they are ready. We build the whole thing, not only the screens.
User roles, workflows and a data model written down with acceptance criteria. Then flows and screen designs, reviewed as a clickable prototype before engineering begins.
A responsive interface in React and Next.js with TypeScript: forms, tables, search, filters, charts and file handling that behave properly on a laptop and on a phone.
API, PostgreSQL database, authentication, role-based permissions, background jobs, email and third-party integrations. Business rules live on the server, where they can be tested and trusted.
Staging and production environments in your own cloud or VPS account, backups, basic monitoring, and a repository handover with setup and deployment documentation.
Most web application projects we would take on look like one of these:
The boundaries matter because they change the scope:
Ranges are planning figures for a first version with one to three user roles. Larger systems are split into releases of a similar size.
How we work in detail ↗Roles, workflows, data, integrations and constraints. Output: scope document with acceptance criteria, data model outline, technical approach, fixed quote and timeline.
Flows and interface designs for the main journeys. Data-heavy screens such as tables and reports are designed with realistic data, because that is where layouts break.
Short iterations on a staging URL you can open at any time, with written updates and a demo at each milestone. Payments follow the milestones.
Cross-browser and device testing, data import if needed, production setup, backups, monitoring, and handover of code, accounts and documentation.
We prefer widely used, well-documented technology. It keeps hosting inexpensive and means the engineers you hire later will already know it.
| Layer | Typical choice | Why |
|---|---|---|
| Front end | React and Next.js, TypeScript, Tailwind | Fast interfaces, server rendering where search visibility matters, a very large hiring pool |
| Backend | Node.js with TypeScript | Shared types and validation between browser and server reduce a whole class of bugs |
| Database | PostgreSQL | Relational integrity for business data, strong reporting queries, cheap to run |
| Auth and file storage | Managed services such as Supabase or Firebase, or a custom implementation | Managed saves weeks; custom when single sign-on or unusual permission rules require it |
| Payments | Stripe or a regional provider | Card data never touches your servers |
| Deployment | Docker on your cloud or VPS account | Reproducible environments, no dependence on us to keep it running |
A well-structured single application on one database is the right architecture for most web apps for a long time. We add queues, caches and separate services when measurements call for them, not before. The reasoning is set out in our guide to SaaS architecture and stack choices, most of which applies to any web application.
We quote a fixed price against a written scope and split payments across milestones. Changes are priced before they are made. To sanity-check a quote yourself, the effort-times-rate method in our cost guide for SaaS and web products works for most web applications.
Attractive mockups can hide the fact that nobody has decided whether an order can have two delivery addresses. Those decisions surface eventually; in discovery they cost an hour, in month three they cost a migration.
Someone has to create accounts, fix a wrong record, issue a refund and answer “what happened to my order”. If the admin area is not in the scope, your developers become the support desk.
Access rules added at the end tend to be enforced only in the interface, which is not enforcement at all. Roles belong in the first version of the data model and on the server.
Old data is always messier than expected. Run a trial import early so the surprises arrive while there is still time to handle them.
If the application runs in your developer’s cloud account, you do not fully control your own product. Register the hosting, domain and third-party services in your company’s name from the first day.
We are a small independent studio. That shape suits well-defined products and is wrong for some others, so here is the honest version.
A web application needs a designer, front-end and backend engineering, and someone who can set up and secure a production environment. For a business whose main activity is not software, recruiting and managing that group for a build that lasts a few months rarely makes sense. After launch the workload drops to maintenance and periodic improvements, which a full-time team would be underused for.
Working with a studio gives you the complete team for the build and a smaller arrangement afterwards. Because we hand over the repository, documentation and infrastructure access, you can also move the work in-house later. We compare the routes in in-house vs outsourced development, and questions to ask a software development agency gives you a list to test any vendor against, including us.
If you need continuing capacity and not a single project, our product engineering service describes how that works.
A website mostly presents information. A web application lets users sign in and do something: place orders, manage records, upload files, view their own data. That means accounts, permissions, a database, business logic and an admin area, and it is why a web app is an engineering project and not a template job.
As a planning range, a focused first version with one or two user roles usually takes two to four months including design and testing. Portals with many roles, several integrations or complex reporting take longer. We set dates in the scope document after discovery and do not quote them before.
Cost follows effort: the number of user roles, workflows, integrations and reports. We quote a fixed price against a written scope. The method in our SaaS development cost guide applies to most web applications if you want to estimate a range yourself first.
By default TypeScript across the stack: React and Next.js on the front end, Node.js on the backend and PostgreSQL for data, deployed with Docker to a cloud or VPS account that you own. If you already run a different stack we will discuss whether to follow it.
Yes. We start with a paid review of the code, infrastructure and open issues, then tell you what can be kept, what is risky and what it would take to continue. Sometimes the right answer is a targeted fix, sometimes a staged rebuild of one part at a time.
Yes. Responsive layouts that work on phones and tablets are part of the standard scope. If users later need push notifications, offline use or store distribution, the same backend can serve a mobile app.
You do. Ownership of the code transfers to you under the project contract, the repository is handed over with documentation, and the application runs in hosting accounts registered to your company.
Describe the users, what they need to do and any systems it has to connect to. We reply with questions, a suggested scope and a realistic range.
Discuss your web app ↗