Skip to main content
This is the canonical Hawkings workflow. You hand us a brief; we hand you back a course with units, lessons, learning objectives, reading material, and activities. End-to-end it takes ~3 minutes of compute. The code below shows what to call and how to pace it.

What you’ll build

By the end of this guide you’ll have:
  • A Course with a generated syllabus.
  • A Cohort with all lessons materialised.
  • AI-generated reading content for each lesson.
  • A mix of activities (quizzes, flashcards, explainers) for each lesson.
  • An assignment with an AI rubric on the final lesson.

1. Create the course

courses.create() returns immediately. The course is status: "draft" until you generate or attach a syllabus.

2. Generate the syllabus

Wait for it to finish:
A default Cohort was created automatically. Lessons live on the cohort, not on the course — see Courses vs. Cohorts.

3. Generate reading content

For each lesson, ask the AI to write a long-form HTML reading:
If you’d rather generate everything at once instead of per-lesson:
That’s a single call, fans out internally, and is what we recommend in production.

4. Generate activities

Now every lesson has 5 activities.

5. Add an assignment to the final lesson

6. Verify

You’re done. Enrol students with cohorts.create({ student_emails }), or export to SCORM for an external LMS.

Same thing, in one go

For prototypes and demos:

Cost & runtime

Roughly: a 12-hour course → ~10 lessons → ~$2.50 in AI costs and ~3 minutes wall-clock on shared infrastructure. See your dashboard for exact unit prices.

What’s next

Build an AI tutor

Add a per-lesson tutor chat.

Export to SCORM

Hand the course to any LMS.

Sync students from your LMS

Bring your existing roster.

Grade an open-ended answer

Wire AI grading + human review.