The perfectionism trap is that you never start. You say “I’ll build a website”. Weeks later, you’re still on the structure. You’ve switched frameworks three times. You’ve read 50 articles about the best architecture. And your website doesn’t exist yet.
It’s not a competence problem. It’s a timing problem. When you’re alone, time is your scarce resource. Not code. Not ideas.
In week one, you don’t decide the future
I got this wrong for a long time. I thought every initial tech choice was permanent. That I had to plan three years ahead on day 1.
It’s wrong. And it kills you mentally.
What you need is one week. Vanilla HTML, simple CSS, maybe a basic framework. Zero absurd customization. The goal: something that works tomorrow morning.
The real decisions come after
Once the site exists, once the first visitors arrive, that’s when you see the real problems. Not the ones you imagined. The real ones.
The thing that’s slow. The feature nobody uses. The page that bounces at 95%. That’s when you iterate. Not before.
Performance isn’t optional
Most freelancers don’t start on performance early enough. They tell themselves “I’ll optimize later”.
Later is too late. A slow site is a visitor who leaves. It’s dev time wasted redoing what should have been right from day one.
Google Page Speed, Core Web Vitals, it’s not a luxury. It’s day one.
No scope creep, just rules
Scope creep is when you add one feature, then another, then refactor something that worked, then change the colors. Six months later you still haven’t launched.
The solution? Say “no” brutally. No “we’ll see later”. Just: launch in week one. Improvements in week two.
If it must be in the site, it’s in. Otherwise, it’s a ticket for later.
The freelancer has one advantage: impatience
When you work alone, you can launch fast. No meeting to validate the button color. No committee debating for three months.
Most freelancers waste that. They take time nobody’s asking for.
The good ones set themselves a stupid deadline. Friday, 5pm. Done. Launch.