How a thirty-year-old community lost its home, got a new one in six days, and came back bigger than ever.
These figures are queried live from the board's database every time this page loads — this page is served by the same $7 server it describes. 51 days live, zero data lost.
Daily pageviews, most recent 14 days — drawn from the live traffic table at page load.
Since 1995 — before Google existed — a few hundred Michigan fans have argued about football on a message board that still looks the way the internet did then. Threaded replies, handles, an asterisk in the subject line when the subject is the whole post. Marriages, kids, jobs, and national championships all got announced there. One member found it via Ask Jeeves. Another wrote a book about it.
In the summer of 2026 the free service hosting it crashed and never came back. No warning, no export, no support — the host's own help forum had been dead for years. Thirty years of community suddenly had no address.
The community predates its every address. It began on a fan-run recruiting board in 1995, moved to the beloved “VV board” in 1996 (famous for showing whole posts without a click), became The Victors around 1999, and rode a free 1998-era host for decades after that — through outages, ads, and neglect — because moving felt impossible.
The 2026 crash forced the question. The answer, this time, was an address the community owns. When the new board ran a roll call, members dated themselves to every era back to 1995 — and the founder of the 1996 board showed up in the thread, to a chorus of “long time no see.”
Nick Coston — not a developer, not the admin, not even an elder; a member since 2017 and one of the board's youngest — rebuilt it in six evenings, directing AI tools (Claude Code) the way an architect directs a construction crew: deciding what to build, reviewing everything against the community's thirty years of instinct, and testing on the toughest QA department in existence — the members themselves, live.
The admin title came afterward, the old-fashioned way: he built the place, so he holds the keys.
The design brief was one sentence: keep everything the community loved, fix everything the old host wouldn't. The 1998 look stayed. The threads, handles, and asterisk culture stayed. Underneath: photo and video posting, polls, score-prediction games with a leaderboard, a live college scoreboard, an ephemeral chat room, a member-voted Hall of Fame, cross-device read tracking, moderation tools, privacy-preserving analytics, and nightly tested backups — so no crash can ever take the community's history again.
A football board is only as good as it is on a Saturday.
The Scores board carries a live scoreboard for all of college football — every game in the top division, not just Michigan's, refreshed from the wire and with rules about when a game is finished enough to leave the page. On game day the whole board changes: a banner, a waving flag, the marching band's pregame one tap away.
The week's pick 'em thread is posted by Skeeps, a reserved account that is not a person. It goes up on Monday so there is a week to think about it, locks itself at kickoff, counts the picks — including the ones left the old-fashioned way, as replies — and posts the standings when the game is over.
The scoring rule was not designed. It was remembered: closest to the final total, win or lose, which is how this board has always done it. A member corrected the first version from memory and the correction shipped that afternoon. The board also tracks Slippery Rock, a Division II school in Pennsylvania, for reasons every Michigan fan understands and nobody else ever will.
Six weeks in, the members stopped asking for features and started asking for toys.
So the board grew two games of its own. Victard Bowl is a pixel football game — Michigan's real schedule, twelve weeks, you call the plays and you can take the field on defense too. Stadium Guesser drops you in front of a college football stadium and asks you to find it on a map of the lower 48; 135 of them, scored on how many miles you were off.
Neither one phones anywhere. The football game is a canvas and a few hundred lines of JavaScript. The map is not a mapping service — it is public-domain census outlines projected once at build time, so there is no key to buy, no bill to run up, and nothing to break when somebody else's service changes. Both keep leaderboards on the board itself, and the house robot posts the standings to the Scores page once a month.
304 games played so far. On a message board.
Real communities generate real production incidents. A selection, each diagnosed and fixed in hours — usually before most members noticed:
Phone cameras store orientation as metadata; the upload compressor was stripping it without applying it.
Fix: apply orientation before resizing. Every phone photo since lands right-side up.
Year-long login sessions meant a reset password couldn't kick a problem user's existing logins.
Fix: per-account session tokens, rotated on reset — every live session dies instantly, on every device.
The traffic counter was counting the CDN's relay addresses as people.
Fix: read the real client address from the CDN header. Honest numbers overnight; the analytics stayed anonymous throughout.
Two overlapping refresh requests could each draw the same new messages — a classic race, surfacing only when the room got busy.
Fix: client-side dedupe by message id, one refresh in flight at a time.
The first nightly-snapshot implementation ran inside an open database transaction — a deadlock that would fire on the first pageview of every new day.
Fix: caught before it ever shipped, by an actual restore drill. Untested backups are hope; these are tested.
Modern phone cameras produce files that decode to roughly 150MB of raw pixels. Two members uploading at once on game day was enough to walk the instance into its memory ceiling and restart it.
Fix: decode at reduced scale rather than full size, rotate after shrinking instead of before, and allow only two decodes at a time. The ceiling stopped being reachable.
Illinois and Indiana were both handed a photograph of Nebraska's stadium. Four schools call their ground Memorial Stadium, and the lookup was keyed by the stadium's name — so all four shared one slot and overwrote each other.
Fix: key by the school, and stop trusting names altogether. Every photograph is now checked against the stadium's real coordinates and rejected if it sits more than 25 miles away. Champaign to Lincoln is 450.
“Here, I realized at that moment, are my people. And, nearly a quarter of a century later, I'm still there.”
“Thank you for everything you've done. I know I speak for many in saying we'd like to help pay for this.”
“This redesign has generally been fantastic.”
“You're going to need Jira.”
“I would like my ampersand back.”
One Python file — 3,534
lines as of this page load — plus SQLite, plain HTML
templates, and one small CSS file. No framework churn, no build step, no
JavaScript beyond what the chat and scoreboard genuinely need. It runs on
a single $7/month server with a persistent disk, behind a
CDN, deploying automatically on every push.
The code was written by AI (Claude Code) under direction; every feature was specified, reviewed, and accepted by a human who knows the community — then tested by 350 people who don't file bug reports so much as post them publicly with jokes attached. Feature requests routinely shipped the same afternoon they were posted, which the members found funnier than the features.
The engineering turned out to be the easy half. The hard half was twenty-five years in the making: knowing what a community needs, what it will reject, and when to say no — then saying yes fast to everything else.
AI didn't replace a developer here. It let a community person become the architect — social and engineering, both halves.