From Lagos to $3k MRR: A 12-Month Playbook for Nigerian ML Engineers Going Global
How I went from "Can you even keep the lights on?" to $3k+ MRR from international clients — and how you can copy the exact steps.
The Question That Changed Everything
On a sales call in 2022, after 45 minutes of discussing architecture, deployment, and KPIs, the prospect paused and asked:
"Wait, where are you based?"
"Lagos, Nigeria," I replied.
Another pause.
"Can you even keep the lights on?"
I lost that client.
Not because of my skills.
Not because of price.
But because of my location.
Fast forward to December 2024:
- ✅ $1,655 MRR from international clients.
- ✅ 350+ users on my own ML product.
- ✅ 99.9% uptime on a system I run from Lagos.
- ✅ Clients across the US and Europe.
This is the 12-month playbook I wish I had when I started—for Nigerian (and African) engineers who want to work globally without relocating.
Part 1 — The Reality of Building from Nigeria (No Sugarcoating)
Before we talk strategy, we need to be honest about constraints.
Infrastructure Tax
Power:
- Grid power: 4–6 hours/day on a good week.
- Generator: fuel + maintenance.
- UPS + laptop battery: non-negotiable.
Internet:
- Primary: fiber (e.g. 50 Mbps down).
- Backup: 4G hotspot.
- Outages: 2–3/month, sometimes lasting hours.
You don't get reliability for free. You buy it with redundancy.
Finance, Payments, and Stereotypes
- Stripe doesn't support Nigerian entities directly.
- PayPal withdrawals can take weeks.
- Wire transfers have brutal fees and FX spreads.
- Some people see "Nigeria" and think "419" before they think "software engineer."
This isn't to discourage you.
It's to explain why you need a system, not vibes.
Part 2 — Months 1–3: Build Proof Before You Pitch
The biggest mistake I see African devs make: pitch first, proof later.
Flip it.
Step 1: Ship One Real Product (Not a Tutorial Clone)
For me, that product was SabiScore—my sports prediction platform.
Your product should:
- Solve a problem a real person cares about.
- Be live on the internet (not localhost).
- Have some metric you can show:
- Users.
- Accuracy.
- Uptime.
- Revenue (even small).
If you don't know what to build, ask:
"What's one annoying problem I could fix for my past self?"
Step 2: Turn It into a Case Study, Not Just a GitHub Repo
Don't just drop a link to a repo in your CV.
Write a short case study covering:
- Problem: what was broken/inefficient before?
- Approach: architecture, stack, key decisions.
- Results: even if it's:
- 4 users who still log in every week.
- 71% accuracy on a real dataset.
- 99.9% uptime over the last N days.
Publish it on:
- Your own blog.
- LinkedIn.
- A relevant community (IndieHackers, dev Twitter, etc.).
Step 3: Get 1–2 Real Testimonials
Instead of waiting for the perfect client:
- Offer a small, scoped engagement to 1–2 people:
- e.g. "I'll deploy your ML model behind a FastAPI endpoint with monitoring for $200."
- Over-deliver.
- Ask for a testimonial with:
- Name.
- Role.
- Company.
- One clear result.
Now you have:
- 1 product.
- 1 case study.
- 1–2 testimonials.
This is your starting asset stack.
Part 3 — Months 3–6: Turn Proof into Paying Clients
Step 4: Position Yourself as "X for Y," Not "I Do ML"
Bad positioning:
- "ML engineer. I build models."
Better positioning:
- "Full-stack ML engineer helping B2B SaaS go from notebook to production in 4 weeks."
- "MLOps + infra for teams stuck at 97% uptime with flaky ML APIs."
Fill this in:
I help [WHO] achieve [RESULT] using [TOOLS/APPROACH].
Then make sure your:
- Portfolio.
- LinkedIn.
- Upwork profile.
all say that, not just a tech stack list.
Step 5: Channels That Actually Worked for Me
-
Upwork (controversial, but it worked)
- Hyper-specific title and overview.
- 50+ highly targeted proposals in the first months.
- Only applied where I was 100% confident I could win.
-
Content (this blog)
- 1 post/week aimed at problems my target clients had:
- "Our models never make it to production."
- "Our API keeps going down."
- Shared on LinkedIn and Twitter.
-
Direct outreach (cold, but thoughtful)
- Short emails/DMs:
- "Saw you're hiring for X. Here's a case study of me doing that."
- "I built Y, which is similar to your problem Z."
The combo of proof + positioning + persistence is what landed the first 3–4 clients.
Step 6: The First 3 Clients (and What They Taught Me)
-
Client #1:
- Small project (a few hundred dollars).
- Over-delivered.
- Got a 5-star review and testimonial.
-
Client #2–3:
- Found me because of:
- The first review.
- The product I had shipped.
- The blog posts.
Lesson:
You don't need 100 people to believe in you.
You need 1 person to take a bet, then you compound from there.
Part 4 — Months 6–12: From Random Gigs to a Real Business
At some point, "I'll do anything for anyone" stops scaling.
Step 7: Productized Services > Random Hourly Work
Examples of productized offers:
-
"Production Readiness Audit for Your ML System — $X."
-
"Deploy Your ML PoC to Production in 14 Days — $Y."
-
"Ongoing MLOps Support — $Z/month."
Why this works better:
- Clear scope.
- Clear pricing.
- Easier to say "no" to misaligned work.
Step 8: Raising Your Rates to Global Levels
Year 1 thinking:
- "Cost of living in Lagos is lower, so I should charge less."
Reality:
- Your infra, software, and opportunity costs are priced in USD.
- Good clients care about outcomes and trust, not your rent.
Example evolution:
- Year 1: $20–40/hr equivalent.
- Year 2: $80–120/hr equivalent through fixed-price packages.
Rule of thumb:
Close 3–5 good clients at a fair global rate instead of 20 lowball offers.
Part 5 — Systems That Turn Your Location into an Advantage
Step 9: Reliability as Your Edge
Most clients secretly worry:
- "Will this person disappear?"
- "Will calls drop?"
- "Will they miss deadlines because of power/internet?"
You can flip this:
- Show your personal uptime setup:
- Generator + UPS + dual ISP.
- 99.9% uptime on your own product.
- Make it part of your story:
- "I've had to engineer reliability in Lagos. That's why I'm obsessive about your uptime too."
Step 10: Communication That Builds Trust Fast
Simple systems:
-
Clear hours in your email signature with WAT + EST/PST.
-
Daily or weekly update templates:
Daily Update — [Date]
Completed:
- ...
In Progress:
- ...
Blockers:
- ...
Next Steps:
- ...
-
Calendly link to remove timezone friction.
These small things make you look more reliable than many local devs.
Part 6 — What $3k MRR Actually Looks Like
You don't need 50 clients.
A realistic mix might be:
- 1–2 productized projects/month ($1k–1.5k each).
- 1 recurring retainer ($500–1k).
- A small SaaS component (like SabiScore) adding $200–500 MRR.
What matters is:
- Predictability of income.
- Quality of clients.
- How much of your time you control.
Part 7 — A 12-Week Action Plan You Can Start This Month
Weeks 1–4
- Ship 1 real product.
- Write 1 serious case study.
- Fix your personal infra basics.
Weeks 5–8
- Apply to 50+ relevant roles/projects with tailored proposals.
- Publish 4 blog posts addressing the problems you see in those roles.
- Land your first paying client.
Weeks 9–12
- Turn what worked into 1–2 productized services.
- Raise your rates for new work.
- Start saying "no" to red-flag clients.
You won't copy my exact journey.
But you can absolutely hit your version of $3k MRR.
Final Thoughts: Your Location Is a Feature, Not a Bug
Here's what I realized after 2 years:
- Lagos gives me lower costs and higher margins.
- Being on "hard mode" forces me to be more disciplined.
- My story is more memorable than "just another dev in SF."
Your job is not to hide where you're from.
Your job is to turn it into a competitive advantage.
Want Help Compressing Your 12 Months into 3?
If you're an African dev trying to go global, I offer:
- 1:1 mentorship
- Monthly calls.
- Portfolio/offer feedback.
- Accountability on your action plan.
Interested?
- Schedule a call
- Or email scardubu@gmail.com with subject
Mentorship from Africa.
If you know a Nigerian or African dev trying to break into global work, send them this. Sometimes one story is enough to make them start.