Service

Web applications for the process your business actually runs

A website presents information. An application does work — it holds state, enforces rules, and produces something at the end. Most businesses that need the second one are running it on a spreadsheet nobody is allowed to sort, and paying for that in errors rather than in software.

Starting from
$200
Timeline
10 days
Proof
3 live sites
Aftercare
30 days

What web application development actually means

Web application development means building software that runs in a browser and does work: it holds state, enforces rules about who may change what, and produces an outcome. A booking system, a client portal, a quoting tool and an internal dashboard are all web applications, and none of them are websites with extra pages.

Web application development and website application development describe the same work; the second is simply how more people search for it. Either way the deliverable is software, and the cost is driven by rules and states rather than by page count.

The distinction from an ordinary website is not pedantry, it is what drives the cost. A website can be wrong in ways that embarrass you. An application can be wrong in ways that charge the wrong person, double-book a slot, or show one customer another customer’s record. That is why applications need specification, roles, constraints and an audit trail, and why they cannot be responsibly quoted from a paragraph.

Who this is for

  • Businesses running a core process on a shared spreadsheet that nobody is allowed to sort
  • Companies that need customers or staff to log in and see only their own data
  • Operations with a workflow that has stages, approvals and handoffs
  • Businesses paying per-seat for SaaS that does eighty per cent of what they need, badly
  • Anyone whose process depends on a person remembering to do something at the right time

Who it is not for

Saying this out loud costs me some enquiries and saves both of us the ones that would have gone wrong. If you are on this list, I will tell you in the first reply rather than after a deposit.

  • Projects that are genuinely a content website with a form. That is cheaper and faster as a website
  • Businesses wanting a mobile app for an app store — that is a different platform and a different discipline
  • Real-time collaborative editing or heavy live data, which needs an architecture this stack is not the right choice for
  • Organisations that have not agreed internally what the process is. The application will expose that, expensively

The problems it solves

A spreadsheet as the system of record
Data moves into a relational schema where the database itself refuses to accept contradictions.
No idea who changed what
An audit trail on anything touching money or status, recorded automatically rather than by discipline.
Everyone can see everything
Role-based access checked on every route, server-side, rather than by hiding buttons in the interface.
The process only works because one person remembers
States and transitions are enforced by the system, so the step cannot be skipped.
Double bookings and race conditions
Handled at the database level with constraints and transactions, not with a check the application performs and hopes.
Reporting means exporting and pivoting by hand
The reports that justified the build are built into it, which is often the entire business case.

What you get

  • Specification covering user roles, permissions and every state a record can legitimately be in
  • Relational schema designed first, with constraints enforced in the database rather than hoped for in the code
  • Authentication with hashed credentials, session handling and role-based access control
  • The application itself: forms, lists, filters, actions and the reporting that justified building it
  • Transactional email sent through your own authenticated domain
  • Audit trail on anything that changes money or status
  • Deployment, environment configuration and a backup procedure verified by an actual restore
  • 30 days of snag fixes after go-live

What is included in the starting price

Everything below is in the $200 figure. Nothing here is quoted as an extra once the build is underway, which is the point of publishing it.

  • Specification covering roles, permissions, states and transitions
  • Relational schema with constraints enforced in the database
  • Authentication with properly hashed credentials and session handling
  • Role-based access control checked server-side on every route
  • The application: forms, lists, filters, actions and reporting
  • Audit trail on records that change money or status
  • Transactional email through your own authenticated domain
  • Deployment, environment configuration, and backups verified by an actual restore
  • 30 days of snag fixes after go-live

What costs extra, and why

A quote that omits these is not cheaper — it is less honest. Each one is real work that someone has to do, and pretending otherwise is how a fixed price becomes a negotiation in week two.

Third-party integrations
Accounting, payment, dispatch or CRM. Each is its own project with its own failure modes.
Data migration from the existing system
Usually the messiest part. Quoted once the real data has been seen rather than described.
User training and documentation
A short walkthrough is included. Formal training materials for a large team are separate.
Ongoing feature development
Applications grow with the business. A retainer beats a series of small quotes.
Load testing
Worth it when concurrency is genuinely a risk, and worth skipping when eleven people use it.

