← Back to Blog Posts

Taking On Client Websites Again — and Not Charging Agency Prices

Taking On Client Websites Again — and Not Charging Agency Prices

I'm building websites for businesses again, alongside my own apps. Two honest reasons: the work funds the products, and small businesses are getting priced out of a decent website by everyone selling to them. Here's what I found when I measured it, and the actual numbers.

I'm taking on website work for businesses again. Not instead of building my own apps — alongside them. And since the reasons are the interesting part, I'll put both of them up front rather than dress one up as the other.

The first is money. I'm a solo developer with no investors and no runway but my own. The products I'm building get funded by me, which means they get funded by work. The second is that there's a particular kind of business getting badly served by everyone currently selling to them, and I'm in an unusually good position to do something about it.

What I found when I actually measured it

I had a hunch that small businesses without a working web presence were more common than people assume, so I stopped assuming and counted. I built a tool that pulls every business listing in an area and checks what's actually on the other end of each one. Not "is the site nice." Something much more basic: is there a site at all? Does the domain still resolve, or has it lapsed? Is that a real website, or a social page doing a website's job?

First pass: one small metro area — Lewiston–Auburn, Maine — 291 businesses. Seven came out hand-verified as genuinely stranded. Real businesses, open, taking money, doing good work, with nothing you could point a customer at.

A dark lead workspace listing businesses with dead websites. Every business name, address and domain is blurred out; what's readable is the evidence — 'is not a working site — the server is showing a bare directory listing', 'cannot be opened securely — the HTTPS handshake fails', 'returns an HTTP 500 error instead of a website' — with trade tags like veterinary, motel and bicycle.

That's the workspace, with every identifying detail switched off. I take my clients' privacy seriously — and I share my screen a lot, on calls and publicly online — so hiding it isn't something I have to remember to do. One switch, and every business name, address and domain is blurred out server-side before the page is ever drawn. These businesses aren't mine to name.

What's left is the part that matters: the evidence line under each one. The server is showing a bare directory listing. The HTTPS handshake fails, so browsers block the page. Returns an HTTP 500 instead of a website. Each of those is a customer who went looking for a business, found a broken door, and went to a competitor instead. The owner usually has no idea.

Seven out of 291 sounds small right up until you notice it's the strictest possible test, applied once, in one small metro. It says nothing about the businesses whose site technically exists but hasn't been touched since 2016, or falls apart on a phone, or is a template they rent by the month and will lose the day they stop paying. That group is much larger, and it bothers me more, because those owners think the problem is solved.

Why the pricing is wrong

A small business today gets shown two doors. Behind one is a drag-and-drop builder: a monthly rental, forever, where the owner does the work, doesn't own the result, and the site evaporates the day they stop paying. Behind the other is an agency quote that assumes a marketing budget — four or five figures up front, plus a retainer, and a decent chance it's the same template anyway.

Here's the part that doesn't get said out loud: for a site like this, the hosting is free. Not cheap — free. The site sits on Cloudflare's edge network, served from data centers around the world, and a local business's site fits inside the free tier with room to spare. That's the same infrastructure serving sites with millions of visitors: it's blazing fast everywhere, and it doesn't fall over the day the business gets written up in the paper. The domain costs a few dollars a month. That's the bill.

So the expensive part was always the labor.

And that number has genuinely moved. The way I work now, a lot of the mechanical build is carried by AI under my direction and my review — which means a site that used to be weeks of my time is days. Everybody in this industry knows that. The standard response has been to keep the old price and quietly pocket the difference.

I'd rather pass it on. That's the whole pricing philosophy, and it isn't charity — it's just what the work costs me now. The cheaper price comes from the build being faster, not from the work being thinner: same test discipline, same accessibility, same performance standards I hold my own products to. I've written before about why speed without discipline is a trap, and I'm not about to sell that trap to a restaurant.

The actual numbers

No "contact us for a quote." Here is the whole thing.

  • The site: pay-what-you-think-it's-worth. One payment, any amount — including nothing. A business that's barely hanging on can answer $0, and that's a real answer; it's what I built the free door for. The site belongs to them either way.
  • Looking after it: $9 a month, or $90 a year. Optional — and note that it isn't hosting. Hosting is free. What the $9 buys is the caretaking: the domain kept pointed at it, certificates renewed so it never goes "not secure," security and dependency updates as they land, backups, and someone actually noticing if it goes down.
  • Small edits: free while subscribed. Opening hours, a phone number, prices, swapping a photo, fixing a typo. That's not a project, and it's not something to send an invoice for.
  • Real content: $15–40. A new page written and built to match, a staff section, a gallery of their work.
  • Something that does a job: $40–200. Online booking, a quote calculator, a contact form that routes itself, online ordering.

