Service
E-commerce websites with checkout that actually works
I build online stores end to end — catalogue, cart, Stripe checkout, order emails and the technical SEO that gets them found. Six of the fifteen sites I have shipped are e-commerce builds, and every one of them takes real payments.
- Starting from
- $150
- Timeline
- 7 days
- Proof
- 4 live sites
- Aftercare
- 30 days
What e-commerce development actually means
E-commerce website development means building an online store that takes real money: a product catalogue a customer can navigate, a cart that survives a page refresh, a checkout that handles tax and shipping rules, and an order lifecycle that continues correctly even when the customer closes the browser mid-payment.
It is not a design job with a payment button added at the end. The catalogue model — what a product is, what varies, what changes the price — decides the architecture, and it is the one decision that is expensive to reverse. That is why it is the first thing I write down and the last thing I would let a client skip.
What you are hiring when you hire an e-commerce website developer, as opposed to a designer, is someone who owns that model and the payment lifecycle attached to it. Six of the fifteen sites I have shipped are online store development projects, and every one of them takes real card payments today.
Who this is for
- Retailers with a physical or digital product who currently take orders by phone, email or DM
- Businesses on a hosted platform that has hit a wall they cannot climb — usually a checkout rule the platform will not allow
- Resellers whose product configuration does not fit a normal variant dropdown
- Anyone whose current store loses orders when a payment succeeds but the browser does not come back
- Businesses that need to sell into more than one country with different tax treatment
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.
- Marketplaces with multiple independent vendors, payouts and disputes — that is a platform build, not a store
- Businesses that need an ERP or accounting system integrated end to end on day one
- Anyone whose catalogue is genuinely conventional and who would be served faster and cheaper by Shopify. I will tell you when that is the case
- Projects where nobody internally owns product content, because the build finishes and the store stays empty
The problems it solves
- Orders lost at the payment step
- Fulfilment is driven by the payment provider webhook rather than the browser redirect, so a closed tab cannot produce a charged customer with no order.
- A catalogue nobody can administer
- Configurations are modelled as first-class database rows rather than variants bolted onto a product, so the admin screen matches how the business actually thinks.
- Prices that need a phone call
- Rules and formulas are stored as data and editable, so made-to-measure or configured pricing shows a real number before the customer commits.
- Confirmation emails in spam
- Transactional mail sends from an authenticated domain with SPF, DKIM and DMARC aligned.
- A store nobody can find
- Crawlable category and product URLs, product schema matching the visible page, and a generated sitemap — done during the build rather than as a later project.
What you get
- Product catalogue with categories, search and filtering
- Cart and a checkout that handles tax, shipping and discount rules
- Stripe payment integration, tested against live card scenarios
- Automated order confirmation and admin notification email via PHPMailer
- Admin area for products, stock and orders
- Mobile-first responsive build — designed on a phone screen first
- Technical SEO baseline: schema, sitemap, meta, Core Web Vitals pass
- Deployment, domain and SSL configuration, plus a 30-day snag list
What is included in the starting price
Everything below is in the $150 figure. Nothing here is quoted as an extra once the build is underway, which is the point of publishing it.
- Catalogue model written down and signed off before any code
- Responsive front end, designed against a phone screen first
- Cart and checkout with tax, shipping and discount rules
- Payment integration tested against declines, 3D Secure and refunds — not only the happy path
- Automated order confirmation and admin alert email
- Admin area a non-technical person can run the business from
- Technical SEO baseline and Search Console setup at launch
- 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.
- Product content entry
- Loading several hundred products by hand is real time. Quoted separately once we know the count.
- Photography and copywriting
- I build; I do not shoot product photography. I will tell you what is needed and what good looks like.
- Third-party integrations
- Accounting, dispatch, ERP or supplier feeds are each their own small project with their own failure modes.
- Migration from an existing store
- Products, customers, orders and a redirect map. Quoted on catalogue size, and the redirect map is not optional.
- Multi-currency and multi-region tax
- Worth doing properly when you genuinely sell across borders, and worth skipping when you do not.
How the work runs
- Scope. We agree the catalogue size, payment flows and integrations in writing. You get a fixed quote — not an hourly estimate that drifts.
- Build. I build on a staging URL you can open at any time, updated daily. No black box, and on a build this short there is no week where nothing visible happens.
- Payments. Stripe goes in early and gets tested against real card scenarios — declines, refunds, 3D Secure — not just the happy path.
- Launch. Deployment, SSL, redirects, analytics and Search Console. The site goes live indexed, not as a blank shell.
- Aftercare. 30 days of snag fixes included. Then either you run it, or I maintain it monthly.
Day by day
7 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 |
|---|---|
| Day 1 | Scope and catalogue model. What a product is, what varies, what changes price and stock. You sign it off and get a confirmed number. |
| Days 2–3 | Front end on a staging URL you can open at any time — category, product, cart, checkout. |
| Days 4–5 | Payments, tax and shipping rules. Webhook-driven fulfilment, order emails, admin area. |
| Day 6 | QA. Real card on a real phone on mobile data, declines, out-of-stock, keyboard and screen reader. |
| Day 7 | Launch: deployment, SSL, redirects, Search Console, sitemap submitted. Handover 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 MySQL, or WordPress with WooCommerce where content publishing matters more than custom logic
- Front end
- Tailwind CSS with Alpine.js for interaction. No framework runtime unless the project genuinely needs one
- Payments
- Stripe Checkout, including subscriptions, with webhook-driven fulfilment
- PHPMailer over authenticated SMTP
- Hosting
- Whatever you already pay for, if it is adequate. Usually shared cPanel — I will say when it is not enough
What it integrates with
- Stripe — one-off orders, subscriptions, refunds and 3D Secure
- Local and alternative payment methods where your market expects them
- Shipping rate calculation by weight, zone and order value
- Transactional email through your own domain
- Accounting exports in a format your bookkeeper will accept
- Any documented REST API — supplier feeds, dispatch, inventory
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 can answer questions within a day. On a 7-day build this matters more than anything else
- Product data: names, descriptions, prices, variants, stock. A spreadsheet is fine
- Product photography, or a decision to use what exists
- Your Stripe account — created in your business name, with your bank details
- Hosting and domain access, in your name, not mine
Content and photography
Product content is the single most common reason a build slips. The code is finished and the store has eleven products in it because nobody was assigned the other three hundred.
Manufacturer descriptions are the easy option and the weakest one — two hundred other stores published the same paragraph, which gives a search engine no reason to prefer yours. Rewriting the descriptions for the products that actually sell is the highest-return content work in most stores, and it is worth doing for twenty products rather than badly for two hundred.
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 |
|---|---|---|
| DIY on a website builder | Subscription only | Your time, and a hard ceiling on checkout behaviour |
| Bought theme + a freelancer to install it | Low | A data model chosen by a theme author who never saw your catalogue |
| This build | Starting from $150 | A week of your attention on decisions, in exchange for a store shaped around your catalogue |
| Local agency | Several thousand | Budget, for account management, a design team and someone to phone |
What could go wrong, and how it is handled
- Content is not ready on day one
- Flagged at scope. The build proceeds with placeholders and the launch date moves — I would rather tell you in week one than in week three.
- The catalogue turns out to be more complex than described
- This is what day one exists to catch. If the model changes materially, the number is re-quoted before work continues, never silently absorbed.
- Payment provider rejects the business type
- Checked early. Some categories are restricted by Stripe and it is far cheaper to discover that before the build than after.
- You want to leave
- You can. The code is in your repository, hosting and payment accounts are in your name, and handover documentation is a deliverable rather than a favour.
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 ↗Wardrobe Store UK
Responsive e-commerce site for a UK wardrobe retailer - product pages with cart / checkout and extensive on-page and technical SEO (schema, meta tags, location pages).
wardrobe-store.co.uk ↗Curtain House
E-commerce store for a Pakistan-based retailer of premium curtains, blinds, and home textiles with custom-stitching options.
curtainhouse.pk ↗Budget Proxies
Full-stack proxy e-commerce store with plan selection and an automated checkout flow.
budgetproxies.com ↗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.
Written for your trade
These exist only where a live client build proves the pairing. If your trade is not listed the work is the same — there is simply no page claiming otherwise.
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.
- Orders and conversion rate, split by device — mobile and desktop behave differently enough that a blended number hides the problem
- Checkout step drop-off, which tells you where the money leaves
- Search Console impressions on product and category URLs
- Core Web Vitals field data on the category page, where most sessions start
- Confirmation email delivery rate — the metric nobody watches until customers complain
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 the platform before modelling the catalogue
- The single most expensive mistake available, and it is made in week one and paid for in week four.
- Fulfilment driven by the browser redirect
- Produces charged customers with no order every time someone closes the tab.
- Testing only successful payments
- Declines, 3D Secure challenges and partial refunds all fail differently and all look identical to the customer.
- Treating SEO as a later phase
- The fixes are structural. Cheap during the build, expensive after it, and the lost traffic compounds while you wait.
- Publishing the manufacturer description
- Gives a search engine no reason to prefer your page over the two hundred identical ones.
Glossary
Terms that come up in quotes and get nodded at rather than asked about.
- SKU
- Stock Keeping Unit — the unique code for one sellable configuration, not one product.
- Variant
- A version of a product that differs on one axis, such as size or colour, and usually has its own stock.
- Webhook
- A message the payment provider sends your server when something happens. The reliable place to fulfil an order.
- Idempotency
- Handling the same message twice without doing the work twice. Webhooks are delivered at least once, not exactly once.
- 3D Secure
- The bank challenge step. It is mandatory in the EU and UK for most transactions, and it is where untested checkouts break.
- Faceted navigation
- Filtering by attributes. The largest single source of index bloat in e-commerce if left crawlable.
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
- How long does an e-commerce site take?
- Seven days for a standard catalogue store, from the day scope is signed off — provided your product content exists on day one, because waiting on copy and photography is what actually stretches a build. Larger catalogues or custom integrations add time, and I tell you that before you commit rather than halfway through.
- Can you work with my existing Stripe account?
- Yes. You keep ownership of the Stripe account, the keys and the payouts. I integrate against it. You are never locked into anything I control.
- Do you build on Shopify or WooCommerce?
- I build custom PHP stores and WordPress/WooCommerce sites. For a straightforward catalogue Shopify is often the cheaper answer, and I will tell you so rather than sell you a build you do not need.
- What happens if something breaks after launch?
- Snags are fixed free for 30 days. After that a maintenance retainer covers updates, backups, security patches and small changes.
Every other question I get asked → · or just ask me directly
E-commerce development by location
Same fixed scope and the same $150 starting price, priced in the local currency with that country's tax and data-protection terms set out in full.
- E-commerce development Ealing
- E-commerce development Drogheda
- E-commerce development Ottawa
- E-commerce development Jersey City
- E-commerce development Liverpool
- E-commerce development Ras Al Khaimah
- E-commerce development Taif
- E-commerce development Rawalpindi
- E-commerce development Delhi
- E-commerce development Punggol
- E-commerce development Cape Town
- E-commerce development Dusseldorf
- E-commerce development Rotterdam
- E-commerce development Toulouse
Other services
Need e-commerce 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