KATE General — Product & Infrastructure Docs¶
The operating system for a small English-language center, with an AI-assisted IELTS practice platform built in. One product, three audiences, one code deployment.
Live app: kategeneral.long-cao.dev · Audience for this doc: product managers, founders, and operators who need to understand what the system does, how it is built, what it costs, and where the gaps are — without reading the source.
What it is, in one paragraph¶
KATE General is a center-operations platform (classes, students, teachers, schedule, attendance, tuition, cashflow, reports) fused with an AI IELTS practice engine (Reading, Listening, Writing, Speaking — auto-graded plus AI feedback, with mandatory teacher approval on subjective skills). It runs entirely on Cloudflare's edge — one Worker serves the API, the database, file storage, and the AI models — so there are no servers to manage and cost scales with usage. It targets a single center of ~150 students and is built to be operated by non-technical staff.
The 30-second facts¶
| Primary users | Manager (Ban điều hành), Teacher (Giáo viên), Student (Học viên) |
| Public URL | kategeneral.long-cao.dev (custom domain; the old *.workers.dev URL is retired) |
| Hosting | 100% Cloudflare Workers — no traditional servers, no separate DB host |
| Database | Cloudflare D1 (SQLite at the edge) |
| File storage | Cloudflare R2 (audio recordings, uploads) |
| AI | Cloudflare Workers AI (grading, tutor, transcription) + optional Azure (pronunciation) |
| Frontend | React single-page app, served by the same Worker |
| Payments | None online — tuition & cashflow are manual bookkeeping by design |
| Business model | Course-based (tuition ledger), not subscription |
How the AI is positioned (important)¶
The center pays a flat monthly budget for AI. The platform never presents an AI band as a final score — Writing and Speaking bands are always provisional until a teacher approves them. Reading and Listening are objective and auto-graded. This "AI assists, the teacher decides" stance is a core product guarantee, enforced in the backend, not just the UI. See AI features.
Where to go next¶
- :material-book-open-variant: Product overview — the vision, the two-mode design, who it serves.
- :material-account-group: Roles & permissions — what each of the three roles can and cannot do.
- :material-view-grid: Modules — the eight management modules and the four IELTS skills.
- :material-robot: AI features — grading, tutor, pronunciation, quotas, and the "never final" guarantee.
- :material-sitemap: System architecture — how the edge stack fits together.
- :material-database: Data model — the entities and how they relate.
- :material-cloud: Infrastructure — the exact Cloudflare resources, domains, secrets.
- :material-shield-check: Security — the security posture and recent hardening.
- :material-rocket-launch: Deploy & runbook — how to ship and operate it.
- :material-map: Status & gaps — what's done, what's missing, the fix plan.
Naming
Users see the brand KATE General. Internally the Cloudflare Worker, database, and R2 bucket keep their original bira-school-* names so history, secrets, and bindings stay intact. Both names refer to the same system.