5 Things I Wish I Knew Before Freelancing
Hard lessons about clients, pricing, and process—learn them now, not later.

1. Clients Don’t Know What They Want
They’ll say they want a ‘simple’ site — but ask for 8 pages, interactive forms, animations, and a CMS. 👉 Always ask for 2–3 reference sites before you quote. This helps you clarify style, scope, and complexity early on.
2. Figma Before Code
Jumping straight into VS Code wastes time. You’ll tweak layout mid-build and rewrite components. 👉 Design in Figma first — even rough frames help lock down layout, flow, and copy.
3. Don’t Over-Explain Tech
Clients don’t care about Tailwind, React, or your stack. They care about the outcome. 👉 Frame your pitch in benefits: “fast load”, “easy to update”, “trustworthy feel” — not buzzwords.
4. Scope Creep Is Your Enemy
What starts as one page often becomes five. Edits never stop. 👉 Write a short scope doc or checklist and get sign-off. Set limits, and mention what’s ‘extra’ before you begin.
5. You Need a Repeatable Process
Every project shouldn’t feel like your first. 👉 Make templates for proposals, onboarding, and delivery. Reuse layout blocks in your code. Protect your energy for design, not admin.
What this note covers
- 1. Clients Don’t Know What They Want
- 2. Figma Before Code
- 3. Don’t Over-Explain Tech
- 4. Scope Creep Is Your Enemy
Related technical notes
Related stories
Curated reads to continue the thread.

Beyond the Black Box: Implementing KNN for Feature Similarity from Scratch
A practical walkthrough of K-Nearest Neighbors built from scratch in Python, showing how feature similarity is calculated in multi-dimensional space.

Reducing LLM Hallucinations: Building a RAG-lite Pipeline for Technical Documentation
A practical breakdown of how to reduce LLM hallucinations with a lightweight RAG pipeline using embeddings, FAISS, and top-k retrieval for technical documentation.

Building a Serverless Watchdog: Monitoring Framer 404s with Node.js and AWS Lambda
A deep dive into building a custom automated monitoring system for Framer sites. Learn how to deploy a Node.js crawler on AWS Lambda to detect and alert broken links via Slack webhooks.

Web101 by Han Is Expanding: From Web Development to Deeper Technical Systems
Web101 by Han is evolving beyond web development. This update explains what’s changing, why the scope is expanding into AI, machine learning, algorithms, and technical analysis, and what readers can expect going forward.

AI Website Builders in 2025: Future Trends and Practical Guide
AI is reshaping how websites are built. In 2025, builders powered by artificial intelligence handle design, SEO, and content generation faster than ever. Here’s what to know before you adopt them.

Why Managed WordPress Hosting Beats Shared Hosting in 2025
Shared hosting looks cheap, but managed WordPress hosting saves you time, stress, and money in the long run. Here’s a practical, testable guide to decide with confidence in 2025.

Best Web Hosting for Small Sites (2025): Speed, Support, Price
If you’re launching a lightweight site or portfolio, here’s how to pick a host that’s fast, reliable, and won’t wreck your budget.

How I Use Google Sheet as a Lightweight CMS
No CMS, no backend, just Google Sheets. Here’s how I let clients update their site content without touching code.