How the work runs

  1. Specify. Roles, states and rules written down. An application without a state diagram is a pile of forms that will contradict each other by week two.
  2. Schema. The relational model, including what the database itself refuses to allow. Constraints in the schema outlive every developer who ever touches the code.
  3. Build. Vertical slices — one complete workflow working end to end before the next one starts, on a staging URL you can use.
  4. Harden. Prepared statements everywhere, server-side validation, access checks on every route, and error handling that logs rather than leaks.
  5. Launch. Deployment, backups verified by restoring them, and handover documentation covering how to operate the thing.

Day by day

10 days from the day scope is signed off. Published as a schedule rather than a promise of speed — you should be able to tell on day three whether a build is on track.

WhenWhat happens
Days 1–2 Specification: roles, states, transitions and permissions. Signed off with a confirmed number.
Day 3 Schema and constraints. What the database will refuse to store is decided here.
Days 4–7 Build in vertical slices — authentication first, then one complete workflow at a time on a staging URL.
Day 8 Hardening: access checks on every route, prepared statements, validation, error handling that logs rather than leaks.
Day 9 QA including the failure paths — wrong role, expired session, concurrent edit, malformed input.
Day 10 Launch: deployment, backup and restore verified, monitoring, and written operating documentation.

The technology

Deliberately boring, and that is the feature. A stack another developer can pick up is worth more to you than one that impresses other developers.

Application
PHP 8 with a clear routing and controller structure, written rather than generated
Database
MySQL with foreign keys, unique constraints and transactions used properly
Authentication
Password hashing with a modern algorithm, secure session cookies, role checks server-side
Front end
Server-rendered HTML with Tailwind CSS, and Alpine.js for interaction that genuinely needs it
Hosting
Shared cPanel handles most business applications. A VPS where isolation or scheduling requires it

What it integrates with

  • Stripe for payment collection, subscriptions and refunds
  • Authenticated SMTP for transactional email that reaches inboxes
  • Accounting exports in a format your bookkeeper will actually accept
  • Any documented REST or JSON API
  • Scheduled jobs via cron for reminders, imports and recurring tasks
  • CSV import and export, because it remains how most businesses move data

What I need from you

Short list, and the first item matters most. Projects do not usually slip because the code was hard — they slip because a decision waited a week.

  • A decision-maker who understands the process end to end, available during specification
  • The real rules including exceptions, escalations and who is allowed to override what
  • A list of roles and precisely what each one may see and do
  • Sample data, including the records that broke the previous system
  • Hosting, domain and third-party accounts in your name

Content and photography

Applications are specified rather than written, and the thing to prepare is not copy but rules. Write down every state a record can be in, and who may move it from each state to each other state. If two people in your business answer that differently, the application cannot resolve it for you and the build will stop there until you do.

Bring the exceptions deliberately. The order that was refunded after dispatch, the booking cancelled by someone other than the person who made it, the customer with two accounts. Those cases determine the schema, and discovering them in week two is how a ten-day project becomes a fifteen-day one.

Performance standards

Targets, not aspirations — measured before handover on a throttled mobile connection rather than on a fast laptop.

MetricTarget
Largest Contentful PaintUnder 2.5s on a mid-range Android over 4G, measured in the field rather than on my laptop
Interaction to Next PaintUnder 200ms — which mostly means shipping less JavaScript rather than reordering it
Cumulative Layout ShiftUnder 0.1: every image carries width and height, fonts have metric-matched fallbacks
Total page weightBudgeted before the build, not discovered after it

Accessibility standards

StandardWCAG 2.2 AA as the build target, tested rather than asserted
KeyboardEvery interactive element reachable and operable without a mouse, with visible focus
ContrastText at 4.5:1, interface elements and icons at 3:1, checked with a contrast tool not by eye
MotionAnything animating over five seconds gets a pause control — WCAG 2.2.2 is a Level A requirement
FormsReal labels, errors described in text next to the field, no colour-only signalling
Why it matters commerciallyThe European Accessibility Act has applied to consumer e-commerce since June 2025, and the obligation sits with the business selling, not the agency that built it

