All services
WebFeatured

Full-stack web apps

A product with its own interface, its own data layer and its own admin surface โ€” built end to end rather than assembled from a template.

Pricefrom $800

How this one runs

Category
web-development
Starts with
A free 30-minute scoping call
Engagement
Fixed price, milestone, retainer or fractional
After launch
Thirty days of fixes included
Reply time
Within one business day

About this service

Delivered as React, TypeScript, Vite, and Tailwind work, under the constraint every product in this catalogue is built under: it has to run without a paid service in the critical path, without a server that must be kept alive, and without a vendor whose pricing can move under you. That began as a budget decision and became a design one.

Scope is agreed on a call before anything is quoted, and what the work does not include is written down at the same time as what it does. If this is the wrong service for your problem, that is a sentence you get on the call rather than a discovery in week three.

How this one goes

What the work actually looks like

The month after launch is a queue.

Every request in it goes to whoever built the thing, because nobody else can reach the data. A price that needs changing. A permission somebody should not have. A row entered wrong on a Tuesday that has been wrong ever since, and will stay wrong until a developer somewhere has an afternoon free.

You have working pages and no way to administer them. That is what a template gives you: the screens. It does not give you an admin surface, and it does not give you an authorisation model.

So the second month costs more than the first.

None of that is a design problem. It is an ownership problem, and it is decided by whether the data has a door in it that somebody other than a developer can open.

The constraint here is fixed before the first commit. It has to run without a paid service in the critical path, without a server that must be kept alive, and without a vendor whose pricing can move under you. That began as a budget decision and became a design one.

It changes the data model far more than it changes the deployment. Every list read is paginated with an explicit limit, counts come from an aggregation, and the database does the filtering a client would otherwise do in memory. How far that goes is the whole subject of the backend platforms service on this site; here it is the floor under everything else.

The deliverables do not vary by project, and they are the same on every engagement of this shape.

Interface, data layer and admin panel. Authentication and per-user authorisation. Responsive from 320px to 1920px, which is a measured floor rather than a claim about mobile.

Structured data and a prerendered body for search, because an application that draws itself in JavaScript hands a crawler an empty document and gets indexed as one. And the deployment, with the pipeline that redeploys it.

ClearHire, LabFlow, Trizlink and Aura CRM are full-stack builds of this shape, and each of them has its own page on this site with the work attached to it. React, TypeScript, Vite and Tailwind are the default set. A project with a good reason to differ gets that reason written down before we start.

My name is Ahsan Mahmood. There is nobody behind me. The person who models the data is the person who writes the access rules and the person who answers the email when a row comes out wrong.

The admin panel is the part that decides whether you still need me after launch. It is built for the person running the business rather than for the developer who wrote it.

Empty, loading, offline and error states are built with the feature rather than after it, because those are what a real user meets on a first run or a bad connection.

The first cost is that the invisible half takes as long as the visible half. You are paying for work that never appears in a screenshot.

The second is worth stating plainly. A green build is not evidence that a feature works.

On the site this one replaced, nine service URLs all rendered the same list page, because a parent route declared no outlet, and the postbuild step that writes the search body made crawlers see nine correct pages while every human saw one. Typecheck passed. The build was clean.

The defect was found by opening the URLs. That is the only method that finds that class of failure, and it is why an engagement here ends with the flows walked through rather than with the pipeline going green.

A working demo against the milestone, not a status update. That costs you a slot in your calendar every week for the length of the project. If something slipped you hear it that week, while there is still time to change what we do about it.

There is a third cost and it is smaller. The admin panel has to be designed as well as built, because a screen only its author can operate has moved the queue rather than removed it.

What this service does not include is written down at the same time as what it does. Visual design as a standalone deliverable. Native iOS. Blockchain work. Copywriting and content.

The third-party subscriptions the finished product needs to run are yours rather than mine. Any architecture that needs a paid service in the critical path gets flagged before it is built, not after. Thirty days of bug fixes at no charge, and after that nothing is automatic.

The invisible half costs what the visible half costs. That is the sentence people argue with on the call, and it is the one I have never found a way to move without moving the result along with it.

What is included

Five deliverables, every time this service is bought. Anything outside this list is quoted separately rather than assumed.

  • 01Interface, data layer and admin panel
  • 02Authentication and per-user authorisation
  • 03Responsive from 320px to 1920px
  • 04Structured data and a prerendered body for search
  • 05Deployment and the pipeline that redeploys it

Technologies and tools

The default set for this service. A project with a good reason to differ gets that reason written down before we start.

  • React
  • TypeScript
  • Vite
  • Tailwind

Questions

Common questions

The questions that actually arrive, answered in the first sentence.

What does a full-stack web app include?
The interface, the data layer and the admin panel, plus authentication and per-user authorisation, a responsive floor from 320px to 1920px, structured data with a prerendered body for search, and the deployment with the pipeline that redeploys it. Those deliverables do not vary by project. Anything outside them is quoted separately rather than assumed.
Do I get an admin panel, or do I have to ask you to change data?
You get an admin panel, and it is part of the fixed scope rather than an extra. It is built for the person running the business, not for the developer who wrote it, because the alternative is a queue of small requests only I can action. That queue is the thing this service exists to remove.
Will a single-page app actually be indexed by search engines?
Yes, because the build writes a prerendered body and structured data for every public route, so a crawler receives HTML rather than an empty document. An application that draws itself in JavaScript hands a non-JS crawler nothing and gets indexed as nothing. The body is generated from the page's own content rather than typed a second time, which closes one way for the two to disagree; the other ways are found by opening the URLs, which is how this site's own nine-page defect was caught.
How much does a full-stack web app cost?
$800 USD is the floor for a small, well-defined feature. Everything above that comes from a scoping call, in writing, before any work starts. The number comes from scope, integrations and timeline โ€” and on a build of this shape the two things that move it most are how many user roles the authorisation model carries and how much of the admin surface exists on day one.
What is not included in a full-stack build?
Visual design as a standalone deliverable. Native iOS โ€” there is no Apple Developer account here, so the App Store is not a platform this service or any other on the site covers. Blockchain work. Copywriting and content. Third-party subscriptions and domain costs are yours, and any architecture that needs a paid service in the critical path gets flagged before it is built, not after.

Why choose this

Four commitments that hold for this service the same way they hold for the other eight.

Built the way it will be maintained

Typed end to end, structured so a second developer can find things, and commented where the reasoning is not obvious from the code. You are not buying a codebase only I can read.

The failure paths are designed, not discovered

Empty, loading, offline and error states are built with the feature rather than after it, because those are what a real user meets on a first run or a bad connection.

You see it running every week

A working demo against the milestone, not a status update. If something slipped you hear it that week, while there is still time to change what we do about it.

Handed over completely

Repository, store listings and documentation are yours. Nothing needed to run or rebuild the product stays on my machine, and nothing is licensed back to you.

Ready to start?

Tell me what you are building and roughly when you need it. The first call is thirty minutes, costs nothing, and ends with either a scope or an honest reason not to proceed.

Related services

Frequently bought alongside this one, or a better fit if this is not quite it.