Skip to content
Asmar.
§ CS-03 — Ghasi edTech

Ghasi edTech

In development · pre-launch

Multi-tenant, multilingual (LTR + RTL), AI-first, offline-first learning platform: marketplace + LMS + authoring suite + compliance engine. 18 bounded contexts. SCORM/xAPI. WebGPU local inference.

Period
2024 — present
Domain
EdTech / Compliance
Stack
  • NestJS
  • pgvector
  • OpenSearch
  • NATS
  • Capacitor
  • Electron
The brief

Modern learning platforms force a choice between cloud-only convenience and offline reach. Most also bolt AI on top of a non-AI core.

edTech is designed offline-first and AI-first from the domain layer up — the same PlayPackage that streams in a browser is signed, encrypted, and runnable on a phone with no connection.

Architecture at a glance

Anonymized to remove proprietary details. The pattern is real; the specifics aren't the part that matters here. Hover any layer label for context.

Decisions & tradeoffs
  1. 01

    One sync protocol (`/sync/v1/pull|push`) with idempotency and per-aggregate conflict policy.

    CostEvery aggregate must declare its conflict rule.

    WinA single mental model for every offline mutation.

  2. 02

    All AI traffic through one AI Gateway service.

    CostA service to operate.

    WinModel choice, cost ceilings, provenance logging, moderation, and audit are centralized.

  3. 03

    No synchronous cross-service chain longer than two hops.

    CostMore events, more eventual consistency.

    WinLatency budgets are tractable; every service can be reasoned about locally.

  4. 04

    AI provenance metadata attached to every AI artifact — `{ model, version, promptId, traceId, reviewedBy, local }`.

    CostA column.

    WinEvery AI output is auditable and citable.

Outcome & scope
  • 18 bounded contexts, 19 logical services.
  • Full traceability matrix: requirements → capabilities → services → APIs → events → user stories → tests.
  • Offline runtime ships SCORM 1.2/2004 + xAPI/cmi5 with the same PlayPackage on every platform.
  • Pre-launch deployment in preparation for first content partner cohort.
My role

Founder, lead architect, spec author, and primary implementer. The end-state specification (14 documents, 60+ epics) is mine — and so is the bulk of the implementation: domain code, unit and integration tests, Playwright E2E automation, CI/CD pipelines, and the cloud infrastructure underneath.

What I'd do differently

The authoring tool's block registry started as a discriminated union and should have been a versioned schema from day one. Migrating now is more expensive than it would have been.

← All case studies

Designing something similar?

Explore other work