This site is built to the same standard it sells, and the accessibility statement lists what is conformant and what is not — which is the part most statements leave out.

Security practices

TransportHTTPS enforced in a single redirect hop, HSTS enabled
HeadersCSP, X-Content-Type-Options, X-Frame-Options, Referrer-Policy, Permissions-Policy and COOP set
DatabasePrepared statements everywhere. Not "mostly" — everywhere
InputValidated server-side, because client-side validation is a convenience and not a control
SecretsEnvironment variables, never in the repository, never in a JavaScript bundle
EmailSPF, DKIM and DMARC aligned so your order confirmations reach inboxes

The SEO included in every build

Not an upsell. A site that launches unindexed is a shop with the shutters down, and the work below is cheap during a build and expensive afterwards because the fixes are structural.

RenderingContent present in the HTML without JavaScript execution, so every crawler and answer engine can read it
IndexationOne canonical per page, generated XML sitemap, robots.txt that does not block what it should not
Structured dataA linked JSON-LD graph — Organization, WebSite, page type and the commercial type that fits
AI crawlersAccess verified per user-agent before launch, because a host can 403 GPTBot before robots.txt is read
Search ConsoleVerified and the sitemap submitted at launch, so the site goes live indexed rather than as a blank shell

Ownership and handover

You own everything: the domain registered to you, hosting in your account, code in a repository you control, and the payment provider account in your business name. Credentials are handed over as they are created rather than at the end.

A supplier who resists this is protecting recurring revenue rather than your interests. If you want the reasoning in full, including how to check your current site, there is a guide on it.

Aftercare and what happens after launch

Thirty days of snag fixes are included. A snag is something that does not work as scoped — not a new feature, and the difference is written down before launch rather than argued about after it.

You also get written handover documentation aimed at whoever maintains the site next, which may well not be me. That is deliberate: the test of a good handover is whether another developer could take over without calling me, and on my projects they can.

Ongoing maintenance

Optional, monthly, cancellable. Nothing here is required to keep what you paid for.

RetainerFromCovers
Maintenance $50/month Software, plugin and dependency updates; Automated backups with restore tested quarterly; Uptime monitoring with alerting
SEO retainer $80/month Monthly technical crawl and fix cycle; Search Console monitoring and issue resolution; Content briefs based on your real query data

Payment terms

Working hoursMon–Fri, 09:00–18:00 PKT (UTC+5). That overlaps 05:00–14:00 UK time and 00:00–09:00 US Eastern.
Response timeWithin one business day, always. If I will be unreachable for longer, you know before it happens.
MeetingsGoogle Meet or Zoom, scheduled in your timezone. I will take an early or late call to reach you — that is my problem to solve, not yours.
LanguageAll work, documentation and communication in English.
Payment40% deposit, 60% on completion. Bank transfer or Wise. Invoices issued for your records.
CurrencyQuoted in USD by default. GBP, CAD or EUR on request.

How this compares to the alternatives

Including the routes that do not involve me, because a comparison that only flatters the author is not a comparison.

RouteCostWhat you trade
Spreadsheet plus disciplineNothing up frontErrors, and a process that depends on one person remembering
Off-the-shelf SaaSPer seat, monthly, foreverFitting your process to their software, and your data on their terms
This buildStarting from $200Ten days of specification and decisions, in exchange for software that fits
Agency application buildFive figures and upBudget, in exchange for a team and a longer, more formal process

What could go wrong, and how it is handled

The process is not actually agreed internally
Surfaces during specification. Better a difficult conversation on day one than a system nobody uses.
Existing data is worse than described
Migration is quoted after seeing real data. Estimating it from a description is how migrations overrun.
Scope grows once people see it working
Expected and healthy. It is re-quoted rather than absorbed, so the timeline stays honest.
Hosting cannot support scheduled jobs
Checked before quoting. Some shared hosts restrict cron, and it is far cheaper to know that first.

