Phase 4: Scale
From 100K to 1M users. From one country to Africa.
Timeline: Q4 2026 and beyond Goal: Pan-African infrastructure
The Challenge
Phase 1-3: Build the product Phase 4: Scale the product
Different challenges:
- Technical: Handle 10x traffic
- Geographic: Multiple countries, currencies, languages
- Business: Sustainable unit economics
- Competitive: Defend the moat
4.1 User Growth
Growth Targets
| Milestone | Users | Timeline |
|---|---|---|
| Current | 12,000+ | Now |
| End of Q2 | 50,000 | Jun 2026 |
| End of Q3 | 100,000 | Sep 2026 |
| End of Q4 | 500,000 | Dec 2026 |
| End of 2027 | 1,000,000 | Dec 2027 |
Growth Channels
1. WhatsApp Viral Loops
Every transaction creates sharing:
Buyer purchases → Gets receipt with "via Yebo"
Seller receives payment → Notification with link
Both get: "Share to earn 50 KES"async function triggerViralLoop(transaction) {
// Buyer share
await sendMessage(transaction.buyerId, {
text: `✅ Purchase complete! Share Yebo with friends, earn KES 50 each.`,
buttons: [
{ label: 'Share on WhatsApp', action: 'share', url: referralUrl }
]
});
// Seller share
await sendMessage(transaction.sellerId, {
text: `💰 KES ${amount} received! Know someone who sells? They get KES 100 free credits.`,
buttons: [
{ label: 'Invite Sellers', action: 'share', url: sellerReferralUrl }
]
});
}2. Eneza Distribution
Leverage 12,000+ Eneza users:
- Already posting WhatsApp Status ads
- Already have audience
- Natural upgrade to full Yebo
Eneza user posts ad
↓
"Want to accept payments too? Connect YeboShops"
↓
One-click upgrade
↓
Full Yebo user3. B2B Partnerships
| Partner Type | Value |
|---|---|
| Employers | Bring job seekers |
| Schools | Bring learners |
| Trade associations | Bring sellers |
| Mobile money agents | Distribution |
4. Content Marketing
- Success stories (sellers making money)
- "How to" content (use agent for X)
- SEO for job/commerce searches
Referral Program
const referralProgram = {
referrer: {
perSignup: 50, // KES
perTransaction: 10, // KES (first 5)
max: 1000 // KES total per referrer
},
referee: {
signupBonus: 100, // KES credits
firstTransactionBonus: 50 // KES
},
tracking: {
code: 'unique_per_user',
attribution: '30_days',
fraud: ['same_device', 'same_ip', 'velocity']
}
};4.2 Geographic Expansion
Country Prioritization
| Country | Population | Mobile Money | Priority |
|---|---|---|---|
| Kenya | 55M | M-Pesa | ✅ P0 (current) |
| Nigeria | 220M | OPay, Palmpay | P1 |
| Ghana | 33M | MTN, Vodafone | P1 |
| Tanzania | 65M | M-Pesa | P2 |
| South Africa | 60M | Cards + MoMo | P2 |
| Uganda | 48M | MTN, Airtel | P3 |
Expansion Checklist
For each country:
Payments
- [ ] Primary mobile money integration
- [ ] Secondary mobile money (if needed)
- [ ] Local currency wallet
- [ ] Withdrawal routes
Compliance
- [ ] Business registration
- [ ] Payment service license (if required)
- [ ] Data localization (if required)
- [ ] Tax requirements
Localization
- [ ] Local phone number format
- [ ] Local pricing
- [ ] Local language (if not English)
- [ ] Local categories/industries
Operations
- [ ] Local support (at least timezone)
- [ ] Local partnerships
- [ ] Local marketing
Nigeria Expansion (P1)
Why Nigeria:
- 220M people (largest market)
- Fast-growing digital economy
- Strong WhatsApp usage
- Naira payments needed
Payment Integration:
// Add OPay support
const opayProvider = {
name: 'opay',
country: 'NG',
currency: 'NGN',
deposit: async (amount, phone) => {
// OPay API call
},
withdraw: async (amount, phone) => {
// OPay API call
},
webhook: '/webhooks/opay'
};Timeline:
- Month 1: OPay integration
- Month 2: Palmpay integration
- Month 3: Local testing
- Month 4: Soft launch
- Month 5: Full launch
4.3 Technical Scaling
Current Architecture (10K users)
Single region (Kenya)
├── Cloud Run (auto-scaling)
├── Neon PostgreSQL
├── Single WhatsApp number
└── Cloudflare CDNTarget Architecture (1M users)
Multi-region
├── Load Balancer (global)
├── Cloud Run (per region)
│ ├── europe-west1 (EU/Africa)
│ ├── us-central1 (Americas)
│ └── asia-east1 (Asia)
├── PostgreSQL (read replicas)
│ ├── Primary (write)
│ └── Replicas (read, per region)
├── Redis (caching, sessions)
├── Multiple WhatsApp numbers
└── Cloudflare (CDN + Workers)Database Scaling
Read Replicas
// Read from replica, write to primary
const db = {
primary: new PrismaClient({ url: PRIMARY_URL }),
replica: new PrismaClient({ url: REPLICA_URL }),
read: async (query) => db.replica.$queryRaw(query),
write: async (query) => db.primary.$queryRaw(query)
};Sharding (if needed)
// Shard by user_id
function getShard(userId) {
const hash = hashCode(userId);
return hash % NUM_SHARDS;
}
const shards = [
new PrismaClient({ url: SHARD_0_URL }),
new PrismaClient({ url: SHARD_1_URL }),
// ...
];
async function query(userId, query) {
const shard = shards[getShard(userId)];
return shard.$queryRaw(query);
}Caching Strategy
// Cache user profiles (high read)
async function getUser(userId) {
const cached = await redis.get(`user:${userId}`);
if (cached) return JSON.parse(cached);
const user = await db.users.findUnique({ where: { id: userId } });
await redis.setex(`user:${userId}`, 3600, JSON.stringify(user));
return user;
}
// Cache product listings (high read)
async function getListing(listingId) {
const cached = await redis.get(`listing:${listingId}`);
if (cached) return JSON.parse(cached);
const listing = await db.listings.findUnique({ where: { id: listingId } });
await redis.setex(`listing:${listingId}`, 300, JSON.stringify(listing));
return listing;
}Queue System
// Async job processing
const queues = {
notifications: new Queue('notifications'),
emails: new Queue('emails'),
aiProcessing: new Queue('ai'),
webhooks: new Queue('webhooks')
};
// Process in background
queues.aiProcessing.process(async (job) => {
const { photos, userId } = job.data;
const listing = await generateListing(photos);
await createListing(userId, listing);
await notify(userId, 'Listing created!');
});4.4 Platform Ecosystem
Third-Party Integration
Open APIs for partners to build on Yebo:
YeboID as Auth Provider
// Any app can use YeboID for login
app.get('/login/yebo', (req, res) => {
res.redirect(`https://id.yebo.com/oauth/authorize?
client_id=${CLIENT_ID}&
redirect_uri=${CALLBACK_URL}&
scope=profile,email`);
});
app.get('/callback', async (req, res) => {
const { code } = req.query;
const tokens = await yeboid.exchangeCode(code);
const user = await yeboid.getUser(tokens.access_token);
// User is authenticated
});YeboSafe as Payment Provider
// Any app can use YeboSafe for payments
const payment = await yebosafe.createPayment({
amount: 1000,
currency: 'KES',
description: 'Order #123',
callbackUrl: 'https://myapp.com/payment-complete'
});
// Redirect user to payment page
res.redirect(payment.checkoutUrl);Developer Program
| Tier | Requirements | Benefits |
|---|---|---|
| Free | Sign up | 1,000 API calls/month |
| Builder | Verified business | 100,000 API calls/month |
| Partner | Revenue share | Unlimited + support |
App Marketplace (Future)
Third parties can build and list apps:
- Job boards using YeboJobs API
- Stores using YeboShops API
- Tools using YeboLink API
Revenue share: 70% developer, 30% Yebo
4.5 Sustainability
Unit Economics
Target LTV/CAC:
- CAC: $2-5 per user
- LTV: $20-50 per user (2-year)
- LTV/CAC: 5-10x
Revenue per User per Year:
| Source | Average |
|---|---|
| Commerce fees | $5 |
| Job fees | $2 |
| API usage | $1 |
| Advertising | $2 |
| Total | $10 |
Cost per User per Year:
| Source | Average |
|---|---|
| Infrastructure | $0.50 |
| AI (Gemini) | $0.20 |
| SMS/WhatsApp | $0.30 |
| Support | $0.50 |
| Total | $1.50 |
Gross Margin: 85%
Success Metrics (Phase 4)
| Metric | Target |
|---|---|
| Monthly Active Users | 500K+ |
| Countries | 3+ |
| Monthly GMV | $5M+ |
| Revenue Run Rate | $500K+ |
| Gross Margin | >80% |
Phase 4 Risks
| Risk | Mitigation |
|---|---|
| Competition from big tech | Move fast, local knowledge |
| Mobile money fragmentation | Build abstraction layer |
| Regulation | Proactive compliance |
| Unit economics | Focus on high-value users |
Long-Term Vision (2027+)
Yebo becomes:
- Default identity for African digital economy
- Payment infrastructure others build on
- AI agent standard (others integrate)
- "How did people do business before Yebo?"
Previous: Phase 3: Intelligence