Service
Custom website development for the job a template cannot do
A template is the right answer more often than developers like to admit. This page is about the times it is not — when the thing your business does has a shape no theme author anticipated, and forcing it into one costs more in permanent workarounds than building it properly would have cost once.
- Starting from
- $200
- Timeline
- 10 days
- Proof
- 3 live sites
- Aftercare
- 30 days
What custom website development actually means
Custom website development means the site is built from your requirements rather than assembled from a theme and a plugin stack. The data model, the page types and the behaviour are designed for what your business actually does, and the code is written rather than configured.
It is worth being blunt about when this is the wrong purchase. If your business is conventional and your content fits a normal page, a template will serve you faster and cheaper, and anyone telling you otherwise is selling. Custom earns its cost when the workaround has a running cost — when a template forces manual work every week, or blocks a rule your business depends on.
Who this is for
- Businesses whose pricing is calculated rather than listed, and cannot be expressed as a variant dropdown
- Companies that have hit a hard limit in a builder or theme and been told the answer is "not possible"
- Businesses running an expensive manual workaround because the website cannot do one specific thing
- Anyone maintaining a stack of plugins that fight each other after every update
- Organisations that need to own their code outright for procurement or compliance reasons
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.
- Businesses whose requirements a good template genuinely satisfies. I will tell you when that is the case
- Anyone who wants custom because it sounds better, without a specific limitation driving it
- Projects with no internal decision-maker, because bespoke work is decision-heavy by definition
- Businesses that need it next week. A specification cannot be responsibly compressed into a weekend
The problems it solves
- "The platform will not let us do that"
- The rule is implemented in code, because the constraint was a vendor decision rather than a technical one.
- Manual re-entry every week
- The process is modelled properly, which is usually where the entire return on a custom build comes from.
- Plugin conflicts after every update
- No plugin stack. Fewer moving parts, fewer things that break when one of them updates itself.
- Page weight from features you never use
- Multi-purpose themes ship code for every business they might have served. A custom build ships only yours.
- Nobody can explain how it works
- A written specification and documented deployment. The system is legible to the next developer, which protects you rather than me.
- Locked into a proprietary builder
- Standard PHP, MySQL and CSS in your repository. Portable by construction.
What you get
- A written specification agreed before any code, including what is explicitly out of scope
- Custom data model designed around your business logic rather than a theme author’s assumptions
- Hand-written PHP 8 and MySQL — no page builder, no multi-purpose theme, no plugin stack to maintain
- Front end in Tailwind CSS with Alpine.js only where interaction genuinely needs it
- Admin interface a non-technical person can operate without a training course
- Technical SEO built in during the build rather than retrofitted afterwards
- Source code in a repository you own, with deployment and rollback documented
- 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.
- Written specification, agreed and signed off before any code is written
- Custom database schema with constraints enforced where they belong
- Hand-written PHP 8 application code, no page builder and no theme framework
- Responsive front end in Tailwind CSS, designed mobile-first
- Admin interface built around your workflow rather than a generic CRUD screen
- Technical SEO baseline: schema, sitemap, canonical tags, crawlable rendering
- Security baseline: prepared statements, server-side validation, security headers
- Repository, deployment procedure and written handover documentation
- 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
- Each external system is its own small project with its own failure modes and its own testing.
- Data migration
- Moving existing content or records, with a redirect map where URLs change. Quoted on volume and messiness.
- Content entry at volume
- Loading several hundred records by hand is real time and is quoted separately once we know the count.
- Design system
- Where you need a documented component library rather than a site, that is a broader piece of work.
- Ongoing feature development
- Bespoke systems grow. A retainer is usually better value than a series of small quotes.
How the work runs
- Specify. The most valuable day of the project. What the system does, what it explicitly does not, and where the edges are. You sign it off and get a confirmed number.
- Model. The database comes before the design. Getting the data model wrong is the one mistake that stays expensive for the life of the system.
- Build. Daily on a staging URL you can open at any time. You see it wrong before you see it right, which is how scope problems surface in week one instead of week four.
- Harden. Prepared statements, server-side validation, security headers and error handling. Not a phase that gets cut when time runs short.
- Launch. Deployment, SSL, Search Console, sitemap, and a written handover that includes how to deploy the next change.
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.
| When | What happens |
|---|---|
| Days 1–2 | Specification. What it does, what it does not, and what happens at every edge. You sign it off with a confirmed number. |
| Day 3 | Data model and schema. The decision that is cheapest now and most expensive later. |
| Days 4–7 | Build, in vertical slices, on a staging URL you can open at any time. One workflow finished before the next begins. |
| Day 8 | Hardening: prepared statements, validation, access control, error handling, security headers. |
| Day 9 | QA on real devices, including the paths that fail rather than only the ones that succeed. |
| Day 10 | Launch: deployment, SSL, Search Console, sitemap, and written handover. |
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, written directly rather than through a heavyweight framework the project does not need
- Database
- MySQL, schema-first, with foreign keys and constraints actually used
- Front end
- Tailwind CSS with Alpine.js where interaction requires it
- Rendering
- Server-rendered HTML, so content exists without JavaScript execution for crawlers and answer engines
- Hosting
- Standard cPanel or a VPS. Nothing here requires a specific vendor, which is deliberate
What it integrates with
- Stripe for payments, where the build takes money
- Transactional email through your own authenticated domain
- Any documented REST or JSON API — suppliers, dispatch, CRM, accounting
- CSV and spreadsheet import and export, which is what most businesses actually run on
- Google Search Console and privacy-respecting analytics
- Authentication against an existing directory where one already exists
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 available during specification. This is the phase where your input has the most leverage
- The real rules, including the exceptions. The exceptions are where bespoke projects overrun
- Examples of the awkward cases — the order that broke the old system is worth more than a description of the normal one
- Existing data in whatever form it is in, however untidy
- Hosting, domain and any third-party accounts, in your name
Content and photography
Specification is content in a bespoke project, and it is the part clients most often want to skip. Two days spent writing down what the system does is the cheapest insurance available, because every ambiguity left in it becomes a decision made by a developer who is guessing.
Bring the edge cases specifically. Everybody can describe the standard order; the value is in the one that had a partial refund, a changed address and a discount applied after dispatch. Systems are shaped by their exceptions, and a specification that only covers the happy path is a specification for a system you will immediately need changed.
Performance standards
Targets, not aspirations — measured before handover on a throttled mobile connection rather than on a fast laptop.
| Metric | Target |
|---|---|
| Largest Contentful Paint | Under 2.5s on a mid-range Android over 4G, measured in the field rather than on my laptop |
| Interaction to Next Paint | Under 200ms — which mostly means shipping less JavaScript rather than reordering it |
| Cumulative Layout Shift | Under 0.1: every image carries width and height, fonts have metric-matched fallbacks |
| Total page weight | Budgeted before the build, not discovered after it |
Accessibility standards
| Standard | WCAG 2.2 AA as the build target, tested rather than asserted |
|---|---|
| Keyboard | Every interactive element reachable and operable without a mouse, with visible focus |
| Contrast | Text at 4.5:1, interface elements and icons at 3:1, checked with a contrast tool not by eye |
| Motion | Anything animating over five seconds gets a pause control — WCAG 2.2.2 is a Level A requirement |
| Forms | Real labels, errors described in text next to the field, no colour-only signalling |
| Why it matters commercially | The 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
| Transport | HTTPS enforced in a single redirect hop, HSTS enabled |
|---|---|
| Headers | CSP, X-Content-Type-Options, X-Frame-Options, Referrer-Policy, Permissions-Policy and COOP set |
| Database | Prepared statements everywhere. Not "mostly" — everywhere |
| Input | Validated server-side, because client-side validation is a convenience and not a control |
| Secrets | Environment variables, never in the repository, never in a JavaScript bundle |
| SPF, 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.
| Rendering | Content present in the HTML without JavaScript execution, so every crawler and answer engine can read it |
|---|---|
| Indexation | One canonical per page, generated XML sitemap, robots.txt that does not block what it should not |
| Structured data | A linked JSON-LD graph — Organization, WebSite, page type and the commercial type that fits |
| AI crawlers | Access verified per user-agent before launch, because a host can 403 GPTBot before robots.txt is read |
| Search Console | Verified 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.
| Retainer | From | Covers |
|---|---|---|
| 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 hours | Mon–Fri, 09:00–18:00 PKT (UTC+5). That overlaps 05:00–14:00 UK time and 00:00–09:00 US Eastern. |
|---|---|
| Response time | Within one business day, always. If I will be unreachable for longer, you know before it happens. |
| Meetings | Google 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. |
| Language | All work, documentation and communication in English. |
| Payment | 40% deposit, 60% on completion. Bank transfer or Wise. Invoices issued for your records. |
| Currency | Quoted 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.
| Route | Cost | What you trade |
|---|---|---|
| Premium theme plus plugins | Low up front | A permanent workaround, and a stack that breaks on update |
| Website builder with custom code injected | Subscription | Fighting the platform, and no way out later |
| This build | Starting from $200 | Ten days and real decision-making, in exchange for a system shaped around you |
| Agency bespoke build | Five figures | Budget, in exchange for a team, a process and a longer timeline |
What could go wrong, and how it is handled
- The specification changes mid-build
- Re-quoted before work continues. Silent absorption is how bespoke projects end in dispute.
- A rule turns out to be more complex than described
- This is exactly what specification exists to catch, which is why it takes two days rather than an hour.
- An external system is undocumented
- Discovered during specification where possible. Undocumented APIs are a schedule risk and you are told so before committing.
- You want to leave
- The code is in your repository, the accounts are yours, and handover documentation is a deliverable. Nothing is engineered to keep you.
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.
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 ↗Budget Proxies
Full-stack proxy e-commerce store with plan selection and an automated checkout flow.
budgetproxies.com ↗5 Star Rent A Car
Developed a vehicle-rental website for a Pakistan-based client.
5starrentacar.pk ↗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.
- Time saved on the manual process that justified the build — usually the number that pays for it
- Error rate on the workflow the system replaced
- Search Console coverage and impressions, if the build is public-facing
- Core Web Vitals field data, which custom builds should win comfortably
- Support requests per month, which should fall rather than plateau
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.
- Choosing custom without a specific limitation driving it
- Pays template money twice over for a benefit nobody can name.
- Designing before modelling the data
- Produces a beautiful interface over a schema that cannot express the business.
- Skipping specification to start sooner
- Every hour saved here is repaid with interest in week three.
- Building for requirements nobody has yet
- Speculative features are the most reliable way to overspend on a bespoke build.
- No documented deployment
- A system only one person can deploy is a risk sitting on your balance sheet.
Glossary
Terms that come up in quotes and get nodded at rather than asked about.
- Specification
- The written agreement on what the system does. The most valuable document in a bespoke project.
- Schema
- The structure of the database — tables, columns, relationships and constraints.
- Vertical slice
- One complete workflow built end to end, rather than a layer at a time.
- Prepared statement
- A database query with parameters bound separately. The standard defence against SQL injection.
- Server-rendered
- HTML built on the server, so content exists before any JavaScript runs.
- Technical debt
- A shortcut taken now that costs more to live with later. Sometimes correct, always worth recording.
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 actually counts as custom website development?
- Anything where the behaviour of the site is the product rather than the pages. Pricing that is calculated rather than listed, a workflow with states and permissions, a catalogue whose configuration does not fit a variant dropdown. If a theme plus three plugins would genuinely do it, I will say so, and you should take that route.
- Is bespoke website development worth the extra cost?
- It is when the workaround has a running cost. Ten minutes of manual re-entry per order is roughly forty hours a year, and that arithmetic decides it — not a preference for custom code. When the sums do not work, I will tell you they do not work.
- How is this different from your custom PHP development service?
- Custom PHP development is the internal-system end — portals, dashboards, back-office tools. This is the public website end, where the site itself is bespoke. They share a stack and often overlap; day one decides which one you are actually buying.
- Can I take the code elsewhere later?
- Yes, and that is the whole point of not using a proprietary builder. It is standard PHP and MySQL in your repository. Any competent developer can pick it up, which is exactly the position you should insist on being in.
Every other question I get asked → · or just ask me directly
Custom website 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.
- Custom website development Camden
- Custom website development Bray
- Custom website development Kitchener
- Custom website development New York
- Custom website development Albury
- Custom website development Dubai
- Custom website development Riyadh
- Custom website development Multan
- Custom website development Lucknow
- Custom website development Jurong
- Custom website development Johannesburg
- Custom website development Hamburg
- Custom website development Amsterdam
- Custom website development Paris
Other services
Need custom website 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