INVARIANT
WATCH IT RUN · THEN RUN IT FROM MEMORY
30 DECKS · 25 LIVE · STEP 01 → 18

Watch it run.Then run it from memory.

Every algorithm animates one step at a time — then asks you to predict the next step before it shows you. Solve it, rate it, and it comes back on a spaced schedule.

BFS ·
01

Learn the Basics

Call-stack ladder + constraint ladder
The operations budget · digit arithmetic · the √n bound · Euclid · recursion's two obligations · counting
12 PROBLEMS · OPEN →
02

Sorting Techniques

Bar-array animator
Selection · bubble · insertion · merge · quick · heap · counting · radix · shell
10 PROBLEMS · OPEN →
03

Arrays · Easy + Medium

Array track + index cursors
Write pointer · XOR · hashing · Dutch flag · voting · Kadane · matrices · prefix sums
18 PROBLEMS · OPEN →
03

Arrays · Hard

Array track + index cursors
k-Sum · voting at n/3 · merge-counting · interval sweep · max product
8 PROBLEMS · OPEN →
04

Binary Search · On the Array

lo/mid/hi collapse
invariant · lower/upper bound · first-last · rotated · find-min · peak · 2D matrix … & more
11 PROBLEMS · OPEN →
04

Binary Search · On the Answer

lo/mid/hi collapse
sqrt · koko · bouquets · divisor · ship · kth-missing · split · median
8 PROBLEMS · OPEN →
05

Strings

Char track + frequency panel
parsing · two-pointer palindromes · frequency · words · mapping … & more
15 PROBLEMS · OPEN →
06

Linked List · Fundamentals

Node boxes, re-routing arrows
node & pointer · traverse · insert/delete · doubly · reverse DLL
1 PROBLEMS · OPEN →
06

Linked List · Medium

Node boxes, re-routing arrows
middle · reverse · Floyd cycle · palindrome · remove Nth · intersection · add two
10 PROBLEMS · OPEN →
06

Linked List · Hard + Mediums

Node boxes, re-routing arrows
merge two/k · sort list · reverse k-group · rotate · copy random · LRU
7 PROBLEMS · OPEN →
07

Recursion · Fundamentals + Backtracking

Recursion tree + call stack
Fast power · subsets · combination sum · permutations
11 PROBLEMS · OPEN →
07

Recursion · Hard Backtracking

Recursion tree + call stack
Palindrome partition · word search · N-Queens · Sudoku
5 PROBLEMS · OPEN →
08

Bit Manipulation

32-cell bit strip
Read/set/clear/toggle · Kernighan count · bitmask power set · XOR family · divide by shifts · sieve · fast pow
16 PROBLEMS · OPEN →
09

Stacks & Queues

Monotonic-stack walk
COMING SOON
10

Sliding Window & Two Pointer

Dual pointers + window shade
Four templates · constant window · longest variable window · atMost(k) counting · shortest covering window
12 PROBLEMS · OPEN →
11

Heaps

Heap tree + array mirror
COMING SOON
12

Greedy Algorithms

Interval timeline
COMING SOON
13

Binary Trees · Representation & Traversals

SVG tree + traversal numbering
Node/pointers · pre/in/postorder · level-order BFS … & more
4 PROBLEMS · OPEN →
13

Binary Trees · Properties, Views & Paths

SVG tree + traversal numbering
Bottom-up postorder (depth · diameter · max path sum) · same/symmetric/invert · level views (zig-zag, right, vertical, width) · path sums · LCA · distance-K
18 PROBLEMS · OPEN →
13

Binary Trees · Construction & Tree DP

SVG tree + traversal numbering
Count complete O(log²n) · flatten O(1) · reconstruct from pre+in / in+post · serialize · Morris · tree DP (House Robber III, Cameras)
7 PROBLEMS · OPEN →
14

Binary Search Trees

Search path + restructure
The invariant over subtrees · search, min and max · ceil & floor · insert · delete's three cases · kth smallest · validate with a window · LCA · build from preorder · successor · the pausable iterator · merge · two-sum · recover · largest BST subtree
16 PROBLEMS · OPEN →
15

Graphs · Traversal

Graph canvas + state panel
BFS · DFS · cycle detection · bipartite · topological sort
26 PROBLEMS · OPEN →
15

Graphs · Shortest Paths

Graph canvas + state panel
Dijkstra · Bellman-Ford · Floyd-Warshall
13 PROBLEMS · OPEN →
15

Graphs · MST · DSU · SCC

Graph canvas + state panel
Prim · Kruskal · disjoint set · Kosaraju · Tarjan
13 PROBLEMS · OPEN →
16

Dynamic Programming · Foundations

4-step ladder + DP table filler
Memoize → tabulate → space-optimise · 1D recurrences (stairs, frog jump, pick/not-pick, circular) · the 2D turn · DP on grids (count → optimise → free endpoints) · 3D with two walkers
12 PROBLEMS · OPEN →
16

Dynamic Programming · Subsequences

4-step ladder + DP table filler
Subset sum · equal partition · minimum difference · counting subsets · partitions by difference · 0/1 and unbounded knapsack · coin change I and II · target sum · rod cutting
11 PROBLEMS · OPEN →
16

Dynamic Programming · Strings & Stocks

4-step ladder + DP table filler
LCS and its reconstruction · common substring · palindromic subsequences · insert/delete counts · shortest common supersequence · distinct subsequences · edit distance · wildcard matching · all six buy-and-sell-stock problems
16 PROBLEMS · OPEN →
16

Dynamic Programming · LIS & Partition

4-step ladder + DP table filler
LIS four ways including the O(n log n) binary search · divisible subsets · string chains · bitonic · counting LIS · matrix chain multiplication · cutting sticks · burst balloons · boolean parenthesisation · palindrome partitioning · maximal rectangle · counting squares
16 PROBLEMS · OPEN →
17

Tries

Trie growth on insert
COMING SOON
18

Strings (Advanced)

KMP prefix-function builder
COMING SOON
or AD · drag · scroll
■ REQUEST REFUSED
1280×720
FIXED STAGE · NOT RESPONSIVE BY DESIGN

Open this on a laptop

Every deck is a fixed 1280 × 720 stage — hand-built animated visualisers, code mirrored beside the graph, problems laid out two columns wide. It scales as one piece, so on this screen the body text would land at about 4px.

That is not worth shipping to you, so we are not going to pretend otherwise.

THIS SCREEN0 × 0
NEEDED≥ 1060 × 610
WHAT IS WAITING FOR YOU
INVARIANT · WATCH IT RUN · THEN RUN IT FROM MEMORY