Which is the doctrine in one line: a fully custom site, built around how the business actually works, lands under $200. It's the fairest pricing anyone will see, and that's on purpose, not an introductory offer waiting to be corrected later.

Asking for a change is just… asking

There's no ticket system, no client portal, no "please log in and file a request." There are two doors, and they both go to the same place.

The first is the site itself. There's a button on it: the owner says what they'd like different, in their own words, the way they'd say it across a counter. The Tuesday hours are wrong. Can the phone number be bigger. Use this photo instead — and the photo can come with it, or a PDF of the new menu. The second door is email. A reply written like a person writes gets picked up and filed against the right project automatically. Nothing sits in an inbox waiting for me to notice it.

Either way, an AI agent working on that site picks it up. The straightforward things it simply does: hours, a phone number, a price, swapping an image, fixing a typo, rewording a paragraph. Then it rebuilds the site and the change is live. No back-and-forth, no waiting until I've got a free evening.

And it knows when to stop. If an ask needs a fact only the owner has, or it's a real judgment call — a new page, a change that makes a claim about the business, something where the obvious cheap answer is probably the wrong one — it doesn't guess. It does the part it can and hands the rest to me, and I come back with an actual question. The hard rule it works under is this: what they published, it may republish; what it invented, it has to mark as invented. It is not allowed to make things up about someone's business, and that rule is written into the project itself rather than into my good intentions.

I want to be precise about what's automated here, because "AI does it" is doing a lot of work in most people's marketing. The queueing is automatic and the small changes are automatic. I'm still in the loop, I see everything that comes in, and I review the work. What the automation removes is the waiting — not the person.

The client owns it. All of it.

This is the part I care about most, because it's where the industry's worst habit lives.

The site gets built on accounts in the client's name — Cloudflare and everything else — with full access, nothing gatekept, no admin panel where I hold the only key. If they stop paying me, the site stays online. They just take over the caretaking, or hand it to whoever they like. The fee buys management, never custody.

No hostage sites. Ever. If the only thing keeping a client is that leaving would take their website down, that's not a business relationship, it's a hostage situation with an invoice attached.

Who I'm doing this for

Small businesses that do real work and got told their only options were a rental or a project. Restaurants, shops, trades, one-person practices, the nonprofit running on somebody's evenings. The ones where the owner is also the bookkeeper and the closer and the person who fixes the sign.

It's explicitly not for companies with a marketing department — they have agencies, and the agencies are fine. And it's not for anyone who wants a growth funnel with sixteen tracking pixels. I'm here to make a business look as good online as it is in person, and to make that fact findable.

How this might start

Possibly with a site nobody asked for.

When I find a business that's stranded, my instinct isn't to pitch — it's to build. It's faster to show someone what their business could look like online than to describe it, and I'd rather spend a day building than an hour selling. So if a message from me turns up with a link to a working site that already carries the right name, the right hours and the business's own words: that's what that is. No invoice attached, no obligation, and "no thanks" is a completely fine answer.

If you'd rather come to me — that works too. There's a form here, and I read everything that comes through it.

And no, this isn't a pivot

The products are still the plan. The e-commerce platform still launches September 11 alongside the album; the rest of the stack keeps getting built. Client work is what pays for all of it, and I'd genuinely rather be funded by businesses I've helped than by a term sheet.

There's a selfish upside, too, and it's the reason I think this arrangement is honest rather than a side hustle bolted onto a product company. Every one of these sites is built on NebulaKit — my own SvelteKit and Cloudflare starter, the same foundation the blog you're reading runs on. So this is dogfooding in the most literal sense available to me: a client's site is my platform, in someone else's hands, with real customers hitting it on real phones.

Every rough edge a client finds gets fixed in the template, and every one of those fixes lands back in my own products. That's a much harsher test than anything I'd run on myself — and if I'm going to ask a business to depend on this thing, I'd better be depending on it too.

So: if you run a small business, or you know someone who does, and the website situation is either "there isn't one" or "we don't talk about it" — that's the conversation I'm looking for.

© 2026 davis9001.dev | All rights reserved.