What You're Actually Building
A WhatsApp bot that businesses pay you ₦30,000–₦150,000/month to maintain. The bot handles customer FAQs, order confirmations, appointment reminders, and lead qualification — automatically, 24/7, without a human on the other end.
You are not building this for yourself. You are building it for other businesses and charging a monthly retainer to run it.

The Stack (All Free to Start)
Twilio WhatsApp Business API — The connector between your code and WhatsApp. Free sandbox for testing, ~₦8,000/month at production volume.
Node.js + Express — Your bot server. Receives messages from Twilio, processes them, sends replies.
Railway — Hosts your Node.js server. Free tier covers one project, paid is ₦4,000/month.
Supabase — Stores conversation state and customer data. Free tier is more than enough for 10 clients.
n8n (self-hosted) — Optional. For clients who want workflow automation (e.g. "when bot collects a lead, add to Google Sheet and send email").
Total monthly cost per client: ~₦12,000. Charge ₦50,000+. Margin: ₦38,000+ per client.
Day 1: Build the Core Bot
// server.js — the entire bot in ~50 lines
const express = require('express')
const app = express()
app.use(express.urlencoded({ extended: false }))
const MessagingResponse = require('twilio').twiml.MessagingResponse
// Simple state machine — extend this per client
const FLOWS = {
'hi': 'Hello! I'm the assistant for {business_name}. How can I help?
1. Hours & Location
2. Place an Order
3. Talk to a Human',
'1': 'We're open Mon–Sat 8am–8pm. Find us at 14 Victoria Island, Lagos.',
'2': 'To place an order, visit our website at {website} or call {phone}.',
'3': 'Connecting you to our team. We'll respond within 30 minutes.',
}
app.post('/webhook', (req, res) => {
const inbound = req.body.Body.toLowerCase().trim()
const twiml = new MessagingResponse()
const reply = FLOWS[inbound] || 'I didn't catch that. Reply with 1, 2, or 3.'
twiml.message(reply)
res.type('text/xml').send(twiml.toString())
})
app.listen(3000, () => console.log('Bot running on port 3000'))
Day 2: Make It Client-Configurable
Hard-coding flows for each client is not scalable. Build a simple admin panel (or just a JSON config per client in Supabase) so each client's responses, hours, menu options, and contact details are stored in the database — not in your code.
This also means one codebase serves all clients. One deployment. Different configs.
Day 3: Land the First Client
The pitch is not "I built a WhatsApp bot." The pitch is "I can save your business 40 hours a month of manual WhatsApp replies and never miss a customer again."
Target: restaurants, salons, clinics, real estate agents, e-commerce stores — any business that already has customers texting them manually.
Walk into any of those businesses. Show them their problem back to them: "How many WhatsApp messages do you answer manually per day?" When they say 30-50, show them the demo bot handling those exact questions in real time.
Close at ₦50,000/month. Aim for 5 clients in month one. That is ₦250,000/month from a ₦12,000 stack.
Why Most People Fail at This
They build the bot for themselves instead of immediately focusing on getting paying clients. Spend 2 days max on the product. Day 3 is sales. The bot doesn't need to be perfect before you sell it — it needs to solve one specific pain for one specific business.

