Your coursework, over WhatsApp.

Ask what a topic covers, what an assignment actually wants, or what is due — in your own words. Answers come from your lecturer's own files, not from the internet.

Open in WhatsApp

Getting started

  1. Say hello

    Open the chat and send the join phrase above. This is a sandbox number, so that phrase is how it knows to let you in. It lasts 72 hours, then just send it again.

  2. Link your account

    Send link. You get a one-time page that expires in 10 minutes. Sign in there — your password is swapped for an access token on that page, and never goes into the chat.

  3. Ask anything

    That is it. No commands to learn. Send help any time for ideas, or unlink to delete everything.

How to ask

Just type it

Full sentences, half sentences, typos, English or Kiswahili. There is no syntax to get wrong, and no such thing as an invalid command.

Keep talking

Follow-ups work. Ask about a unit, then say “what about the second question” — it keeps the thread of the conversation.

Get the real file

Ask for the brief or the slides and a download link comes back, alongside the deadline and the file format the lecturer requires.

Or tap a number

Eight shortcuts for the things everyone asks. A convenience for one-handed moments, never the only way in.

Things to ask

Replace <unit> with any unit you take — by code or by name. Your units are read from your own account, whatever course you are on.

Units and deadlines

  • what are my units this semester
  • what is due in the next two weeks
  • anything due this week I have not finished

Topics and notes

  • what is <unit> about now
  • explain <topic> from our notes, I missed the class
  • what notes are there for <unit>

Assignments

  • send me the assignment questions for <unit>
  • what format does that one have to be in
  • send me the brief document

Revision

  • quiz me on <topic>
  • I have a CAT on Friday, test me
  • which topics am I weakest on

Planning

  • what should I work on today
  • I am behind, where do I start
  • how far am I in each of my units

Capitals and punctuation do not matter. If something takes a few seconds it says so — send more and the answer is waiting. Prefer tapping? 1 link · 2 my units · 3 what is due · 4 my progress · 5 help · 6 privacy · 7 status · 8 unlink.

What it will and will not do

Your password is never in the chat
You type it once on a single-use HTTPS page, where it is exchanged for an access token. WhatsApp keeps your message history forever — which is exactly why a password must never be typed into it.
Your number is stored as a one-way hash
Enough to find your access again, not enough to read your number back out.
Your questions are not archived
The conversation lives in memory to keep context, and goes when the service restarts. Nothing you ask is written to a database.
It cannot submit your work
Submitting, uploading, attempting a quiz and changing a grade are blocked in code, not merely discouraged. It fetches, explains, quizzes and reminds. You hand in your own work.
Only your own account
Every student links separately and sees only their own units. Nobody else's coursework is reachable from your chat.
Leave whenever
Send unlink and the stored access is deleted immediately.

How it is built

WhatsApp → Twilio webhook → FastAPI on Cloud Run → ADK agent, Gemini tool calling → e-learning REST API, per-student token → lecturer's slides and briefs, read by Gemini at question time → reply, inline in the webhook
Grounded, not guessed
Course answers come from the lecturer's own slides and briefs, opened at question time and named in the reply. Quiz questions are written from those same files, so revision matches what is actually examined.
It reads the course files, not a summary of them
PowerPoint, Word and PDF material is extracted and handed to Gemini with the student's question, so a topic explanation comes from the real deck rather than the model's general knowledge.
An API, not a browser
DOM-first browser automation over Playwright MCP was built first, with a screenshot-and-vision fallback. Then the platform turned out to expose a REST API — faster, structured, and crucially it does not consume the one session per user the site allows, so a student is never logged out of their own laptop and many students can use this at once. The browser stays in the repo, switched off, for sites with no API.
Answers inside the webhook
The reply is returned in the webhook response rather than sent through the messaging API, which trial accounts restrict to templates. Work is raced against that window: if it wins, the answer is immediate; if it loses, it finishes in the background and waits for more.
Many students at once
Sessions, tokens and locks are keyed per sender, so concurrent students never share state.