Skip to content

Course: from zero to a t27 program on a chip, 27 lessons built on the widgets #1414

Closed

Description

@gHashTag

Goal

A free, step-by-step course at t27.ai/#/course for people who have never touched hardware: how a chip works, how to write a program for it in t27, and how the t27c compiler (and the native t27b backend) turns a spec into a bitstream on a real XC7A200T.

Shape

  • 27 lessons in 9 modules of 3. Every lesson teaches one topic and is built around one widget from the WIDGETS gallery (specs/widgets/gallery.t27); every one of the 40 widgets appears in the course, either as a lesson's main widget or in its "also try" row.
  • The course is orchestrated by a .t27 spec only. specs/course/course.t27 holds the module and lesson order, every word in English and Russian, the widget each lesson embeds, and test blocks for its shape. scripts/course-from-spec.mjs compiles it with the wasm compiler, runs its tests, checks every widget id against the gallery spec, and writes src/lib/course.generated.ts. No lesson text lives in TSX.
  • Pure black page, no green backgrounds or glows (owner, 2026-10-05).
  • Bilingual: EN and RU, switched by the site's language button.

Acceptance

  • node scripts/course-from-spec.mjs --check passes in website-checks; a widget id missing from the gallery, a lesson without RU text, or a gallery widget not used anywhere fails it.
  • #/course shows the module map; #/course/<lesson-id> shows one lesson with its widget embedded (?embed=1), prev/next, and works at 375 px.
  • The previous paid-course page stays reachable from the course.
  • Live on t27.ai after the apex publish run passes.

Boundary

Words and numbers come from the spec and from the widget pages; nothing is posted outward.

Activity

  1. added a commit that references this issue on Oct 5, 2026
    5911c8a
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions