Web Application Development

Web Applications That Still Work on the Day You Have Real Users

Dashboards, customer portals, member areas, internal tools and progressive web apps — built with logins, roles and data volume treated as the job rather than as an afterthought.

  • Fixed-price first version
  • Your cloud account, your code
  • Tested on real devices
Developer building a web application dashboard on a desktop screen
Where the Work Actually Is

A Website Shows Things. A Web Application Does Things.

On a website every visitor sees the same page. In a web application the page depends on who is logged in, what they are allowed to see, and what they did last week. That one difference brings accounts, permissions, saved state, audit history, search, exports and an admin view with it — and those are where the budget goes. The screens are the visible ten percent.

It is also why a quote for “a site with a login area” and a quote for a portal can differ by a factor of five without either being dishonest. Before we price anything we establish how many roles exist, what each one may do, and how much data will be flowing through in year one.

How we scope a first version
What We Build

Six Shapes of Web Application

Most projects are one of these, or two of them joined together.

Dashboards & Reporting

Operational numbers pulled from several systems into one screen, with filters, date ranges and exports people actually use.

Customer Portals

Where your clients check status, download documents, raise tickets and pay invoices instead of emailing your team to ask.

Member Areas

Gated content, courses, community and subscriptions, with the access rules enforced on the server rather than hidden in the interface.

Internal Tools

The replacement for the shared spreadsheet that four people edit at once and nobody dares to sort.

Workflow & Approval Apps

Requests that move through stages, get approved or rejected, notify the right person and leave a trail you can audit later.

Progressive Web Apps

Installs to the home screen, works offline, sends push notifications — without two native codebases to maintain.

Architecture

What Sits Behind the Screen You See

The same four layers appear in almost every web application we build. Knowing where each one lives is what makes the thing maintainable by someone other than the person who wrote it.

Browser

The interface itself. Renders screens, validates input for convenience, and holds only what the current session needs.

Application Layer

Sessions, permissions and the business rules. Every rule the browser enforces is enforced here again, because anything in the browser can be bypassed.

API

One documented contract that the web front end, a future mobile app and any integration all use. Built once, not duplicated per client.

Database

The part that is hardest to change later. Indexed for the queries the application really runs, backed up daily, restore tested rather than assumed.

Background jobs, file storage and a cache attach alongside the application layer as the product needs them. We explain the API layer in more depth on the backend and API page.

Accounts & Access

Logins Are Easy. Permissions Are Where Products Break.

Signing a user in takes a day. Deciding what each one may see, and enforcing it everywhere, is a design decision with consequences for years.

What we set up as standard

  • Email and password with proper hashing, plus optional Google or Microsoft sign-in
  • Password reset, email verification and session expiry that does not log people out mid-task
  • Two-factor authentication where the data justifies it
  • Roles defined up front — owner, admin, staff, read-only, customer — not invented as you go
  • Every permission checked on the server, not merely hidden in the interface
  • An audit trail of who changed what and when, for the argument you will eventually have

The questions we ask before writing any of it

  • Can one person belong to more than one organisation or team?
  • Does an admin need to view the application as another user in order to support them?
  • Who can invite new users, and does an invitation need approving?
  • When someone leaves, is their account deleted or deactivated, and what happens to their records?
  • Are there records only some people in the same role may see?
  • Will you ever need single sign-on because a customer demands it?

Answering the last question early is much cheaper than answering it in year two. Retrofitting a permission model into a live application means touching almost every screen.

Performance

The Demo That Dies at 10,000 Rows

This is the single most common reason a handed-over web application has to be partly rebuilt. It works beautifully in the demo and grinds to a stop four months after launch.

Built for the demo

Everything loads at once

The list screen fetches every record and the browser filters them. Sorting happens in JavaScript. Each row triggers another query for its customer name. Nobody notices, because the test database has forty rows in it.

At 200 rows
Fine
At 10,000 rows
Unusable
Built for year two

The server does the work

Pages of results, searching and sorting in the database, indexes on the columns actually filtered, related records fetched in one query, heavy exports pushed to a background job, and a cache in front of the reports that are expensive to build.

At 200 rows
Fine
At 10,000 rows
Still fine

Illustrative comparison of two common implementation approaches — not measurements from a specific client project.

Before launch we seed the database with a realistic volume of data — the amount you expect after a year, not the amount you have on day one — and click through the slowest screens with it loaded. It takes a couple of days. It is the cheapest insurance in the whole project, because the alternative is rewriting those screens later while users are already depending on them.

Devices & Browsers

Responsive Is Not a Checkbox at the End

Designed narrow first

Every screen is drawn at phone width before desktop. Layouts that are built the other way round end up with a horizontal scrollbar and a squeezed table that nobody can read.

Tables become lists

A twelve-column table cannot be made readable on a 390px screen by shrinking it. On small screens the same data becomes stacked cards showing the three fields that matter, with the rest one tap away.

A named browser list

Current and previous Chrome, Edge, Safari and Firefox, plus mobile Safari and Chrome on Android. Written into the scope so “it looks wrong on my machine” has an agreed answer.

Progressive Web Apps

