← Experiments

Celebrity Golf(experiment)

Connect two film people by naming movies — scored like golf.

Six degrees of Kevin Bacon as a golf course: each hole is a pair of people (Ryan Gosling → Harrison Ford), every film you name is a stroke. Free-shot play: name a film, see what links opened, consult the course map read-only. Difficulty comes from long paths through familiar names. → Par Is a Graph PropertyOffline validation

The graph, and how to check a shot

Four IMDb TSV dumps → 45,904 films, 218,793 people, 598,198 typed edges. Filters: movies only, ≥1,000 votes, ≥1930, cast capped at ten, crew limited to directors / composers / cinematographers, films with fewer than two people dropped. Distance is person-to-person BFS; depth counts films named: (len + 1) / 2 converts chain length to strokes.

Shipped nine-hole course uses a smaller US-language board: 6,081 films, 79,639 edges — every connector is something a player might name.

Hole generation: ace check via shared films, list shortest co-star chains (capped at ten per route), add one crew-typed route when ≤ co-star length. validChains is the source of truth and ships in the bundle — nine holes, 71 KB total, typical hole under 8 KB. Named film either advances surviving chains or doesn’t. Larger per-hole JSON under public/moves/ (48–273 KB) is typeahead only, lazy-loaded — scoring never reads it.

Difficulty dial is the endpoint pool: people ranked by summed film votes (at least five films). Over 1,000 random pairs: top-1,000 → 848 connect in two strokes; top-5,000 splits twos/threes; top-20,000 majority threes with 186 at four-plus.