Live builds you can open

Every project below is live right now. Nothing here is a mockup, a concept piece or a template screenshot, and the build fails if any of these URLs stops responding.

Full-Stack E-commerce

Cheapest Proxies

Full-stack proxy e-commerce app with Stripe checkout and automated order + email handling via PHPMailer - built and deployed end to end.

cheapest-proxies.com ↗
Property Certificates

Cheapest Certificates

Site for a UK provider of landlord property-compliance certificates (EICR, gas, EPC) with fast online booking.

cheapest-certificates.co.uk ↗
Property Certificates

Same Day Certificates

Fast-turnaround site for a UK provider of same-day property-compliance certificates.

samedaycertificates.co.uk ↗

Case studies

What the brief was, what I built and the decisions worth explaining. No invented traffic figures — every number on this site is one I can evidence.

What to measure after launch

A site with no measurement is a site nobody can improve. These are the numbers worth watching, in the order they matter.

  1. Hours saved per week on the process the application replaced
  2. Error and rework rate compared with the previous way of working
  3. Adoption — the share of the team who use it rather than keeping a private spreadsheet
  4. Uptime, and time to restore from backup when tested
  5. Support requests per month, which should fall as people learn it

Common mistakes in this kind of project

Every one of these has been found on a real site, several of them on this one before it was rebuilt.

Building before the process is agreed
The application becomes the venue for an argument that should have happened first.
Permissions enforced by hiding buttons
A hidden button is not a permission. Every check must happen server-side on every route.
No audit trail on money or status
The first time a figure is disputed, you discover you cannot answer the question.
Untested backups
A backup that has never been restored is a belief, not a safeguard.
Rules in application code rather than database constraints
The rule survives exactly as long as every future code path remembers it.

Glossary

Terms that come up in quotes and get nodded at rather than asked about.

State
The stage a record is in — draft, submitted, approved, dispatched. The core of any workflow.
Role-based access control
Permissions attached to roles rather than individuals, checked on the server every time.
Transaction
A group of database operations that all succeed or all fail together.
Audit trail
An automatic record of who changed what, when, and from what to what.
Idempotency
Handling the same request twice without doing the work twice. Essential for webhooks and retries.
Cron
The scheduler that runs recurring tasks — reminders, imports, nightly reports.

Guides on this subject

Free, ungated, and written from client work. If reading one convinces you I know what I am doing, the enquiry follows on its own.

Questions people ask before hiring

What is the difference between a website and a web application?
A website answers a question. An application changes something — it stores state, applies rules to it, and can be wrong in ways a brochure page cannot. That difference is why applications need specification, roles and an audit trail, and why they take ten days rather than three.
Can you build a full stack web application on my existing hosting?
Usually yes. Standard PHP 8 and MySQL on shared cPanel hosting runs most business applications comfortably. I check your hosting before quoting and I will tell you plainly if it is not enough, rather than discovering it together on launch day.
Do you build the front end and the back end?
Both. Database, application logic, interface and deployment are one job here rather than three handovers, which is the main reason a ten-day timeline is realistic at all.
What happens when it needs to change in a year?
It is standard PHP and MySQL in a repository you own, with the schema and the deployment documented. You can bring it back to me or hand it to anyone else. Nothing about the build depends on my continued involvement.

Every other question I get asked → · or just ask me directly

Web application development by location

Same fixed scope and the same $200 starting price, priced in the local currency with that country's tax and data-protection terms set out in full.

All 735 locations across 39 countries →

Other services

Need web application development?

Send the brief and you get a reply within one business day — either questions, or a scoping call. If your project is not something I should take on, I will say so then.

Response
Replies within 1 business day
Hours
Mon–Fri, 09:00–18:00 PKT — overlaps 05:00–14:00 UK, 00:00–09:00 US Eastern
Booking
Booking projects from October 2026
WhatsApp — opens a chat with +92 346 5348466 in a new tab