CASE STUDY · 06

CURRICULUMOS

A full-stack learning platform designed to unify curriculum, coding labs, focus sessions, projects, and learner intelligence in one system.

Git Commits
10
Main branch history
Deployments
3
Tracked on GitHub deployments
Primary Language
TypeScript
61.7% of repository code
Core Runtime
Sandbox Lab
Run, test, and check execution modes

Project Overview

curriculumOS is positioned as a learning operating system that supports structured course delivery, quizzes, lessons, learner progression, project execution, and collaborative study workflows. It is built to serve education as an end-to-end product system rather than treating lessons, code practice, and progress tracking as separate tools.

The strongest part of the platform is its learner coding lab, which includes a mission panel, file tree, tabbed editor, runtime execution, validation rules, run history, and restore or fork workflows. Around that core, the product adds focus mode, community discussions, learner profiles, notifications, and multi-tenant-aware platform operations, making it closer to a serious edtech platform than a basic LMS prototype.

Core Dependencies and Frameworks

The technology stack was selected to minimize operational overhead while maximizing developer velocity.

Core Framework

Next.js
The repository uses a modern app-structured frontend with next.config.ts and src-based routing organization.
React
Provides the component-driven interface layer for learning, sandbox, and dashboard surfaces.
TypeScript
Primary implementation language across product logic, frontend structure, and runtime behavior.

Frontend & Styling

Tailwind CSS
Tailwind and PostCSS configuration indicate a utility-first styling system for fast product development.
HTML & CSS
A significant portion of the repository is composed of rendered interface markup and styles.
JavaScript
Supports client-side behaviors and runtime-related logic in the sandbox experience.

Testing & Operations

Integration Tests
The repository contains tests for key verticals, including sandbox execution flows.
Operational Scripts
scripts/ is used for setup, seed/reset flows, and targeted backfill-style operations.
Node Runtime
The sandbox run system executes code through a node-based runtime path with timeout control.
Vercel
Deployment target for hosted previews and production delivery.

System Data Flow and Security Boundaries

The system is designed in discrete layers, establishing strict boundaries between the client, the server actions, and the database.

>User Roles
#The platform is built for learners first, while also implying support for instructors, curriculum operators, and community moderation through structured APIs, progress intelligence, and operational workflows.
>Curriculum Experience
#Handles structured course, module, lesson, quiz, and syllabus delivery with progression-aware learner flows.
>Playground Sandbox
#Provides a coding lab with mission checkpoints, file tree, editor tabs, preview, console, run history, and session lifecycle controls.
>Focus Mode
#Creates a deep-work environment with session timing, focus messaging, and persistent context while navigating.
>Sandbox Runtime Pipeline
#
>Platform Data Layer
#The README explicitly describes a multi-tenant-aware data model and APIs, supported by setup scripts, seed/reset workflows, and targeted operational maintenance tasks.

Source Code Organization

A predictable folder structure is critical for a solo developer to maintain velocity over time.

src
public
scripts
tests
integration
.env.example
README.md
next.config.ts
package.json
eslint.config.mjs
AGENTS.md

Database Schema Overview

curriculumOS is organized around a multi-tenant-aware education data model that treats curriculum delivery, code execution, learner progress, community participation, and projects as connected product domains. The design philosophy is not just to store lessons or quizzes, but to represent the full learner journey across content consumption, active practice, evaluation, submission, and growth tracking.

Zero-Trust Architecture

curriculumOS is organized around a multi-tenant-aware education data model that treats curriculum delivery, code execution, learner progress, community participation, and projects as connected product domains. The design philosophy is not just to store lessons or quizzes, but to represent the full learner journey across content consumption, active practice, evaluation, submission, and growth tracking.

Database Schema Overview

Curriculum Delivery

SCHEMA
courses
RLS
modules
RLS
lessons
RLS
quizzes
RLS
syllabi
RLS

Learner Progress

SCHEMA
enrollments
RLS
progress_snapshots
RLS
progress_events
RLS
quiz_attempts
RLS

Sandbox Runtime

SCHEMA
lab_sessions
RLS
session_files
RLS
run_logs
RLS
validation_rules
RLS
run_history
RLS

Community

SCHEMA
threads
RLS
comments
RLS
votes
RLS
tags
RLS
leaderboards
RLS

Projects & Identity

SCHEMA
projects
RLS
submissions
RLS
profiles
RLS
notifications
RLS
preferences
RLS

Migration Matrix

The platform explicitly separates curriculum entities such as courses, modules, lessons, quizzes, and syllabi, which supports structured content delivery rather than flat lesson pages.
The platform explicitly separates curriculum entities such as courses, modules, lessons, quizzes, and syllabi, which supports structured content delivery rather than flat lesson pages.
Learner tracking is modeled through enrollments, progress snapshots, and event streams, showing that analytics and progression were treated as system-level concerns from the start.
Learner tracking is modeled through enrollments, progress snapshots, and event streams, showing that analytics and progression were treated as system-level concerns from the start.
The sandbox data layer includes sessions, files, runs, and validation rules, which is a strong architectural choice because code execution history becomes part of the learning record instead of an isolated utility.
The sandbox data layer includes sessions, files, runs, and validation rules, which is a strong architectural choice because code execution history becomes part of the learning record instead of an isolated utility.

Mutation Layer

Mutations are handled through a combination of app-level APIs, runtime execution flows, and operational scripts that support both learner activity and platform management.

Server Action Modules
curriculum APIs
Serve and mutate course, module, lesson, quiz, and syllabus data across the structured learning experience.
progress tracking flows
Capture learner enrollments, progress snapshots, and event-stream updates as students move through the platform.
sandbox runtime actions
Create, save, fork, restore, and execute learner lab sessions with run, test, and check modes.
validation engine
Evaluates learner work using explicit rule types such as file_exists, file_includes, and file_regex, with fallback rule generation when needed.
community interactions
Handle thread creation, comments, votes, tags, and moderation-ready community workflows.
platform scripts
Support setup, seed/reset, and targeted data operations required to maintain multi-tenant platform state.

Visual Identity and Styling Rules

The design system focuses on clean and structured presentation, establishing a consistent brand identity.

Principles

  • Learner-first product design centered on clarity, momentum, and reduced friction.
  • A dashboard-style interface balanced with immersive coding lab surfaces.
  • Visual hierarchy that separates curriculum reading, code execution, and progress analytics cleanly.
  • Responsive educational UX with mobile support for key sandbox interactions.
  • Status-driven UI patterns that make run results, validation checks, and learner progress easy to understand.

Visual Identity Guidelines

System Indigo
#4F46E5
Primary action color for navigation, controls, and focus states.
Slate Dark
#0F172A
Core dark shell for runtime panels, navigation, and dashboard framing.
Surface White
#FFFFFF
Reading and form surfaces across curriculum and profile experiences.
Success Green
#16A34A
Validation passes, successful checks, and positive learner feedback.
Warning Amber
#F59E0B
Run-state warnings, incomplete tasks, and cautionary diagnostics.
Error Red
#DC2626
Failed checks, execution issues, and blocking validation feedback.

Typography Scale

Application Headings
600-700
Modern Sans-Serif
Used for dashboard headings, section titles, and module-level hierarchy.
Body / Curriculum Text
400-500
Readable Sans-Serif
Used for lesson content, explanations, learner guidance, and interface copy.
Code / Runtime UI
400-500
Monospace
Used in the file tree, editor-like surfaces, run logs, console output, and diagnostics.

Engineering Patterns

Architectural Trade-offs and Key Decisions

curriculumOS is a serious learner platform that turns curriculum, practice, execution, and progress tracking into one integrated educational system.