AI-powered English activity generator for low-resource classrooms. Built on Gemma 4 function calling for structured, print-ready output. MIT-licensed. No subscription. No API key for the classroom.
live demo · Kaggle submission notebook
EduBridge generates structured English-as-a-foreign-language activity plans for teachers in low-connectivity classrooms. Teacher picks an age group and topic, EduBridge returns a four-phase activity plan in validated JSON, the teacher prints it once and runs it with zero technology in the room.
Built for the Kaggle Gemma 4 Good Hackathon (Education track), submitted by vøiddo.
- Function calling enforces a JSON schema — no malformed or hallucinated activities
- Multilingual prompts — teacher can describe the topic in their native language
- Open-source weights — schools and NGOs can self-host without recurring cloud cost
- Runs on Kaggle free tier — zero infrastructure spend for end users
- NGOs serving children in sub-Saharan Africa, South and Southeast Asia, rural Latin America
- Independent teachers and tutors working without reliable internet
- Education research projects studying offline AI-assisted curriculum
Addressable population estimate: 50–100 million children in connectivity-constrained classrooms.
teacher input ──► Gemma 4 (TPU, Kaggle free tier) ──► validated JSON
(age group + │
topic in any ▼
language) printable activity sheet
│
▼
classroom (offline)
Every generated activity includes:
- teacher script — the exact words to say at each step
- student actions — what the children do, broken down by phase
- vocabulary list with translation hints
- assessment guidance — short observable checks per phase
- explicit offline notes — what to do if the projector breaks, the power cuts, etc.
| age | scope |
|---|---|
| 5–6 (Kindergarten) | letters, colors, numbers, 2–3 word vocabulary |
| 7–8 (Grades 1–2) | short sentences up to 10 words, seasons, descriptions |
- Fixture — pre-generated real Gemma 4 outputs bundled with the demo, always available, perfect for showing the system without a network round-trip.
- Live — calls the Gemma 4 endpoint on Kaggle; requires the notebook to be running.
Open: https://voiddo.com/devpost/gemma4-good/
edubridge/
├── README.md ← you are here
├── app.py ← live demo backend (Flask)
├── kaggle_notebook.ipynb ← Gemma 4 generation notebook, runs on Kaggle TPU
├── fixture_data.json ← cached real Gemma 4 outputs for offline demo
├── requirements.txt
├── static/ ← demo frontend assets
├── SCOUT-CARD.md ← hackathon scout notes
└── KAGGLE-SUBMISSION.md ← Kaggle submission write-up
python -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
python app.py
# open http://localhost:5000/The demo defaults to fixture mode. Live mode requires GEMMA_API_URL set to
a running notebook endpoint.
MIT — see LICENSE. Use freely in any classroom, NGO, or research project.
Built by vøiddo — a small independent studio shipping AI-flavoured tools, browser extensions, WordPress plugins, dev utilities and weird browser games.