Why We Built Our Own WhatsApp Platform
A hundred messages a day. That's what my WhatsApp looked like on a good day.
Client asking about their project status. Another one sending a voice note about a logo revision. A prospect wanting a quote. Someone following up on an invoice. And me — the bottleneck — manually forwarding messages to my team, hoping I wouldn't forget one.
I forgot plenty.
The WhatsApp problem nobody talks about
In Morocco, WhatsApp isn't just a messaging app. It's the business communication layer. It doesn't matter how many project management tools you set up, how many Slack channels you create, how polished your client portal is. Your clients will text you on WhatsApp. Period.
And they don't want to talk to your account manager. They want to talk to you. I hired great people. I assigned dedicated account managers. Clients still messaged me directly. That's just how business works here — relationships are personal, and WhatsApp is where personal conversations happen.
So instead of fighting it, I decided to fix it.
From chaos to system
We built Risala.
The idea was simple: if WhatsApp is where our clients want to be, then WhatsApp needs to become a real workspace. Not a hack with forwarded messages and screenshots — an actual system with AI, handoffs, tags, CRM, the works.
The first thing we implemented was the AI chatbot. It runs locally on our server using Ollama with a model optimized for our needs and for the Moroccan market context. It's trained on our entire knowledge base — project information, client files, document links, status updates. When a client asks "where's my project at?" the AI knows. When they need a link to their latest deliverable, the AI sends it.
Today, it handles 90% of conversations without any human intervention.
The handoff that actually works
But AI can't do everything. Sometimes a client needs a real person — and that transition has to be seamless.
When someone asks for a human agent — either through a keyword or when the AI detects it can't handle the request — the assigned agent gets a notification instantly. We use Pushover for push notifications, plus Risala runs as a PWA so agents get native notifications on their phone or desktop.
The agent sees everything: the full conversation history with the AI, all context preserved. Voice notes get transcribed and translated automatically — all processed locally on our server, instant. No cloud dependency, no latency, no privacy concerns.
Once the agent takes over, the AI steps back. When the conversation is resolved, the system returns to AI mode. Simple.
What changed for us
After a few weeks of using Risala internally, the difference was night and day.
No more lost messages. No more "did you forward that to Sarah?" No more scrolling through my personal WhatsApp at 11pm trying to find a client request I vaguely remember seeing. Every conversation is tagged, searchable, assigned. We have canned responses for common questions. We can send our location, files, documents — all from the same interface.
It became a real WhatsApp CRM. The tool I wished existed when I was drowning in messages.
Then our clients wanted it
It took about two conversations. A client saw our response time drop. Another noticed we never missed a message anymore. They asked what changed. I showed them Risala. They wanted it.
So we generalized it.
We added multi-tenant support so each client gets their own workspace. We built campaign capabilities using the official WhatsApp API — approved message templates, anti-spam frequency controls, bulk sends to segmented audiences. We integrated WhatsApp Flows for interactive experiences. We even solved the coexistence problem: you can use the WhatsApp Business app on your phone AND the API through Risala simultaneously, on the same number.
The 24-hour messaging window — Meta's rule that you can only message a customer within 24 hours of their last message — is handled automatically. Risala blocks messages outside the window and falls back to approved templates when needed. No accidental violations, no account suspensions.
Where we are today
We're in soft launch. Ten of our existing clients are on Risala right now — real estate developers, large retail chains, distribution companies. The profiles that deal with high volumes of WhatsApp conversations daily and need structure around it.
As far as I know, there's nothing like this in Morocco. The alternatives are international platforms like Twilio — expensive, complex, billed in foreign currency. Risala is local. The AI is local. The pricing is accessible. And when we launch publicly, Moroccan businesses will be able to pay with a local card, in dirhams. No forex, no international payment hassles.
We're planning an incremental rollout — onboarding clients progressively to manage our server capacity properly. This isn't a SaaS we're throwing at the wall. It's a tool we built for ourselves first, battle-tested on our own chaos, and now we're opening it up.
The pattern
If you've read my previous articles, you see the pattern forming. Suwar replaced BannerBear. Barq replaced Mailchimp. Risala replaced... well, Risala replaced the mess.
Every tool we build at N0 starts the same way: we have a problem, we can't find a solution that fits, so we build one. The difference now is that building takes weeks instead of months, and the result is tailored exactly to how we work — and how business works in Morocco.
If you're running a business here and WhatsApp is your lifeline — which, let's be honest, it probably is — Risala is what we built for you. Because we built it for us first.