1The problem we're solving
Every organization that takes learning seriously ends up paying for the same job three times — and still cannot prove who learned what.
Schools, universities, training companies, compliance teams, and individual creators all face a remarkably similar mess:
- One vendor for authoring (Articulate Rise / Storyline, Adobe Captivate).
- A second vendor for delivery — an LMS or "SCORM host" (Moodle, Canvas, Docebo, SCORM Cloud).
- A third vendor (or open marketplace) for distribution (Coursera, Udemy, Teachable, Kajabi).
- A fourth tool for compliance reporting and certificates.
- An "AI tutor" Chrome extension or floating widget bolted on top with no provenance.
The result is a stitched stack that breaks at every seam:
- Course content lives in proprietary
.storyor.zipfiles that only one tool can edit. - "Offline mode" is a banner that says You are offline and a back button. Field workers, rural schools, and travelers are second-class learners.
- AI gets bolted on with no audit, no provenance, no per-tenant policy — and no one can answer "Which AI generated this question, and who reviewed it?"
- Compliance auditors get a CSV. Maybe.
- Creators sell on someone else's marketplace and pay 30–50% to do it.
- Kids' surfaces, K-12 safety, enterprise compliance, and creator commerce all need completely different products.
Ghasi-EdTech replaces all of that with one platform: one content model from author → signed package → player; one identity and audit; one AI gateway with provenance; one set of contracts that works for a 7-year-old learning fractions, a university student preparing for an exam, an industrial worker doing safety retraining, and a creator selling a paid course — without forcing them onto the same UI.
2What makes Ghasi-EdTech feel different
tenant_id on every entity, query key, cache key, telemetry event, signed bundle, and SSO realm. Theming and residency per tenant.3Three big things in one product
Authoring
Block editor with the speed of Articulate Rise and the interactivity of Storyline. Real-time collaboration via Yjs (CRDT). AI co-author proposes outlines, blocks, quizzes, narration, images, and translations — humans promote them to reviewed with an audit trail.
Delivery (Runtime Player)
One player renders the PlayPackage identically online and offline across web, mobile, and desktop. Quizzes scored client-side and reconciled on sync. SCORM 1.2 / 2004 + xAPI / cmi5 supported natively. AI tutor sidecar with local WebGPU/WASM when disconnected.
Marketplace
Providers list under one-time, subscription, seat-pack, or site-license plans. Organizations buy, assign, and track. Platform admin moderates. Revenue share, payouts, and refunds are first-class.
Compliance & analytics
Assignment policies, RRULE-based recurring training, retraining windows, certificate issuance (with offline claim → sync → confirmation), AI audit export, and GDPR data-subject workflows.
4Who Ghasi-EdTech is for
The same product, with tenant lenses, behaves correctly for very different audiences — without forcing five different platforms.
Lens: kids. Hardest-fail safety stance. Default deny for chat, DMs, public leaderboards, social reactions, community profiles, and marketing emails for under-13 without verifiable parental consent.
AI tutor is on with a strict policy pack: PII redaction, profanity filter, topic allow-lists, max-turns, no training on child prompts, on-device or approved cloud routes only.
Audio-first paths for early readers, large hit targets, no infinite scroll, a one-tap "I need a grown-up / teacher" escalation, and a parent / guardian dashboard with time-on-task, skills practiced, and AI-session summaries.
COPPA-grade telemetry: no high-cardinality child IDs in analytics; no verbatim child dialogue in storage by default.
Lens: academic. Adaptive learning on with prerequisite gates and mastery thresholds. Gradebook is source of truth; XP and streaks are secondary.
Class-local leaderboards by institution opt-in; cohort assignments via dynamic groups; LTI 1.3 launch into and out of Canvas / Moodle / Blackboard.
Term deadlines constrain the path. Reviewers and instructional designers operate in a single workflow with content authors.
Lens: enterprise. Adaptive off by default; corporate paths are typically prescribed. Engagement features off or internal-only. SSO via SAML / OIDC / Keycloak per tenant.
RRULE-driven recurring training, retraining windows, manager dashboards, SOC 2 audit events, and a defensible compliance trail for regulators and auditors.
Lens: civic. Linear paths for compliance credentials; leaderboards off; low-bandwidth profile active by default; full RTL (Pashto, Dari, Arabic) parity with LTR.
Built for rural schools, ministries, donor-funded literacy programs, and field workforces where the network cannot be assumed.
Lens: creator. Marketplace storefront with seat packs, subscription, one-time, or site license. AI co-author shortens course-to-publish time. Engagement tools tied to audience growth, not a points economy.
Revenue share, payouts, refunds, and platform-side moderation are first-class — not bolt-ons.
Multi-tenant by construction with data residency options (us | eu | me | ap), per-tenant SSO realms, theming, and feature flags. The same backbone scales from a single school to a national learning program.
5Types of learning we support natively
Self-paced courses
Block-based lessons, embedded media, quizzes, branching, and certificates — the bread-and-butter of LMS / LXP, done right.
Microlearning
Short, daily, mobile-first lessons with spaced-repetition review queues — for habit-forming retention.
Adaptive paths
Path graphs with prerequisite gates and conditional branches; the next block is chosen by mastery, not by table-of-contents order.
Compliance & recurring
RRULE-driven retraining windows, attestations, and certificate renewal — with an audit trail your regulator will accept.
K-12 classroom
Teacher assignments, class cohorts, parental visibility, audio-first paths, kid-safe AI — under lens:kids.
University & bootcamp
Cohort enrollments, gradebook, LTI 1.3 launch, term schedules, peer review (v2).
SCORM / xAPI interop
Import SCORM 1.2 / 2004 packages from legacy authoring; export courses as SCORM or emit xAPI to any LRS.
Live (via LTI)
Live cohort sessions integrated via LTI / BigBlueButton — we don't reinvent Zoom.
Marketplace courses
Public catalog with seat-pack, subscription, one-time, or site-license plans.
6Adaptive learning — paths that respond to the learner
Learning isn't linear. Ghasi-EdTech models that explicitly with a path graph and a per-skill mastery model, so the next block is the right one for this learner — not the next item in a list.
6.1 The model
| Concept | What it does |
|---|---|
| Path graph | Authors define a directed graph of blocks (or block clusters) with optional prerequisite edges. Stored as PlayPackage metadata so it travels with the package — including offline. |
| Mastery score | Per (tenant, learner, skill) a 0.0–1.0 score, updated by a Bayesian-weighted rule on each assessment attempt. Decays over time to model forgetting. |
| Prerequisite gates | A node may require masteryScore ≥ threshold on a skill before it unlocks — automatic, but visible and explainable. |
| Recommendation engine | An AI scoring contract takes (masteryVector, candidateNextBlocks, policy) and returns a ranked recommendation with AIProvenance. The author still owns the path; AI just ranks within it. |
| Spaced-repetition review | When mastery decays below a threshold and the spaced-repetition timer fires, the block re-enters the learner's review queue — daily / weekly cadences supported. |
| Offline-aware | Adaptive paths are precomputed (top-3 likely next blocks embedded in the bundle) so adaptation works offline; live recommendation kicks in when reconnected. |
6.2 What this looks like for the learner
7Gamification — engagement without manipulation
Engagement matters. Dark patterns don't. Ghasi-EdTech ships XP, streaks, badges, and optional leaderboards — with strict per-lens defaults so a kids tenant never accidentally inherits an enterprise leaderboard, and an enterprise tenant never accidentally turns its safety training into a competition.
XP & level bands
Monotonic per learner per tenant. Idempotent awardId means an offline replay never double-counts.
Streaks
At-most-once per calendar day in the learner's time zone; optional admin-granted "freeze" item to protect a streak across a sick day.
Badges
A versioned per-tenant catalog. Unlock is idempotent; copy comes from CMS or bundle; no user-generated badges without admin review.
Leaderboards (optional)
Cohort, class, or "friends" only — no global / world boards in v1. Display-name policy per tenant. lens:kids = no public discovery.
Authoring rule DSL
Triggers (block.complete, assessment.submitted, session.minutes) → conditions (caps per day, prerequisite badges) → actions (award.xp, badge.unlock, streak.update). Versioned; rule changes do not retro-revoke without admin action.
Offline accrual
Awards queue in the offline outbox; reconciled on sync with idempotency key (tenant, learner, ruleVersion, triggerRef). Replay is a no-op.
8AI — useful, governed, never autonomous
"AI" is the most over-claimed feature in EdTech. Ghasi-EdTech's stance is concrete: AI is a first-class affordance, never hidden, never automatic, never default-on for tenants. Every AI output carries provenance. No feature may auto-insert AI content. Every AI call goes through a single governed gateway.
Authoring co-author
Generate course outlines from a PDF, blocks from intent, quizzes from a lesson, narration via TTS, image diagrams, and translations. Every result is status: draft_ai with AIProvenance; a human reviewer promotes it to reviewed with a decisionId.
Runtime AI tutor
SSE chat in the player with curated tools: lookupBlock, summarizeLesson, quizMe, translate, simplify, cite. Offline variant runs on device via WebGPU/WASM; provenance flagged local: true.
Adaptive recommender
Internal AI route ranks the top-N next blocks given the learner's mastery vector and the path graph — with provenance and explanation, never as a black box.
Marketplace moderation
AI pre-moderates listings before human admin approval — speeding up the queue without removing the human gate.
Safety, budgets, evaluation
Pre/post moderation on every call. Per-tenant × purpose × model budgets enforced at the gateway. CI runs prompt regression (≥1 000 golden prompts per feature), safety corpus (5 000+ adversarial), jailbreak corpus (2 000+ injection), and daily PII leakage canaries.
Single egress
All AI calls go through ai-gateway-service via the AIClient port. Direct provider SDK imports are ESLint-blocked outside the gateway. Local WebGPU / WASM / ONNX runtime is available on web, mobile, and desktop for offline use.
AIProvenance and exportable to CSV / JSONL per tenant, ready for GDPR data-subject workflows and EU AI Act-style high-risk classification programs.
9Offline-first — for real
"Offline" is one of those words everyone claims. Ghasi-EdTech's offline story is specified per feature, tested in CI with true offline (Playwright setOffline(true) + airplane mode on devices), and visible in sync telemetry — not a best-effort mode.
| Capability | Offline guarantee |
|---|---|
| Catalog browse | 24-hour SWR cache; falls back to cached tiles when offline. |
| Course play | 100 % of bundled PlayPackage content playable offline on web (OPFS + Dexie), mobile (Capacitor Filesystem + IndexedDB), and desktop (Electron userData + Dexie). |
| Quiz scoring | Client-side scoring from bundled rules; server re-scores on sync; mismatches flagged for human review. |
| AI tutor | Local WebGPU / WASM model when offline; cloud-refresh CTA when reconnected; local: true in provenance. |
| Certificate claim | Provisional certificate issued locally, confirmed on sync; tamper-evident with JWS signature. |
| Authoring drafts | Full editor works offline; Yjs updates persisted locally; merged via CRDT on sync; conflicts surfaced in the Sync Center. |
| Progress / xAPI | Statements queued locally; flushed via sync-service with idempotent clientMutationId. |
| License envelope | Offline PlayPackage bundles sealed with per-device license envelope (JWS, AES-256-GCM); expired bundles exit gracefully. |
| Bundle revocation | Learners see a clear modal on next sync if a bundle was revoked; progress is preserved to the extent the server accepts. |
10Surfaces & supported platforms
All three platforms share the same Next.js App Router codebase plus shared packages (ui, api-contracts, player-runtime, authoring-runtime, offline-kit, ai-client, sync-client, telemetry). One package, three shells, identical contracts.
11Why Ghasi-EdTech vs. stitching SaaS
| The stitched stack pain | The Ghasi-EdTech response |
|---|---|
| SCORM in one place, authoring in another, marketplace in a third, AI in a fourth. | One content model from author → signed package → player → marketplace, with AI wired through a single ai-gateway contract. |
| "Works online only" in emerging markets, on planes, on campuses with bad Wi-Fi. | True offline play, progress queue, certificate flow, and AI tutor — all sealed in encrypted, license-bound bundles. |
| Cannot prove who saw what to an auditor. | Deterministic event model, xAPI / cmi5 statement queue, AI provenance, and CSV / JSONL export per tenant for compliance programs. |
| Kids' safety, K-12, and adult content all need separate products. | Lens-aware tenant policy: kids, academic, enterprise, civic, and creator each get correct defaults and feature gating — same product. |
| Adaptive learning is a slide deck, not a feature. | Path graph + per-skill mastery model + spaced repetition + AI ranking — built into the player and the package. |
| Gamification is either off or invasive (dark patterns, kids exposed to public boards). | XP, streaks, badges, optional cohort leaderboards — with strict per-lens defaults and offline-safe accrual. |
| "AI tutor" is a Chrome extension with no audit, no policy, no offline path. | One AI gateway, single egress, provenance on every output, per-tenant budgets, on-device fallback, full audit export. |
| Global LMS pricing and feature gaps; multi-tenancy as an enterprise upsell. | Multi-tenant from day one; marketplace economics you control; data residency options (us | eu | me | ap); per-tenant SSO realms. |
| Native mobile and desktop apps shipped by separate teams that drift. | One Next.js codebase wrapped by Capacitor (mobile) and Electron (desktop) — same package, same contracts, same offline guarantees. |
12The targets we hold ourselves to
Authoring time-to-first-published-course (with AI co-author): p50 < 60 minutes. Assigned-course completion in 30 days: ≥ 78 %. Mean time to detect an AI safety violation in production: ≤ 15 minutes. Zero new serious / critical accessibility issues per PR.
13The impact we're aiming for
- A child in a rural school learns adaptively, offline, on a low-end Android tablet — and a teacher sees the mastery dashboard in town the next day.
- A university student sits an exam knowing exactly which spaced-repetition cards will reappear tomorrow, and which adaptive branch their cohort took.
- An industrial worker completes annual safety retraining in their own language, on a phone, in a field with no signal — and the certificate is provably theirs.
- An instructional designer ships a 10-block course in an hour by promoting AI-drafted blocks instead of typing every quiz from scratch.
- A creator launches a course on a marketplace they don't pay 50 % to, under a license model they control, and gets paid out without a third platform in the loop.
- A compliance officer exports a defensible audit — including every AI output and every reviewer decision — in one click.
One platform. Author. Adapt. Engage. Deliver. Sell. Prove.
For engineering depth, see 01-enterprise-architecture.md, the frontend 01-product-overview.md, the kids & safety, adaptive learning, and engagement specifications, the per-service 17-doc bundles, and the epics tree in the Ghasi-EdTech documentation set.