Nobody teaches you the business side of freelancing. You figure it out slowly, usually after making expensive mistakes. Here are the lessons that took me the longest to learn.
Price the project, not the hours
Hourly pricing is a trap. It penalises speed (the better you get, the less you earn per project) and creates client anxiety (every meeting, every email, every revision becomes a cost calculation in their head).
Project-based pricing aligns incentives correctly. I deliver quality work, you pay for the outcome. My efficiency benefits me, not you.
Contracts prevent 90% of disputes
A contract does not need to be legally complex to be effective. Mine covers:
- Exact deliverables (pages, features, revision rounds)
- Payment schedule (30% deposit, 40% at midpoint, 30% on launch)
- What happens if the project pauses or is cancelled
- Ownership transfer (I retain rights until final payment is received)
The deposit clause alone eliminates ghost clients.
Retainers over one-time projects
One-time projects are feast or famine. Retainer agreements — monthly ongoing work at a fixed rate — create predictable income. I offer maintenance retainers to every client after project launch, covering updates, security patches, performance monitoring, and a set number of content change hours per month.
About 40% of clients take this up. That 40% now represents the stable base of my income, with project work as the variable income on top.
Referrals are the best pipeline
Every satisfied client is a potential source of three to five future clients. I ask for referrals explicitly, three to four weeks after a successful launch when the client is still excited about their new site.
The ask is simple: "Is there anyone you know who might benefit from the kind of work we just did together?" That question has generated more work than any marketing campaign I have run.
The technical skills get you started. These business practices keep you running — pricing, client management, contracts, and building a sustainable workflow.
- Abdullah Sajid



Leave a comment