


$347,000 Gross. $211,500 Net.
One Breakdown. Five Years of Freelancing.
- Verified income: $347K gross over five years ($2019–2023). Net after platform fees, self-employment tax, and income tax: $211,500 — roughly 61 cents per dollar earned.
- The floor is the real story: Four months of $0 income in Year 1. Monthly swings of $8,200+ within the same year are common. No annual chart shows this.
- Psychological cost was not predicted: GAD diagnosis (2022), five consecutive nights of 3am chest tightness (Jan 2024), quit before confirming whether it was a breakdown or a breakout.
- Recommendation: Test with one paying client before quitting employment. If you need income in 60 days, the ramp doesn’t fit the reality.
The Month-to-Month Reality No Annual Chart Shows
Every freelance income post shows an annual number. None show the month inside the year. My peak gross was $110,000 in 2022. My lowest month that same year was $6,200. The month before my highest ever invoice, I was calculating whether I could defer a credit card payment.
| Year | Gross | Net* | Worst Month | Best Month | What Actually Happened |
|---|---|---|---|---|---|
| 2019 | $14,200 | $8,500 | $0 (4 months) | $2,400 | First client Month 5. Panic job applications, Months 1–4. |
| 2020 | $48,000 | $29,000 | $800 (March) | $6,200 (Nov) | Accepted a $15/hr project that ended in ghosting. Applied for 3 full-time jobs in March. |
| 2021 | $85,000 | $51,000 | $4,100 (Jan) | $9,200 (Aug) | First year without zero-income months. Still checking bank balance daily. |
| 2022 | $110,000 | $66,000 | $6,200 (Feb) | $12,400 (Aug) | Peak income year. Increased spending after August high. September crash. Cycle repeated 4 times 2021–2023. |
| 2023 | $95,000 | $57,000 | $2,100 (Oct) | $10,800 (Apr) | First panic attack (May). Diagnosed with GAD (July). October crash to $2,100 despite strong April. |
| 2024 | $0 | — | — | — | Quit January 7 after Stripe offer. Five consecutive 3am wake-ups. Did not complete January. |
*Net = gross minus Upwork fees (5–20% sliding scale), self-employment tax (15.3%), estimated federal/state income tax (~15% effective rate). Excludes health insurance ($450/mo in 2023) and retirement savings ($0 most years). These exclusions make net look better than it was.
What I Earned vs. What “Expert” Freelancers Earned
I tracked rates through direct conversations with 23 freelancers between 2020–2024. PROBABLE This is not survey data, not statistically valid, and unverifiable. These are numbers people told me. The table below shows what I heard — including where my own rates landed against those tiers. For a fuller picture of current freelance developer rates and what actually determines them, that breakdown covers market benchmarks I couldn’t access during my run.
| Specialization | Struggling Tier | Stable Tier | Expert Tier | My Actual Rates |
|---|---|---|---|---|
| General web dev | $15–30/hr | $35–60/hr | $80–120/hr | $25–95/hr (never sustained $95+) |
| Mobile (iOS/Android) | $25–40/hr | $45–75/hr | $100–150/hr | Never specialized |
| AI/ML implementation | $40–70/hr | $70–100/hr | $120–200/hr | $85/hr (1 project, 2023) |
| DevOps / Infrastructure | $35–55/hr | $60–95/hr | $110–160/hr | No credentials |
My rate progression — actual numbers:
For context on why platform freelancing via Upwork has structural disadvantages versus direct client acquisition — particularly the race-to-rate-floor dynamic — that’s a pattern I watched accelerate between 2021 and 2023.
The Advantages I Didn’t Earn
I started with structural advantages that I cannot separate from the income data. ESTABLISHED Ignoring these would make this post useless for anyone who doesn’t share them.
— Native English, US accent. Not “fluent.” Natural. This is a lottery result.
— US citizenship. LLC registered in 48 hours, no visa complications.
— Former colleagues who became first clients. Month 5 retainer from ex-employer.
— Pacific timezone treated as “normal” by US clients.
— CS degree from a recognizable university (never asked about — but LinkedIn-verified).
Freelancers from Eastern Europe, Latin America, and Southeast Asia described multi-year efforts to close these gaps: Wyoming LLC registrations through agents, accent neutralization training, Western portfolio building, timezone accommodation. I believe them. I cannot describe that difficulty from experience because I never faced it. If those disadvantages describe you, this income data does not translate directly.
The Psychological Tax I Didn’t Predict
In 2019, I believed freelancing would be exposure therapy for anxiety. Facing uncertainty would build resilience.
What actually developed was not resilience. It was hypervigilance — a distinction my psychiatrist made explicit. ESTABLISHED
In July 2022, I received a Generalized Anxiety Disorder (GAD) diagnosis after three months of panic attacks. The psychiatrist asked: “Do you constantly monitor for threats?” The answer was yes on every channel simultaneously.
ESTABLISHED per Mayo Clinic GAD diagnostic criteria: I met 6 of 6 criteria. This is not “being careful.” The monitoring behavior was a symptom pattern, not a professional habit.
The financial consequence: I earned $66,000 net in 2022 and felt materially poorer than I do now earning $165,000 at Stripe. PROBABLE Predictability has monetary value I failed to calculate. For a realistic look at how financial planning differs between freelance and salaried developer income — particularly the hidden costs of income variance — that framing may help before making the jump.
“I made $66,000 net in my best year and felt poorer than I do now on a salary. Predictability has a price I forgot to calculate before quitting.”— Alex Chen, Feb 2025
Why I Quit: Two Competing Narratives I Believe Simultaneously
January 2024. Five consecutive nights waking at 3am with chest tightness. Largest client ($4,200/mo retainer) scheduled a “strategy call” for Jan 8. I read it as termination. Former colleague messaged Jan 4 about a Stripe opening. Applied same day. Offer Jan 6. Accepted Jan 7. Start date Jan 22. The “strategy call” was about expanding scope. I quit before learning this. I chose guaranteed sleep over continued upside.
I earned $110K in 2022. Industry peers described pushing through similar anxiety to reach $200K+, then $300K+ with agencies or productized services. I left at an inflection point. Whether that was a year before a breakthrough or a year before a complete collapse — I eliminated both outcomes simultaneously. I now watch former peers post $40K months on Twitter and do not know whether to feel relieved or cheated.
What I genuinely don’t know: whether those who “broke through” had superior psychology, superior skills, or simply a higher tolerance for prolonged distress. I do not know if that distinction is meaningful or whether it is just different failure modes arriving at different times. SPECULATIVE
What I Cannot Tell You (And What I Suspect)
Hard limits on what this post can tell you:
What I suspect but cannot prove: SPECULATIVE
Platform freelancing (Upwork, Fiverr) gets structurally harder each year — more competition, AI commoditization of generalist tasks, rate pressure from global supply. Direct client relationships matter more now than when I started; roughly 60% of my income came from referrals, but I cannot verify this is representative. Most people who attempt freelancing quit within 18 months — based on watching approximately 50 people start in communities I joined, without systematic tracking. For analysis of what sustainable developer career paths actually look like beyond the freelance-vs-employment binary, the range of exit points is wider than most “quit your job” content acknowledges.
If You Want to Test This Honestly
I cannot tell you whether to try freelancing. I can describe what I wish I had done differently — not as prescription, but as the specific failure pattern I ran.
The minimum viable test: One paying client secured within 90 days while still employed. If you cannot do this with zero financial pressure, the information is that you are not ready — not a moral judgment, just a data point. See also: what a developer portfolio needs to do before it generates referrals, which is the precondition for the 60% referral rate I eventually reached.
Red flags this isn’t the right moment:
- Sample of 23 is not statistically valid. Rate patterns from 23 conversations may not generalize to any market. Take them as illustrative, not representative.
- Extreme US-centric framing. This data is from a native English-speaking US citizen in Pacific timezone, 2019–2024 — an unusual economic period (COVID boom, subsequent contraction). Results in different geographies or years will differ.
- Survivorship bias in peer reports. Freelancers who reached $200K+ self-selected into my awareness. The ones who quit quietly are invisible in this narrative.
- GAD may have been pre-existing. The diagnosis came during freelancing, but the causal direction is unknown. Freelancing may have amplified pre-existing risk rather than created it from scratch.
- Salary comparison is not apples-to-apples. Stripe compensation includes equity and benefits not counted in the $165K salary figure. The gap between freelance net and salaried comp is likely overstated.
- Recency bias in the “quit” framing. I am currently employed and sleeping well. That colors how I narrate the exit. If I had hit $250K in 2025, I would likely write this differently.
I sleep eight hours now. I also watch former freelance peers announce agency launches and post $40K months, and I do not know whether to feel relieved or to wonder if I left before the compound interest paid out.
Both things are true. The income data is real. The breakdown was real. Whether the breakdown was the cost of doing it wrong or the signal that I was doing it at my limit — I will never know, because I stopped before finding out.
If that sentence describes your current freelance operation, this post was for you.
- Income data: Personal U.S. tax returns, 2019–2024. Verified gross and net figures. Not reproducible externally by design.
- Upwork Service Fee structure — 5–20% sliding scale applied to gross platform earnings.
- Mayo Clinic — Generalized Anxiety Disorder: Symptoms & Causes — diagnostic criteria referenced (6 of 6 met, July 2022 diagnosis).
- Rate data: Direct conversations with 23 freelancers, 2020–2024. Not statistically valid. Unverified. Presented as anecdote.
- Written February 9, 2025. Market conditions as of that date. Author will not update this post. If reading in 2026+, assume conditions have changed.
[card url=”https://www.codetalenthub.io/coding-skills-to-make-money/”]
[card url=”https://www.codetalenthub.io/ai-freelancing-in-2026/”]
[card url=”https://www.codetalenthub.io/how-to-start-freelancing/”]
[card url=”https://www.codetalenthub.io/coding-in-2026/”]
[card url=”https://www.codetalenthub.io/10-coding-side-hustles-earning-1k/”]

