Building in Nigeria, Shipping Globally: How I Went From Lagos to Serving 350+ International Users

Meta Description: From intermittent power in Lagos to 99.9% uptime serving global clients. My honest journey as a remote ML engineer in Nigeria, including strategies, challenges, and revenue milestones.

Slug: /building-in-nigeria-shipping-globally-remote-ml-engineer

Reading Time: 11 min


Lagos skyline with laptop and code

"You're in Nigeria? Can You Even Keep the Lights On?"

This was the actual first question from a potential client in 2022.

I had just spent 3 hours on a discovery call, perfectly explaining how I'd build their ML system. We were discussing pricing. Then they asked about my location.

"Lagos, Nigeria," I said.

Long pause.

"How do you handle power outages? Internet reliability? Payment processing?"

These weren't innocent questions. They were polite ways of saying: "We don't trust you'll deliver."

I lost that client. Not because of skills. Not because of price. But because of zip code.

Fast forward to December 2024:

This post is the complete playbook for African developers looking to compete globally. No sugarcoating. Just real strategies, real numbers, and real challenges.


Part 1: The Reality Nobody Talks About (Challenges of Building from Nigeria)

Let's be honest about what makes this hard:

Challenge 1: Infrastructure is Genuinely Terrible

Power:

Internet:

Total infrastructure tax: ~$300/month just to have reliable basics

For comparison: My US-based developer friends pay $0 for power, $50 for gigabit internet.

Challenge 2: Payment Processing is a Nightmare

Problems I've encountered:

My current solution (took 6 months to figure out):

  1. Register a US LLC ($500 setup + $150/year)
  2. Open Stripe account via US LLC
  3. Transfer profits quarterly to Nigerian account ($45 wire fee each time)
  4. Work with accountant for both US and Nigerian taxes

Total cost of payment workaround: ~$1,200/year in overhead

Challenge 3: Trust Deficit (The Invisible Barrier)

This is the hardest one. Even with a strong portfolio:

Reality: The first client is 10x harder to land than the 10th.

Challenge 4: Banking and Financial Services


Part 2: How I Overcame Each Challenge (Tactical Strategies)

Strategy 1: Building Reliability from Unreliable Infrastructure

My actual workspace setup:

Power Setup:
├── National Grid (4-8 hrs/day) ← Free but unreliable
├── Generator (Backup #1) ← $180/month fuel
├── UPS (Backup #2) ← Covers generator startup delay
└── Laptop Battery (Backup #3) ← Final fallback

Internet Setup:
├── Fiber ISP (Primary) ← 50 Mbps, $70/month
├── 4G Hotspot (Backup) ← 20 Mbps, $50/month
└── Neighbor's WiFi (Emergency) ← Borrowed during dual failure

Total monthly cost: $300

Why this works:

Pro tip: Automatic failover for internet

# Linux script for automatic ISP failover
#!/bin/bash

PRIMARY_INTERFACE="eth0"  # Fiber
BACKUP_INTERFACE="wlan0"  # 4G hotspot
PING_TARGET="8.8.8.8"

while true; do
    if ! ping -c 3 -I $PRIMARY_INTERFACE $PING_TARGET > /dev/null 2>&1; then
        echo "Primary ISP down, switching to backup..."
        sudo ip route del default
        sudo ip route add default via $(ip route | grep $BACKUP_INTERFACE | awk '{print $3}')
        # Send alert to phone
        curl -X POST "https://api.telegram.org/bot$TOKEN/sendMessage" \
            -d "chat_id=$CHAT_ID" \
            -d "text=Internet failover activated"
    fi
    sleep 60
done

Result: 99.9% personal uptime despite infrastructure challenges

Strategy 2: The Payment Processing Workaround

Step-by-step guide to accepting international payments from Nigeria:

Option 1: US LLC + Stripe (What I use)

  1. Register US LLC via Northwest Registered Agent - $39 + state fees

  2. Open US business bank account

  3. Apply for Stripe account using US LLC

  4. Invoice clients through Stripe

  5. Transfer to Nigerian account quarterly

Total setup time: 2-3 weeks
Total cost: $500 setup + $300/year maintenance

Option 2: Payoneer (Simpler but higher fees)

Pro: Fast setup (1 day)
Con: Higher transaction fees (2% vs. Stripe's 2.9% + 30¢)

Option 3: Wise Business (For smaller amounts)

I use a combination: Stripe for recurring payments, Wise for one-time invoices under $1K

Strategy 3: Building Trust (The Portfolio That Converts)

The trust problem is real. Here's how I overcame it:

Before (Portfolio that didn't work):

Generic template website
- "ML Engineer"
- "I build models"
- List of technologies
- No live projects
- No social proof

Conversion rate: less than 1%

After (Portfolio that converts):

scardubu.dev
- Specific positioning: "Full-Stack ML Engineer Building Production AI"
- Live projects with real metrics (350+ users, 99.9% uptime)
- Actual product demos (not just GitHub repos)
- Client testimonials with names + companies
- Active blog with technical depth
- GitHub contributions (showing I ship code)

Conversion rate: ~15%

Key lessons:

  1. Show, don't tell: Live demos > Screenshots > Code repos > "I can do this"
  2. Real metrics matter: "350+ users" > "Built ML system"
  3. Production > Side projects: Clients care about what ships, not what's on GitHub
  4. Social proof is everything: 1 testimonial from a real client > 10 from friends
  5. Technical depth: Blog posts prove you know your stuff

Portfolio mistake I made: Hiding my location

Why it backfired: Clients found out later, felt deceived

What works: Be upfront about location, then immediately address concerns:

"I'm based in Lagos, Nigeria. Here's how I ensure reliability:

My location means lower rates for you, same quality output."

Strategy 4: Pricing Strategy (Don't Undersell Yourself)

Mistake I made year 1: Pricing at "local" rates

Reasoning: "Nigeria has lower cost of living, so I should charge less"

Result:

Realization: Infrastructure costs (power, internet, LLC, tools) are in USD. Cost of living argument is BS.

New pricing strategy:

| Service | Year 1 Pricing | Year 2 Pricing | Reasoning | |---------|---------------|---------------|-----------| | Hourly Consulting | $40/hr | $100/hr | Global market rate for mid-level ML engineer | | Fixed Project | $2K-5K | $5K-15K | Outcome-based, not time-based | | Monthly Retainer | $1.5K | $3K-5K | Predictable income, long-term relationships | | SaaS Product | N/A | $19/mo per user | Scalable revenue |

How I justified higher rates:

  1. Case studies with ROI: "My model increased client revenue by $X"
  2. Speed of delivery: "Shipped in 2 weeks vs. competitor's 6 weeks"
  3. Production quality: "99.9% uptime, not just a notebook"
  4. Niche specialization: "Only person doing X in Y industry"

Result: Revenue increased 4x with fewer clients (better quality)


Part 3: Finding Your First International Clients (Step-by-Step)

This is the hardest part. Here's exactly how I did it:

Month 1-2: Building Credibility (Before Pitching)

Goal: Have something to show before asking for money

What I did:

  1. Built SabiScore (ML sports prediction platform)

  2. Started blogging

  3. Contributed to open source

Cost: $0 (just time)
Result: Portfolio that didn't look empty

Month 3-4: First Outreach Campaign (0 → 5 Clients)

Platform: Upwork (controversial, but it worked for me)

Strategy:

  1. Hyper-specific profile:

  2. Sent 50 proposals in first month

  3. First client willing to take a chance:

  4. Leveraged that review:

Key lesson: First client just needs to be someone. Quality matters more than price.

Upwork alternatives that worked:

Month 5-6: Content Marketing Pays Off (5 → 15 Clients)

What happened:

Inbound leads:

Email template that converted:

Subject: ML consulting for [Their Company]

Hi [Name],

I came across [Their Company] while researching [their industry]. 
Really impressed by [specific thing about their product].

I noticed you're [pain point I can solve - be specific]. 
I've worked on similar challenges with [previous client result].

I write about production ML at scardubu.dev/blog. 
Here's a relevant post: [link to post addressing their pain point]

Would love to chat about [specific project idea]. 
My calendar: [calendly link]

Best,
Oscar

Why this works:

Month 7-12: Referrals Become Primary Channel (15 → 30 Clients)

What happened:

Referral tactics:

  1. Ask at project completion:

  2. Make it easy:

  3. Stay top of mind:

Result: 30% of new revenue now comes from referrals


Part 4: Working with International Clients (Practical Tips)

Communication Best Practices

1. Timezone Overlap (I overlap 4 hours with US EST)

My schedule:

Why this works:

2. Over-Communicate Progress

My daily update template:

Daily Update - [Date]

Completed Today:
- ✅ Feature X implementation (PR #123)
- ✅ Fixed bug in prediction pipeline
- ✅ Wrote tests for data validation

In Progress:
- 🔄 Model retraining (ETA: tomorrow noon)
- 🔄 Documentation updates

Blockers:
- ⚠️ Waiting on API access from third-party

Next Steps:
- Tomorrow: Deploy model v2 to staging
- This week: User acceptance testing

Questions for you:
- Preference on error handling approach? (Option A vs B)

Why this works:

3. Set Boundaries (Availability Hours)

Email signature:

---
Oscar Ndugbu
Full-Stack ML Engineer

📧 scardubu@gmail.com
🌍 Lagos, Nigeria (GMT+1)
💬 Available: Mon-Fri, 6 AM - 6 PM WAT (1 AM - 1 PM EST)
🔗 scardubu.dev

Why this works:

Tools That Help Remote Work

| Tool | Purpose | Cost | Why It's Critical | |------|---------|------|------------------| | Slack | Team communication | Free | Async communication > email | | Loom | Video updates | Free | Show progress, not just tell | | Notion | Documentation | Free | Single source of truth | | Calendly | Meeting scheduling | Free | Eliminates timezone confusion | | Tuple/VSCode Live Share | Pair programming | Free | Build trust through real-time collab | | GitHub Projects | Task tracking | Free | Transparency on progress |


Part 5: The Numbers (Revenue, Expenses, Profit)

Let's talk money. Real numbers from my business:

Revenue Breakdown (2024)

| Source | Revenue | % of Total | |--------|---------|-----------| | SabiScore (SaaS) | $19,860 | 40% | | Consulting Projects | $18,500 | 37% | | Monthly Retainers | $9,600 | 19% | | Workshops/Speaking | $2,000 | 4% | | Total | $49,960 | 100% |

MRR Progression:

Target for 2025: $3,500 MRR ($42K ARR)

Expenses Breakdown (Annual)

| Category | Cost | % of Revenue | |----------|------|-------------| | Infrastructure (Power + Internet) | $3,600 | 7.2% | | Software/Tools | $1,200 | 2.4% | | LLC + Payment Processing | $1,500 | 3.0% | | Cloud Hosting | $840 | 1.7% | | Marketing | $600 | 1.2% | | Misc (Office, Equipment) | $1,260 | 2.5% | | Total Expenses | $9,000 | 18% |

Net Profit: $40,960 (~82% margin)

For context:

The Hidden Costs Nobody Warns You About

1. Currency Exchange Losses

2. Tax Complexity

3. Equipment Replacement

4. Opportunity Cost

Real profit after hidden costs: ~$37K/year


Part 6: Advice for African Developers Going Global

Start Here (Month 1-3)

Week 1-2: Build Something Real

Week 3-4: Document It

Week 5-8: Get First Testimonial

Week 9-12: Apply to 50 Jobs

Goal by end of month 3: 1 paying client

Scale It (Month 4-12)

Build in Public

Content Strategy

Network Actively

Convert Clients to Retainers

Goal by end of month 12: 5 clients, $2K+ MRR

Think Long-Term (Year 2+)

Build Products

Invest in Your Brand

Compound Advantages


Part 7: Common Mistakes to Avoid

Mistake #1: Hiding Your Location

Don't: Pretend you're in US/Europe
Do: Be upfront, then address concerns immediately

Mistake #2: Pricing Too Low

Don't: Charge Nigerian rates for global clients
Do: Charge global rates (your costs are in USD too)

Mistake #3: Working Without Contracts

Don't: Start work based on Slack agreement
Do: Always have written contract + 50% upfront

Mistake #4: Not Tracking Time

Don't: Work unlimited hours for fixed price
Do: Track every hour (even for fixed projects) to learn

Mistake #5: Chasing Every Client

Don't: Accept every project offer
Do: Say no to bad clients (red flags: unclear scope, pushback on contracts, demanding 24/7 availability)


Resources That Helped Me

Communities

Tools

Learning


Final Thoughts: Your Location is a Feature, Not a Bug

Here's what I realized after 2 years:

Being in Nigeria is actually an advantage:

  1. Lower costs = Higher margins

  2. Hungry to prove yourself

  3. Unique perspective

  4. Time zone flexibility

  5. Authenticity

Your biggest limitation is in your mind, not your location.


Let's Connect

Building from Africa and going global? I'd love to hear your story.

Reach out:

Want to work together?

Starting your own journey? I offer mentorship: $100/month for weekly 1-on-1 calls + code reviews


Share This Post

Know someone building from Africa? Share this with them:

Tweet | LinkedIn | WhatsApp


What's your biggest challenge as a remote developer in Africa? Let's discuss in the comments. 👇


Last updated: December 2025 | Reading time: 11 minutes