Forty plus websites. Seven CMS platforms. Clients from Pakistan, the UK, the US, Australia, and beyond. Here are the five lessons that took me the longest to learn, and changed my work the most once I did.
1. The brief is never the full picture
Clients tell you what they think they want. Your job is to figure out what they actually need.
I once had a client ask for "a simple five page website." After two discovery calls, the project had a custom booking system, a members only content area, and integration with their CRM. Was the client wrong? No, they just did not know how to translate their business needs into technical requirements.
Now I always start with questions about the business, not the website:
- What's the primary action you want visitors to take?
- How do you currently get leads?
- What's frustrating about your current site?
The answers to these questions shape the project far more than "I want it to look modern."
2. Scope creep is a communication failure, not a client problem
Early in my career, I blamed clients for scope creep. "They keep adding features!" But scope creep happens when expectations aren't clearly set.
Now I document everything in a project scope before writing a single line of code:
- Exactly which pages will be built
- How many revision rounds are included
- What counts as a "round" (full page feedback, not drip fed changes)
- What's explicitly out of scope
Since implementing this, I've had almost zero scope creep issues. Clients respect boundaries when those boundaries are clear from day one.
3. The handoff is as important as the build
A beautiful website means nothing if the client cannot update it. I have seen developers build amazing sites on complex custom WordPress setups, then hand the client a login and walk away.
Every project I deliver includes:
- A short video walkthrough showing how to update content
- Documentation for any custom functionality
- Properly labelled CMS fields (not "field_group_1")
- Sensible user roles so the client can't accidentally break the layout
The extra two hours this takes at the end of a project prevents dozens of support emails over the following year.
4. Say no to projects that don't fit
Not every project is a good fit. Learning to say no was the hardest business lesson I've had to learn.
If a client wants a $500 budget for a custom online store with 200 products, that is not a project I can deliver well. Taking it anyway leads to cutting corners, frustration on both sides, and work I am not proud to show.
Now I evaluate every project against three criteria:
- Can I deliver quality within the budget?
- Is the timeline realistic?
- Is the client someone I want to work with?
If any answer is no, I refer them to someone who is a better fit. This has led to more work, not less, because clients appreciate honesty, and referral partners send projects back my way.
5. Your portfolio is your best marketing
Every project I build is a potential case study. That mindset changes how I approach the work.
I document the challenge, my approach, and the outcome for every project. I capture before/after screenshots during development. I note the specific technical decisions that made a difference.
This portfolio first thinking has two benefits: it makes me do better work because I know it will be public, and it gives me a steady stream of content to show potential clients.
The best marketing I have ever done is not ads or cold outreach. It is showing the work, explaining the thinking behind it, and letting the quality speak for itself.
After delivering projects across WordPress, Webflow, Shopify, and HubSpot CMS for clients worldwide, these are the five hard earned lessons that changed how I work.
- Abdullah Sajid



Leave a comment