|
1 | | -# Niche Audio Prep |
| 1 | +# Graspful |
2 | 2 |
|
3 | | -White-labeled adaptive learning platform for professional certification exams. Audio instruction + mastery-based progression, powered by a knowledge graph. |
| 3 | +> Create adaptive learning courses with AI agents. Launch in minutes. |
4 | 4 |
|
5 | | -## What This Is |
| 5 | +## What Is Graspful? |
6 | 6 |
|
7 | | -Professionals in trades and regulated industries (firefighters, pilots, electricians, CDL drivers, real estate agents) need to memorize dense regulatory content to pass certification exams. They're on jobsites, in trucks, on shift -- they can't sit down and read a textbook. |
| 7 | +Graspful is an agent-first course creation platform. Courses are defined as YAML files with knowledge graphs, validated by schema, and imported via CLI or MCP server -- no UI clicking required. Agents (or humans) scaffold a course, fill in content concept by concept, run quality checks, and publish. The platform handles the rest: adaptive diagnostics, mastery-based progression, spaced repetition, white-label landing pages, and Stripe billing. |
8 | 8 |
|
9 | | -This platform delivers that content via audio, then verifies understanding through active practice. One codebase serves every niche. Adding a new certification = content + config, not code. |
| 9 | +## How It Works |
10 | 10 |
|
11 | | -## Guiding Principles |
| 11 | +1. **Scaffold** -- `graspful create course --topic "CKA Exam"` generates the knowledge graph skeleton |
| 12 | +2. **Fill** -- `graspful fill concept course.yaml networking` adds KPs and practice problems |
| 13 | +3. **Review** -- `graspful review course.yaml` runs 10 quality checks |
| 14 | +4. **Import** -- `graspful import course.yaml --org k8s-cert --publish` goes live |
| 15 | +5. **Brand** -- `graspful create brand --niche "Kubernetes"` generates the landing page |
12 | 16 |
|
13 | | -### 1. Identify what the student already knows |
14 | | -An adaptive diagnostic maps existing knowledge in 20-60 questions. No wasting time on material already mastered. |
| 17 | +Two YAMLs (course + brand) produce one live product with adaptive learning, spaced repetition, and Stripe billing. |
15 | 18 |
|
16 | | -### 2. Build a personal knowledge profile on a knowledge graph |
17 | | -Every course is a directed graph of concepts connected by prerequisite and encompassing edges. The student's diagnostic results overlay onto this graph, producing a personal map of what's known, partially known, and unknown. |
| 19 | +## Quick Start |
18 | 20 |
|
19 | | -### 3. Teach only at the knowledge frontier |
20 | | -The frontier is the boundary between known and unknown. The system teaches only concepts whose prerequisites are fully mastered. Every minute of study time is spent on exactly the right thing. |
| 21 | +```bash |
| 22 | +npx @graspful/cli init |
| 23 | +``` |
21 | 24 |
|
22 | | -### 4. Minimum effective dose of instruction + active practice |
23 | | -Each lesson cycles: short audio explanation, worked example, 2-3 practice problems. Students spend most of their time solving problems, not passively listening. |
| 25 | +Or install globally: |
24 | 26 |
|
25 | | -### 5. Enforce mastery relentlessly |
26 | | -Can't consistently solve problems? You don't advance. The system routes you to parallel learning paths, identifies the specific weak prerequisite, remediates it, then brings you back. |
| 27 | +```bash |
| 28 | +bun add -g @graspful/cli |
| 29 | +graspful login |
| 30 | +graspful create course --scaffold-only --topic "Your Topic" -o course.yaml |
| 31 | +``` |
27 | 32 |
|
28 | | -### 6. Spaced repetition + broad-coverage quizzes |
29 | | -Previously learned material decays. The system schedules reviews on an exponential spacing schedule and runs periodic timed quizzes across recent material. |
| 33 | +## Tech Stack |
30 | 34 |
|
31 | | -### 7. Review old stuff by learning new stuff |
32 | | -The key efficiency innovation. Advanced concepts implicitly practice their prerequisites as subskills. The system tracks this implicit repetition and credits it against the review schedule -- dramatically reducing explicit review burden. You advance by reviewing, not by going backwards. |
| 35 | +- **Backend:** NestJS, Prisma, PostgreSQL (Supabase-hosted) |
| 36 | +- **Frontend:** Next.js (App Router), React, Tailwind CSS, shadcn/ui |
| 37 | +- **CLI:** `@graspful/cli` (commander.js) |
| 38 | +- **MCP Server:** `@graspful/mcp` for AI agent integration |
| 39 | +- **Auth:** Supabase Auth (JWT) + API keys for agents |
| 40 | +- **Billing:** Stripe + Stripe Connect (70/30 revenue share) |
| 41 | +- **Monorepo:** Turborepo, bun |
33 | 42 |
|
34 | 43 | ## Architecture |
35 | 44 |
|
36 | | -- **Frontend:** Next.js 15, shadcn/ui, Tailwind -- single Vercel deployment, custom domains per niche, mobile-responsive |
37 | | -- **Backend:** NestJS (TypeScript), Prisma, Supabase -- DDD bounded contexts |
38 | | -- **Audio:** Kokoro TTS on Modal -- batch pre-generation |
39 | | -- **Adaptive Learning:** Knowledge graph + FIRe spaced repetition + mastery enforcement |
40 | | -- **Billing:** Stripe |
41 | | -- **Mobile:** Deferred (see [mobile-plan.md](docs/mobile-plan.md)) |
| 45 | +``` |
| 46 | +graspful/ |
| 47 | +├── apps/web/ # Next.js frontend |
| 48 | +├── backend/ # NestJS API |
| 49 | +├── packages/ |
| 50 | +│ ├── shared/ # Zod schemas, types, quality gate |
| 51 | +│ ├── cli/ # @graspful/cli |
| 52 | +│ └── mcp/ # @graspful/mcp server |
| 53 | +├── content/ |
| 54 | +│ ├── courses/ # Course YAML files |
| 55 | +│ ├── brands/ # Brand YAML files |
| 56 | +│ └── academies/ # Multi-course academy manifests |
| 57 | +└── docs/ # Documentation |
| 58 | +``` |
42 | 59 |
|
43 | | -## Docs |
| 60 | +## CLI Commands |
44 | 61 |
|
45 | | -| Document | What It Covers | |
46 | | -|----------|---------------| |
47 | | -| [PLAN.md](docs/PLAN.md) | Master plan, architecture overview, 13-phase execution roadmap | |
48 | | -| [adaptive-learning-architecture.md](docs/adaptive-learning-architecture.md) | Full adaptive learning system design -- knowledge graph, FIRe algorithm, diagnostic, mastery, DDD contexts, data model, API | |
49 | | -| [backend-plan.md](docs/backend-plan.md) | NestJS backend architecture, Prisma schema, API design, content pipeline | |
50 | | -| [frontend-plan.md](docs/frontend-plan.md) | Next.js frontend, white-label theming, audio player, 25 tasks | |
51 | | -| [white-label-architecture-research.md](docs/white-label-architecture-research.md) | 4 approaches to white-labeling, recommendation | |
52 | | -| [market-research.md](market-research.md) | 18+ niche markets analyzed, tier rankings | |
53 | | -| [mobile-plan.md](docs/mobile-plan.md) | React Native (Expo), offline audio, background playback, 25 tasks (Deferred) | |
| 62 | +| Command | Description | |
| 63 | +|---------|-------------| |
| 64 | +| `graspful create course` | Generate course YAML skeleton | |
| 65 | +| `graspful create brand` | Generate brand YAML with theme presets | |
| 66 | +| `graspful fill concept` | Add KPs and problems to a concept | |
| 67 | +| `graspful validate` | Offline schema + DAG validation | |
| 68 | +| `graspful review` | 10 mechanical quality checks | |
| 69 | +| `graspful describe` | Course statistics | |
| 70 | +| `graspful import` | Push YAML to Graspful instance | |
| 71 | +| `graspful publish` | Publish a draft course | |
| 72 | +| `graspful login` | Authenticate | |
54 | 73 |
|
55 | | -## Development Workflow |
| 74 | +## MCP Server |
56 | 75 |
|
57 | | -- Each phase is executed by a separate Claude Code agent |
58 | | -- Workflow: `/writing-plans` to create detailed specs, then `/subagent-driven-development` or `/executing-plans` to build |
59 | | -- All phases use TDD with two-stage review |
60 | | -- Status tracked per phase in [PLAN.md](docs/PLAN.md) |
| 76 | +For AI agent integration (Claude Code, Cursor, Codex): |
61 | 77 |
|
62 | | -## Inspired By |
| 78 | +```bash |
| 79 | +npx @graspful/cli init # Auto-configures MCP for your editor |
| 80 | +``` |
63 | 81 |
|
64 | | -The adaptive learning system is heavily inspired by [Math Academy](https://mathacademy.com) and Justin Skycak's published research on knowledge graphs, mastery-based learning, and the Fractional Implicit Repetition (FIRe) algorithm. See the [adaptive learning doc](docs/adaptive-learning-architecture.md#16-key-sources--further-reading) for all sources. |
| 82 | +Or manually add to your MCP config: |
| 83 | + |
| 84 | +```json |
| 85 | +{ |
| 86 | + "mcpServers": { |
| 87 | + "graspful": { |
| 88 | + "command": "npx", |
| 89 | + "args": ["@graspful/mcp"] |
| 90 | + } |
| 91 | + } |
| 92 | +} |
| 93 | +``` |
| 94 | + |
| 95 | +## Development |
| 96 | + |
| 97 | +```bash |
| 98 | +# Install dependencies |
| 99 | +bun install |
| 100 | + |
| 101 | +# Start development servers |
| 102 | +bun run dev |
| 103 | + |
| 104 | +# Backend (port 3000) |
| 105 | +cd backend && bun run dev |
| 106 | + |
| 107 | +# Frontend (port 3001) |
| 108 | +cd apps/web && bun run dev |
| 109 | + |
| 110 | +# Build |
| 111 | +bun run build |
| 112 | + |
| 113 | +# Test |
| 114 | +bun run test |
| 115 | + |
| 116 | +# E2E tests |
| 117 | +cd apps/web && npx playwright test |
| 118 | +``` |
| 119 | + |
| 120 | +## Revenue Model |
| 121 | + |
| 122 | +70/30 revenue share (Apple model): |
| 123 | + |
| 124 | +- Free to create and publish courses |
| 125 | +- When learners subscribe, Graspful collects payment |
| 126 | +- Graspful keeps 30%, creator receives 70% via Stripe Connect |
| 127 | +- No upfront cost, no monthly platform fee |
| 128 | + |
| 129 | +## Documentation |
| 130 | + |
| 131 | +- [Adding a Course](docs/adding-a-course.md) -- Step-by-step course creation guide |
| 132 | +- [Course Review Gate](docs/course-review-gate.md) -- Quality checks and review specification |
| 133 | +- [CLI Agent Strategy](docs/cli-agent-strategy.md) -- Full platform strategy and architecture |
| 134 | +- [Content Guide](content/README.md) -- YAML schema reference and authoring guidelines |
| 135 | + |
| 136 | +## License |
| 137 | + |
| 138 | +Private |
0 commit comments