George KhayatSoftware Engineer
07The Lab — 7 working experiments

The Lab

The bench where things get built to be understood. Every experiment here runs live in your browser — nothing is a video, nothing is faked. Each one only computes while it's on screen.

LAB-01·GPU simulation

Reaction–Diffusion

A Gray–Scott chemical system solved on the GPU. Paint reagent with the pointer and watch structure emerge.

Demonstrates — Ping-pong framebuffers, fragment-shader PDE integration, emergent patterns from two local rules.

WebGL2 · GLSL · TypeScript

Mounting experiment…

LAB-02·Agent simulation

Flocking

Reynolds boids — separation, alignment, cohesion — with a spatial hash so hundreds of agents stay at 60 fps.

Demonstrates — Spatial partitioning, steering behaviours, tunable emergent behaviour.

Canvas 2D · TypeScript

Mounting experiment…

LAB-03·Algorithm visualizer

Pathfinding

Draw walls, move the endpoints, and race BFS, DFS, Dijkstra and A* across the same grid.

Demonstrates — Graph search, heuristics, frontier management, why A* expands fewer nodes.

Canvas 2D · TypeScript

Mounting experiment…

LAB-04·Algorithm visualizer

Sorting

Five sorting algorithms stepped one comparison at a time, with live comparison and write counters.

Demonstrates — Generators as resumable algorithms; O(n²) vs O(n log n) made visible.

Canvas 2D · TypeScript

Mounting experiment…

LAB-05·Machine learning

Tiny Neural Network

A small multilayer perceptron learning a 2-D classification problem in real time, trained from scratch in the browser.

Demonstrates — Forward pass, backpropagation, gradient descent, decision boundaries.

TypeScript · Canvas 2D

Mounting experiment…

LAB-06·Automata

DFA Minimization

A web re-implementation of GK-005: step through Hopcroft's partition refinement and watch equivalent states merge.

Demonstrates — Partition refinement, splitter worklists, language-preserving state reduction.

TypeScript · SVG

Related artifact — GK-005 DFA Minimization →
Mounting experiment…

LAB-07·Cryptanalysis

Cipher Bench

Encrypt with a Caesar or Vigenère cipher, then crack it with chi-squared frequency analysis — live.

Demonstrates — Letter-frequency statistics, key search, why classical ciphers fail.

TypeScript

Related artifact — GK-006 Cryptography Toolkit →
Mounting experiment…