When a PWA Replaces a Native App, and When It Does Not

A progressive web app is a web application that installs to the home screen, runs full screen, works offline and can send push notifications. One codebase instead of three.

A PWA is usually enough

Field and operations tools

Staff need it on a phone with patchy signal, you control the rollout, and nobody finds it by browsing an app store.

A PWA is usually enough

Portals and dashboards on the go

Users who mostly work on desktop but want the same thing on a phone occasionally, without a separate download.

You need a native app

Hardware and background work

Bluetooth devices, background location tracking, health data, widgets, or heavy camera and sensor use.

You need a native app

Store presence is the channel

If people are meant to discover you by searching the App Store, or in-app purchase is your billing route, a PWA does not get you there.

Hosting & Deployment

Where It Runs, and Who Holds the Keys

01

Your Account

The cloud account is created in your name and billed to your card. We are added as collaborators and can be removed in one click.

02

Two Environments

A staging copy for you to try things on and a production one for real users, so nothing is ever tested on live data by accident.

03

Deploy on Push

A pipeline runs the test suite and ships the build. No developer copying files onto a server at midnight, and any release can be rolled back.

04

Backups & Alerts

Daily database backups with a restore we have actually tested, uptime checks, and error reports that reach a human rather than a log nobody reads.

For most applications at launch the monthly hosting bill is tens of dollars rather than hundreds. We size it for what you actually need and write down what each line item is for, so the number is never a mystery.

Be Honest

When a Web Application Is the Wrong Answer

Telling you this before the contract costs us a project occasionally. Telling you after costs you a great deal more.

An off-the-shelf tool already does ninety percent of it for a monthly fee
The real requirement is heavy local hardware or file access — that is a desktop application
You only need a small change to a tool you already use — a browser extension may be enough
Nobody internally owns the process the software is meant to support
The plan is to build every feature before anyone sees it, and there is no budget left for changes
It is genuinely a content site, in which case a good CMS costs a tenth of this
How a Build Runs

From First Call to Live Application

Week 0 — Scoping

We map the roles, the screens each one needs and the data behind them, then come back with a fixed price and a week-by-week plan. Nothing starts until you have that in writing.

Weeks 1–2 — Design & schema

Clickable screens for you to sign off, and the database design agreed at the same time. These two together settle most of what the application will cost to change later.

Weeks 3–10 — Build in sprints

Two-week sprints, each ending in a demo build you can log into yourself. A written update lands at the end of every working day and we reply to anything you raise within one business day.

Before launch — Load and browser pass

Seeded data at realistic volume, the slow screens profiled and fixed, the browser and device list worked through, and a security review of permissions and sessions.

Launch — and the week after

Production deploy, monitoring and backups switched on, credentials and documentation handed over. We watch the error reports closely during the first week, because that is when real usage finds what testing did not.

FAQ

Web Application Questions

What is the difference between a web application and a website?

A website shows you information. A web application does work for you — it has accounts, it stores and changes data, and what you see depends on who you are. That difference is why a brochure site can be built in days while a portal with logins, roles and reporting takes weeks: almost all of the effort sits behind the screens rather than in them.

How much does a web application cost to build?

Most first versions land between roughly $12,000 and $60,000. The number moves with how many distinct user roles there are, how much of the data has to be reported on, and how many outside systems it has to talk to. A single-role internal tool sits near the bottom of that range and a multi-role customer portal with billing sits near the top. The cost calculator gives you an indicative figure in about a minute.

Will the application work properly on a phone?

Yes. Every screen is built mobile-first and tested on real devices rather than a resized desktop browser. Dense tables are the honest exception: on a phone they become cards or a filtered list rather than a table you pinch and scroll sideways, because a shrunken spreadsheet is unusable on a small screen.

Which browsers do you support?

The current and previous versions of Chrome, Edge, Safari and Firefox on desktop, plus Safari on iOS and Chrome on Android. If some of your users are on something older — an internal tool used on locked-down machines, for example — say so before we start, because it changes which technologies we can use and it is expensive to retrofit.

Can a progressive web app replace a native mobile app?

Often, yes. A progressive web app installs to the home screen, works offline and can send push notifications on both Android and iOS, and it costs far less than building and maintaining two native apps. It is the wrong choice when you need Bluetooth or other specific hardware, background location, deep integration with the phone, or when being in the App Store is itself part of how you get users.

What happens when the data grows past what the demo handled?

That is the failure we design against from the start. Screens are paginated, lists are searched and filtered on the server rather than in the browser, the database is indexed for the queries the application actually runs, and we test against a realistic volume of seeded data before launch rather than the twenty rows a demo uses. Fixing this after launch usually means rewriting the screens that broke.

Who hosts the application and what does hosting cost?

You do, in your own cloud account created in your name on day one. For most applications at launch the monthly bill is modest — usually tens of dollars rather than hundreds — covering the application server, a managed database and backups. We set it up, document it and hand over the credentials. There is no hosting markup and nothing is tied to us.

Tell Us What the Application Has to Do

Describe the roles and the screens you have in mind — we will come back with a realistic scope, timeline and budget range within two business days.