3 lessons from shipping 100+ websites as a solo developer

3 lessons from shipping 100+ websites as a solo developer

Guest post

3 lessons from shipping 100+ websites as a solo developer

The unglamorous playbook I’ve used to ship websites for clients across the UAE, US, UK and Europe — from a one-person freelance operation.

Eight years ago I started freelancing on Fiverr with a $5 landing page gig. Today I’ve launched more than 100 websites — for maritime companies in the UK, staffing agencies in Germany, DJs in London, med-spas in Dubai, and dozens of small businesses in between. Some through referrals, some through cold DMs, most through Fiverr and Upwork.

People ask me for the “secret” all the time. There isn’t one. But there are three habits that changed my business, and they’re boring enough that most freelancers ignore them.

1. Say no to bad clients — fast.

The single most expensive mistake I made in my first three years was taking every project that came in. Low budget? Sure. Unclear scope? We’ll figure it out. Weird timeline? I’ll make it work.

Every one of those projects ended the same way: 40+ Slack messages, endless revisions, a bad review, and a payout that worked out to $3/hour. Meanwhile the good clients — the ones who paid on time and trusted the process — were the ones I’d almost turned down because I was “too busy” with the bad ones.

Now I have a five-question filter before I quote:

  • What are you trying to make happen? If the answer is “just want a website”, the answer is no.
  • What’s your budget range? Not the final number — the range. If they can’t say, that’s a signal.
  • Who has the final say? One decision-maker = fast project. Committee of six = purgatory.
  • What happens if we launch on time and it doesn’t convert? The good answer involves “we test and iterate”. The bad one blames me.
  • Have you worked with a developer before? First-timers need more education. Veterans need less handholding. Both are fine — I need to know which I’m dealing with.

“You will never regret firing a bad client. You will always regret keeping one.”

2. Ship a lot faster than you think you can.

The freelancers who struggle are the ones who take three weeks to send a first draft. By day 21 the client has cooled off, the CEO has a new priority, and momentum is dead.

My rule: a staging link inside 7 days, no matter what. Even if it’s rough, even if half the pages are placeholder, even if the design isn’t final. Ship something the client can click.

This does two things. First, it forces me to work in outcomes not tasks — I can’t spend day 4 tweaking a hover state when I need a full staging site by day 7. Second, it gives the client something concrete to react to. Feedback on “here’s a link, tell me what’s off” is 10x more useful than feedback on “here’s a wireframe”.

Practical rule I stole from Basecamp: when the client asks “can we add X?” mid-project, I write it down and answer “yes, in v1.1”. That way v1 ships on time and v1.1 becomes a separate quote a week later. Nobody feels rug-pulled.

3. Own the boring infrastructure of your own business.

Every serious freelancer eventually hits a moment where their “business” is really just their inbox + WhatsApp + a spreadsheet. That works until it doesn’t. Mine broke around client 40.

Three unsexy investments that changed everything:

  • A real CRM — even a simple one. I use HubSpot’s free tier. Every lead, every quote, every follow-up in one place. Kills the “did I ever reply to that guy from March?” problem.
  • Standard proposal templates — I have three, one for each project tier. A new quote takes 15 minutes now instead of 90.
  • A staging environment that I control — my own VPS, my own domains for demos, my own backups. Never again waiting for a client to give me hosting access before I can start.

None of this is glamorous. None of it will get you likes on Twitter. But when a $12k project comes in and you can quote, contract and start work in a single afternoon, you win the client that the freelancer with a chaotic setup loses.

The one meta-lesson

All three of these boil down to the same thing: most of what separates a good freelance career from a struggling one has nothing to do with code. It’s your ability to say no, ship fast, and run yourself like a small business instead of a hobbyist.

The tech stack changes every two years. These habits don’t.

ZS

About Zain Saeed

Zain is a Dubai-based freelance web developer with 8+ years of shipping WordPress, Shopify and Next.js projects for clients in the UAE, US, UK and beyond. He writes about freelancing, running a solo web dev business, and the tools that actually move the needle.

Work with us

Need a website that ships in weeks, not months?

Message on WhatsApp with a rough brief — same-day quote and timeline.

Share: