I started out building small React apps on the side while working full-time, and freelancing grew out of that — first through referrals, then through building a track record I could point to.
What's actually worked
- Shipping fast, then iterating. Clients care more about seeing progress than a perfect first draft.
- Being upfront about scope. Vague requirements turn into scope creep fast — I now write out what's in and out before starting.
- Reusing patterns. A lot of client work rhymes: auth flows, dashboards, CMS integrations. Having a solid personal toolkit (Next.js, TailwindCSS, shadcn/ui) means less time reinventing the basics.
What I'd tell myself starting out
Don't wait until you feel "ready" to take on paid work — you learn more from one real client project than from ten tutorials. And always get scope and payment terms in writing, even for small gigs.
I keep a running list of resources that helped me get here on the Resources page, including a solid guide to freelancing I still point people to.