Teaching Platform

Project brief

Overview

A teaching workspace with source-linked lessons, live classroom interactions, AI-assisted learning activities, and spaced-repetition practice.

My contribution
Designed and built lesson import and publishing, teacher review, live classroom interactions, homework, and spaced-repetition practice.
100% Solo DevelopmentYaspeak vocabulary library, sentence-rephrasing exercise, and word-matching activity.
Yaspeak’s vocabulary library and interactive rephrasing and word-matching exercises.

The project

A workspace connecting lesson preparation, live instruction, homework, and personalized vocabulary practice. Teachers import validated lesson packages, review private answer keys, and publish immutable revisions. Live classrooms share annotations and media while allowing independent student navigation. Gemini assists with vocabulary, unit reviews, and warm-ups; FSRS schedules follow-up practice.

How it works

  1. Prepare the lesson

    The teacher imports a lesson package, checks its source material and private answer keys, and publishes a revision.

  2. Teach together

    Teacher and student share annotations and synchronized media while keeping independent page navigation.

  3. Assign follow-up

    Homework references the published lesson revision; responses and feedback become part of the student’s learning history.

  4. Practice what is due

    Vocabulary from lessons feeds personalized spaced repetition, with review dates updated from the student’s answers.

Engineering decisions

Publish once, teach a stable revision

The challenge

Editing a lesson must not silently change a scheduled class or homework assignment.

The approach

Imported lesson packages are validated and reviewed before publication. Published versions are immutable, and sessions and homework reference a specific revision while drafts and answer keys remain private.

Separate live activity from lasting records

The challenge

Classroom interactions need immediate updates without turning temporary room state into permanent lesson content.

The approach

Realtime Database synchronizes presence, annotations, media, and navigation. Firestore stores lesson revisions and learning history; trusted server functions validate publishing and grade homework.

Practice that builds on each lesson

The challenge

Students need follow-up practice connected to what they learned in class.

The approach

FSRS schedules reviews from each student’s learning history. Server-side Gemini features prepare vocabulary and review activities, with spending reservations and generation leases limiting duplicate work.

Architecture

System architecture — Teaching Platform

From source material to shared understanding

Realtime Database synchronizes classroom activity. Firestore stores durable lesson revisions and learning history.

User interfaceServer processingData & stateExternal services
01

Two screens, one live classroom

Bidirectional session updates

Teacher browser
Lead the lesson

Share annotations, media and classroom activity.

  • React
Live synchronization
Realtime Database

Synchronizes ephemeral room state with participant-scoped access.

  • Firebase
Student browser
Learn & respond

Navigate the published lesson independently and submit responses.

  • React
02

Reviewed material becomes a published lesson

Validated ZIP → teacher review → immutable revision

Lesson package
Import a private draft

Validate a prepared ZIP with source-linked pages, exercises and private answer keys.

  • Cloud Functions
Teacher quality review
Check before publishing

Review source accuracy, private answers and learner level before publication.

Teacher approval
Publish a revision

Immutable lesson versions are pinned to live sessions and homework.

  • Firestore
Learning continues after class

Trusted functions grade objective homework; writing awaits teacher review. Server-side Gemini helps prepare vocabulary, unit reviews and warm-ups. Learning history in Firestore feeds FSRS review schedules, while source files remain in Cloud Storage.

DeploymentFirebase Hosting

Firebase Hosting serves the React app. Cloud Functions handle imports, publishing, grading and learning assistance.

Outcome

A published lesson stays fixed for the classes and homework that reference it, so later edits do not change assigned work. Teachers review source-linked material and private answer keys before publishing; students receive shared classroom activity and their own learning records. Vocabulary practice uses each student’s review history to schedule the next FSRS session.