TITLE Everyone in Ostrava-under-Hill PROMPT A unit-chart data visualization of an invented village of exactly 300 people, "Ostrava-under-Hill". Every resident is one dot, generated in the page from a seeded random model with a name, age, household, occupation, street, how long they have lived there, whether they sing in the choir, and who their best friend is. The viewer asks the village questions and the same 300 dots rearrange to answer. Concept: statistics that never stop being people. Mood: warm, humane, lightly humorous; a parish newsletter drawn by an information designer. Palette: cream #FFF9F0 page, charcoal #2F2F2F text, and four pastel-strong category hues: coral #EF767A, slate blue #456990, mint teal #49BEAA, wheat gold #EEB868, with a pale grey #D9D4CC for de-emphasised dots. Light, pastel, with a faint paper grain. Data model (clearly fictional, internally consistent): age distribution with 75 children, 135 working-age adults and 90 elderly (one newborn only days old); 113 households on six named streets (Mill Lane, Upper Row, The Shambles, Chapel Street, Goose Green, Station Approach); occupations with charming specificity (11 farmers, 4 teachers, 1 bell-ringer, 2 bakers who are rivals, a retired lighthouse keeper far from any sea, 23 commuters, 61 schoolchildren, a vicar, the staff of the Drowned Goose, the creamery, etc., 19 groups in all); 34 choir members (10 sopranos, 9 altos, 7 tenors, 8 basses); arrival years with a bump in 1974 "when the creamery opened" and one family who arrived last month; friendships as links, biased towards the same street and similar age. Views (each a layout of the same dots, chosen from a list of plain-language questions set as large clickable sentences): "Who lives here?" (a loose organic cluster of packed circles, households kept together, with six hand-ruled call-outs: the oldest, the newest, the bell-ringer, the lighthouse keeper, a baker and, on the opposite side, the other baker); "How old are we?" (a population pyramid built from stacked dots in five-year bands, women left, men right, coloured by generation); "What do we do all day?" (grouped clusters with labels and counts, sorted by size); "Where do we live?" (a little schematic map of the six streets with households as tight clumps of dots along them, and the river, church, hill, mill, railway and goose green drawn in thin lines); "How long have we been here?" (a beeswarm along a timeline of arrival year, from born-here elders to last month's newcomers); "Who sings?" (choir members rise into four curved rows, soprano/alto/tenor/bass, everyone else greys out below as the audience in pews with an aisle); "Who is whose best friend?" (dots arranged on a ring grouped by street, with street names set along the arc and curved links; mutual best friends in coral, unrequited in grey, and a count of each). Signature moment: the transitions. On changing question, every dot travels to its new position along a slightly curved path with individual delays based on its household (so families move together, in a wave ordered by destination), spring-settling with a tiny overshoot, taking about 1.4s in total; the headline number counts up/down, and axis lines, map lines, links and labels draw in afterwards. Implemented on Canvas with a hit-test grid for hover. On load the dots rain into the first cluster. Interaction: hover/tap a dot to meet the person: the dot enlarges with a ring, and a small card gives a name and one-line story assembled from their attributes with wit ("Agnieszka Dvořák, 71. Mill Lane. Retired postmistress, alto. Has lived here 71 years and has opinions about all of them."), plus their best friend and whether it is mutual, while their household members and best friend are highlighted with thin connecting lines in any view. Click to pin a person and follow them through every view (their dot keeps a ring). Arrow keys on the focused chart step through residents; Enter pins, Escape lets go. A search-by-name field with custom styling (accent-insensitive, with a small results list; matches stay bright while everyone else fades). A small "re-roll the village" control regenerates with a new seed, shown as the village number. Typography: questions in a large friendly serif (Georgia/Palatino) with the active one in bold and underlined by a hand-drawn SVG stroke; big tabular numerals for the answer ("34 of us sing") with a supporting line beneath; annotations in a small humanist sans ("Gill Sans"/"Trebuchet MS" stack). Layout: left column of masthead, questions, search and re-roll; right the answer, legend, chart and insight; stacked on phones with questions as a horizontally scrollable strip inside its own container. Each view has one written insight sentence beneath it, generated from the data ("The oldest person on Goose Green is 94; the youngest is eleven days old. They are neighbours."). Reduced motion: dots cross-fade to new positions and numbers change at once. DESCRIPTION A parish census drawn as a single sheet of cream paper: on the left, a small masthead and seven questions set as large serif sentences; on the right, one enormous numeral, a phrase that completes it, and three hundred coloured dots that are, each of them, somebody. The dots rain in and settle into a packed cluster of households; ask another question and every family lifts off together, arcs across the page and springs into place as a population pyramid, nineteen clusters of occupation, a hand-ruled map of six streets under a hill, a beeswarm of arrival years, a choir on its risers above a grey audience, or a ring of friendships. The headline counts to its new value, the rules and labels draw themselves in, and a sentence written from the data sits underneath, dry and affectionate. Hovering any dot produces a little card with a name, an age and a one-line life; pinning it lets you follow one person through every statistic they belong to. VISUAL TECHNIQUES - Single 2D canvas rendering 300 dots with per-dot position, radius, colour and outline interpolation, DPR-aware (capped at 2), drawn only when something changes - Transitions along individual quadratic Bezier paths driven by an analytic under-damped spring (about 4% overshoot), with delays ordered household by household according to destination - Rain-in entrance with gravity easing and a small bounce; cross-fade variant for reduced motion - Seeded generator (mulberry32) building households, ages, sexes, names, streets, occupations, arrival years, choir voices and best-friend links with exact quotas - Packed-circle cluster from a small collision/cohesion relaxation that keeps households adjacent; phyllotaxis clumps for occupations and households - Dot-stacked population pyramid, flow-packed occupation clusters sized to fit, beeswarm with collision search and auto-fitted radius, pew grid with aisle, staggered double ring with curved chords - Schematic map from Catmull-Rom curves with a slight hand wobble: streets, river, railway with sleepers, hill contours, church, station, mill wheel and geese, all drawn in thin lines - Progressive "draw-in" of every rule, axis, leader line, link and label via partial polyline stroking and staggered fades - Text set along a circular arc for street names on the friendship ring; haloed labels on the map - Spatial hash grid for hit-testing; highlight layer with rings, household lines and a dashed or solid coral friend curve - Hand-drawn SVG underlines revealed with clip-path, hand-ruled search line, drawn die and masthead vignette, SVG turbulence paper grain - Count-up tabular numerals, cross-faded headline, legend and generated insight sentence INTERACTION MODEL Choose any of the seven questions (click, tap or keyboard) and the same 300 dots travel to a new arrangement while the headline number counts to its new value and the annotations draw in. Hover a dot with a mouse to enlarge it, dim the rest, draw thin lines to its household and a coral curve to its best friend, and show a card with that person's name, age, street, occupation, time in the village and friendship; click (or tap on touch screens) to pin the person so their ringed dot and card follow through every view, and click the dot again or empty space to let go. With the chart focused, arrow keys step through residents, Enter pins and Escape clears. Typing in "Find a neighbour" fades everyone who does not match and lists up to six matches; Enter, arrow keys or a click selects one and pins them. "Re-roll the village" generates a new village from a new seed, and the dots rearrange into it in the current view. On phones the questions become a horizontally scrolling strip and the chart keeps vertical page scrolling free.