LVL 01SK
Project overview
SYSTEM ARCHITECTURE

Build Your Own teenygrad

Follow the data, decisions, feedback, and validation boundaries before writing the full system.

Build Your Own teenygrad first-principles architecture infographic

How to read this diagram

Read left to right for the forward path: raw information becomes a representation, passes through the project’s main computational ideas, and produces an output that can be measured. Then follow the feedback path back toward the trainable or decision-making components.

01

Computation graphs

Computation graphs defines one of the project’s main information transformations. Understand its input representation, objective, numerical invariants, computational cost, and failure modes before relying on a library implementation.

Boundary check: document its accepted input, output shape, mutable state, failure modes, and the metric that proves this stage is correct before connecting it downstream.

02

Reverse mode

Reverse-mode automatic differentiation records primitive operations and local derivative rules, then traverses the graph backward while accumulating gradients from every downstream path. Broadcasting must be reversed by summing expanded axes.

Boundary check: document its accepted input, output shape, mutable state, failure modes, and the metric that proves this stage is correct before connecting it downstream.

03

Lazy execution

Lazy execution records operations before materializing results. This enables fusion and scheduling, but requires explicit realization boundaries, shape inference, cache invalidation, and a clear policy for side effects.

Boundary check: document its accepted input, output shape, mutable state, failure modes, and the metric that proves this stage is correct before connecting it downstream.

Architecture review checklist

  • Every arrow has a documented shape, dtype, unit, or schema.
  • Training and evaluation paths cannot leak information into each other.
  • Randomness is seeded and captured in experiment metadata.
  • Expensive stages expose timing, memory, throughput, and error metrics.
  • Each feedback loop has a stop condition and a rollback strategy.
  • Small reference implementations exist for numerical comparisons.