Created by Darrell Mucheri Built for Zimbabwean students — ZIMSEC & Cambridge curriculum support via WhatsApp AI.
| Component | Description |
|---|---|
index.js |
WhatsApp bot (AI chat, quizzes, PDF generator, voice notes) |
admin-portal/ |
Web portal for uploading study resources to the bot |
db.js |
MongoDB models (users, plans, materials, payments) |
settings.js |
Bot configuration (credentials, bot number, owner) |
The admin portal (admin-portal/) is a standalone Express web app.
It connects to your MongoDB and CDN — no WhatsApp connection needed.
- Go to render.com and create a free account
- Click New → Web Service
- Connect your GitHub repo
- Set the following:
| Field | Value |
|---|---|
| Name | fundo-admin-portal |
| Root Directory | admin-portal |
| Runtime | Node |
| Build Command | npm install |
| Start Command | node server.js |
| Instance Type | Free |
- Add these Environment Variables in Render:
| Key | Value |
|---|---|
MONGO_URI |
Your MongoDB connection string |
ADMIN_USERNAME |
Your admin username (default: mrfrankofc) |
ADMIN_PASSWORD |
Your admin password |
PORTAL_PORT |
10000 (Render uses port 10000 by default) |
- Click Deploy — your portal will be live at
https://fundo-admin-portal.onrender.com
Note: Vercel is designed for serverless — Express apps work but need an adapter.
- Install Vercel CLI:
npm i -g vercel - Inside
admin-portal/, create avercel.json:
{
"version": 2,
"builds": [{ "src": "server.js", "use": "@vercel/node" }],
"routes": [{ "src": "/(.*)", "dest": "server.js" }]
}- Run
vercelin theadmin-portal/folder and follow the prompts - Add your environment variables via the Vercel dashboard under Project → Settings → Environment Variables
The portal is already running on Replit at port 5000. To make it always available (no sleep):
- Go to your Replit project → Deployments tab → Autoscale or Reserved VM
- This keeps both the bot and portal running 24/7
| Variable | Description | Default |
|---|---|---|
MONGO_URI |
MongoDB connection string | hardcoded fallback |
ADMIN_USERNAME |
Portal login username | mrfrankofc |
ADMIN_PASSWORD |
Portal login password | darex@123 |
PORTAL_PORT |
Port for admin portal | 5000 |
SESSION_ID |
WhatsApp session ID (bot only) | — |
BOT_NUMBER |
WhatsApp bot number (bot only) | 263776046121 |
OWNER_NUMBER |
Owner WhatsApp number (bot only) | 263719647303 |
PAYNOW_ID |
EcoCash Paynow integration ID (optional) | — |
PAYNOW_KEY |
EcoCash Paynow integration key (optional) | — |
- Open the portal URL and sign in with your admin credentials
- Upload resources: drag & drop files (PDF, DOC, DOCX, images) into the left panel
- Select the correct Category, Level, Grade, and Subject from the dropdowns
- Add a Year for past papers and marking schemes
- Rename each file's display title before uploading (optional)
- Click Upload Files — each file uploads individually with a progress bar
- Resources appear immediately on the Fundo AI bot when students request them
- Get a session ID from sessions.subzero.gleeze.com
- Set
SESSION_IDinsettings.jsor as an environment variable - Run:
node index.js
Darrell Mucheri — Developer & Creator
- Website: fundoai.gleeze.com
- Support: support.fundo.ai@gmail.com
- WhatsApp Channel: Join here
Fundo AI — Empowering Zimbabwean students through accessible, AI-powered education.