Start a duel from Discord with /duel. Pick two rides as you type, and the bot posts them in the channel for everyone to vote on with a tap. The result goes up when it closes.
Tap a rank in a filtered leaderboard to see that row in place on the full board, with its neighbours either side. Back returns you to your search.
A ride's page shows its rank on the all-time board and its placing in its round. Tap either to open that board at the ride's row.
Share buttons on ride, round and contest pages. On a phone it opens the share sheet; on a computer it copies the link.
Improved
Your pick is marked Voted the moment you make it, and the next pair follows in under half a second instead of waiting on the server. If a vote doesn't go through, a note says so.
The /vote panel in Discord shows the two rides one above the other, so each photo spans a phone's width, and the vote buttons sit on one line instead of wrapping.
Voting in Discord moves on to the next pair about a second sooner, because the photo of the two rides is drawn several times faster.
A tap on a vote or a contest rating in Discord shows at once: your pick stays lit, the other buttons grey out, and a line says the next one is on its way.
The Discord vote and contest panels stay the same height as you tap through. The line under the buttons is there from the start and always fits on one line on a phone.
Ride of the Month pairs in Discord come up quicker after your first few votes, because each entrant's photo is prepared once instead of on every tap.
Searching, filtering or re-sorting a leaderboard no longer renumbers it. Each row keeps its rank on the full board, and a second column counts its place in the list you're looking at.
Calmer cards on ride and profile pages. Records, rivalries, achievements and the crowd score sit on the same plain panels as the rest of the site, with colour kept to the labels.
Profiles are about half as long. Level joins the header, voting habits fit one grid of short tiles, and predictions and achievements are compact lists.
Your voter twin and most-opposite voter open a side-by-side comparison, where the picks you agreed and split on are listed.
Recent matchups on a ride's page show each opponent's photo and owner, which vote it was and when, under a strip of the last 48 results.
Links to a model line, the changelog, the live leaderboard, Standoffs, Guess the vote and How it works get a Discord preview of their own instead of the home page's.
Ride previews show the ride's round result, Form, Record and all-time rank. Profile previews show the person's own avatar and what kind of voter they are.
Guess the vote and Standoffs are off the Head-to-head menu for now. They'll return once they play as smoothly as the main vote, on a phone and from the keyboard.
Fixed
A ride's toughest opponent is now one it has a losing record against, and its favorite matchup one it's winning. A ride that went 3–0 against a rival no longer calls it the toughest.
A ride in the open round showed 0 for every recent matchup. Each one now shows the points it moved in the round.
Sorting a leaderboard by its 24h column puts the biggest gains first, or the biggest drops when flipped, instead of mixing rises and falls by size. The Movers chip still ranks by size.
Previews of Discord-era rounds put three random entrants on the podium. They now show the round's recorded winner, and rounds with no recorded result show no medals.
Discord previews stay current. A link used to show its picture from the first time anyone posted it; now it refreshes daily, and a contest or duel link updates the moment it changes phase.
A page's title and the line under it no longer drop a few pixels when a leaderboard or list finishes loading.
A contest can pause between entries closing and voting opening, so staff can disable anything that shouldn't go to a vote. The contest page says when voting opens, and the vote starts on its date either way.
Staff get a curation page for each contest: go through the entries one at a time from the keyboard, or scan them all as a grid, and disable or enable any with a click. Nothing is ever deleted.
A contest's curators are DMed a link when entries close, and whoever sets the contest up is always one of them.
When entries close into a curation period, the contest channel says so and when voting opens, rather than leaving the last call up as the latest word.
Contest links unfurl with the contest's own card: its stages and dates while it runs, and the winning photo once it's decided, instead of the Ride of the Month podium.
Vote without leaving Discord: /vote opens a private panel for Ride of the Month or all-time, and anyone in the TCC server can use it, no sign-in needed.
Ratings logic
Who can vote: being in the TCC server, which Discord vouches for, is enough without a site account. Weights, caps and the entrant rule are the site's own; nothing was recomputed.
Rate photo contest entries without leaving Discord: tap the button on the voting post, run /vote in the contest's channel, or pick the contest from the /vote panel. No sign-in needed.
Ratings logic
Who can rate contest photos: being in the TCC server is enough without a site account, and those ratings move onto your profile if you sign in later. Scoring is unchanged.
Improved
If staff disable your entry, the contest page tells you — with their reason, if they gave one — and it can be enabled again just as easily.
Setting up a contest shows how long entries, curation and voting each run, and flags a curation window under three days with a one-click fix.
The contest form goes step by step, shows each date in your own time zone as well as UTC, fills the link in from the theme, and ends with every post and DM the bot will send, and when.
Contest posts and staff DMs get a proper layout: what's happening in a small line on top, the contest's name as a heading, steps as a list, and the @Events ping last.
The post that opens a contest lists its rules — photo size, whose shot it must be, editing, no AI — and the contest form shows staff which, so a brief can stick to the theme.
Banner entries need to be at least 1920×1080, down from 2560×1440 — twice the size Discord recommends for a banner, and still sharp on high-resolution screens.
A contest's brief can use Discord formatting — bold, italics, underline, links, lists — and it looks the same on the site as in the post, instead of showing the asterisks.
Contest voting moves straight on to the next photo: the first one arrives with the page, and each next one has loaded while you're still looking at the last.
Contest pages, and the staff contest and curation pages, load in fewer round trips to the database, and disabling an entry during curation answers sooner.
The /vote panel shows both rides framed the way their owners framed them on the site, instead of cropped to squares around the middle of each photo.
Someone voting from Discord counts as a voter wherever voters are counted, including the stats page and the number of different voters a ride needs before the all-time board ranks it.
Ratings logic
The all-time board's minimum-voters rule: Discord voters without a site account now count toward it. Nothing moved when it shipped, since none had voted yet.
The live vote ticker marks votes cast from Discord.
The /vote panel swaps in each new pair in one step, instead of resizing as the photos load and jumping the chat.
A contest's staff page shows how many of its votes came from Discord.
Ride of the Month posts and reminders have a Vote in Discord button that opens your own private /vote panel, beside a button to vote on the site.
A contest's voting post, /tcc top, and /enter once entries have closed carry the same buttons, so voting is a tap away wherever the bot brings it up.
Fixed
A dry run's schedule no longer says curators and staff will be DMed. It says those messages go to the staff test channel, naming who would have been DMed.
A dropped connection mid-vote no longer freezes a contest's rating buttons. The photo goes back in the pile and comes round again.
The rated count under a contest photo no longer includes photos staff have since disabled, so it can't run past the size of the field.
The first matchup arrives with the page, so its photos start loading at once rather than after the page has started up.
Skipping is near-instant, and a vote lands on the next pair sooner: the pair after this one is chosen, and its photos fetched, while you're still looking.
Ratings logic
When pairs are dealt, not which: the next pair is picked a moment earlier, from the same pool with the same rules. The one rule change is that Skip now avoids both skipped cars where the pool allows, as a vote already did. No ratings recomputed.
On phones with sharp screens each vote downloads its photos once, not twice.
The vote page opens in the mode you used last, round or all-time, instead of switching over once it loads.
Photos on ride pages and the boards appear as soon as they arrive, rather than waiting for the rest of the page to start up.
Ride pages, the current round's board, owner pages and the vote page load sooner — their data is fetched side by side instead of one piece after another.
Ride pages show their layout while they load, and search and gallery photos start loading as you reach for them.
Moving between pages crossfades faster, and not at all if your device asks for reduced motion. The phone toolbar's buttons respond to a press.
Fixed
The next matchup's photos show after you vote. They could finish loading and stay hidden behind a pulsing placeholder until your next vote.
A dropped connection mid-vote keeps you on the matchup with a note to try again, instead of swapping the whole page for an error.
The boards' search box shows its whole hint on phones.
On iPhones, the toolbar at the bottom of the screen sits above the home indicator instead of on it, most noticeably in the home-screen app, and with the phone turned sideways nothing sits under the notch.
The sign-in button no longer runs off the right edge of the top bar on tablet-width screens. It says "Sign in" until the bar has room for the full label.
Pages reach signed-in members sooner. The navigation bars checked your session and looked up your voting streak twice over before a page could appear; now once.
Profile pages load faster: their stats are fetched together rather than one after another, and nothing on them is looked up twice.
Casting a vote or rating a contest photo waits on the server less, because its checks now run side by side instead of in turn.
The admin portal's sections sit in a sidebar now, grouped into browse, insights, review and community, with queue counts beside them. On smaller screens they open from a menu.
The “votes are open” post waits until a round has ten rides to vote on, going out on the 15th at the latest. Recent rounds were announced with one or two.
Voting reminders name the rides that joined since the last one, so members who have already voted know when there's something new to judge.
Fixed
Rate limits on voting and the sports-car lookup hold when a burst of requests lands at once. Before, a burst could slip past the per-minute cap.
Owner pages match the owner's name exactly. An underscore in a name could pull in someone else's ride, and a crafted link listed every ride on the site.
Long matchups on the admin dashboard's recent votes trim to fit instead of running off the edge of their panel.
The banner, diecast and photography contests ran by DM, with staff collecting every entry by hand. They run on the site now: enter with /enter, vote on the site, and the bot announces each step.
New
Banner, diecast and photography contests share one home. Staff set a theme, you send one photo, and members rate the field — love it, like it, or not for me.
Enter with /enter in the contest's channel and attach your photo — the bot replies straight away with what it took.
Send another photo while entries are open and it replaces your first, so one entry each is the rule for everyone.
Every member's contest vote counts the same. The priority-role weighting that doubles a car vote deliberately doesn't apply — this is which photo the room likes.
Banner entries have to be 16:9 and at least 2560×1440, so nothing wins that would be cropped. Diecast and photography take any shape or size.
The bot announces each contest in its channel — when it opens, a last call a day before entries close, when voting starts, and the winner — pinging the Events role.
Running contests show up on the home page, and the result settles the moment voting closes, not whenever someone gets round to it.
A win rate on your profile was counting votes from monthly rounds, where a car takes hundreds of duels in four weeks against a handful the rest of the year. The rest of the site stopped doing that a week ago; profiles were missed.
Improved
Search, filters and paging stay pinned on the admin tables while you scroll, like the public boards: change a filter from row 50 without a trip back to the top.
Admin filters are the site's own controls now and take effect as you pick them, so there's no Apply button left to remember.
Fixed
Your profile's win rate counts all-time duels only now, the same rule every other page follows. Some records move by a few points, and the busiest garages were being cut short.
Ratings logic
Nothing about ELO, the leaderboards or any rating changes — this is only what the profile page counts. Round votes, and votes a round discards because the voter had a car entered in it, no longer count toward a profile's win rate, which is the rule every other page has followed since 8 September. 42 of 501 owners move by 5 points or more and 5 by 20 or more, the largest by 27. Two owners had passed the 1,000-row limit the old count silently stopped at, so their record was drawn from part of their duels; theirs are right for the first time.
A ride that already has votes in a round can no longer be dropped from it. On the busiest rounds that check was reading only part of the vote log, and three July rides had slipped past it.
Admin tables keep their column headings in view while you scroll, and line their numbers up in columns, the way the public boards already did.
The admin rounds list gives each round's name a column wide enough for it, instead of breaking "October 2026" across three lines next to a second copy of the same date.
The admin portal's section tabs are the site's own strip now, underline and all, so the toolbar stops looking like a different product from the site it runs.
A chassis code used to show only on rides whose owners typed one, about one in eight. Now the site works it out from the model line and year, and you can search and filter by it.
New
Rides show their generation, like E46, NA, Fox Body or S197, even when the owner never wrote it. 540 of 671 rides have one now, up from 78.
On a brand page, pick a model line and a generation filter appears beside it. Ford, then Mustang, then Fox Body.
Search finds rides by generation and model line, so "e46" turns up the 2006 M3 too. The ⌘K search also lists model lines and generations to jump to.
Improved
Model pages filter by generation, and a generation includes its facelifts and special versions: 992 shows every 992, the 992.1s among them.
Fixed
Editing a ride's make, model or year now updates its model line and generation. Edits used to leave the old chassis code behind.
On a phone, the home page no longer downloads the live vote strip it never shows. Same page, less data and battery.
A ride page used to open on a wide banner that cropped the cover past the frame it was set in and laid the car's name over the car. Now the photos and the spec sheet sit side by side.
Improved
Ride pages lead with the photos. The cover shows in the frame it was set in, with every photo a tap away beneath it and the name, figures and build sheet alongside.
On the vote page, predictions and live duels moved out of full-width banners into small links beside the round and All-time tabs. The tabs stand in for the title, and the cars get the room back.
A new ride's description is tidied into a spec list and paragraphs as soon as it's imported. This month's entrants had been showing the raw Discord post.
The admin tables page like the public boards: step buttons either side, and a menu that jumps straight to any page.
Fixed
Decade boards list every ride from their decade. They stopped at 200, and the 2000s were 25 rides short of losing their tail.
On a phone, the round board, All-time and Duels now carry their own buttons: Predict and Vote side by side, the Form and Record switch beside Vote all-time, and starting or cancelling a duel.
On a phone, the voting cards reach down to the toolbar. The page still saved room for the activity ticker, which only shows on wider screens, so a band of empty page sat under the cars.
Opening a page fresh now fades from its loading placeholder into the page, the way moving between pages already did.
Stats had two panels called Too close to call. The one ranking single rides by how evenly their votes split is now Coin flips.
Standoff photos centre on the car the way each cover was framed, instead of on the middle of the picture.
An update can no longer go live wearing the previous version's styles, which is what briefly stopped filter bars and column headings from pinning on 13 September.
Winners, Decades and Stats each gained a way to narrow things down, and the tabs and page controls that get you around now stay in reach.
New
Stats can be narrowed to a date range, from the last seven days to a single round or any run of days, including by dragging across the votes chart.
Improved
Winners shows one year at a time with a year switcher, and filters by make and decade that search every year at once.
The Decades page lays the garage out by model year, then gives each decade its top three, round wins, busiest makes, and how it fares against other decades.
The tabs above the rankings and head-to-head pages stay pinned while you scroll, at every width, so switching boards never means a trip back to the top.
On a phone those tabs stand in for the page title, so each board starts right under them.
The Current round tab carries a green dot on a phone while voting is open, since the Live badge left with the page title.
Page controls are proper buttons now, and the page number opens a menu for jumping straight to any page.
Fixed
Filter and page bars square off their corners while pinned, so rows no longer flicker through at the edges as they scroll past.
On a phone, the make and decade filters on the boards open their menus again instead of vanishing inside the filter bar.
The leader's photo on a board no longer crops differently at every screen width. It now shares one shape with the table thumbnails, garage cards and search results: the shape each photo was framed for.
Past rounds in search and rides in the duel picker now show each photo the way it was framed, instead of cropped from the centre.
Shared links now show each ride's photo the way it was framed on the site, instead of a wider or taller crop that could cut off the car.
Every ranked page opened on a three-card podium repeating the first three rows of the table beneath it, over a header three lines tall. A laptop got four rides before it had to scroll. It gets twelve now.
New
A brand's garage can be searched and filtered: pick any number of model lines at once, narrow by decade, and the page tells you how many rides are left. Big garages page 50 at a time instead of loading every ride at once — Ford has a hundred.
Improved
The top three sit in one band: the leader's photo, then second and third on a line each, with the points they trail by — a gap the boards never used to state.
Table rows are a third shorter. Owner has its own column on the cars board, and the 24-hour move sits beside the rating rather than under it.
Brand, model, owner and profile pages open the way a board does: the name on one line, then a band holding the mark and the headline figures. Counts are stated once instead of twice.
Every page title is now one line, with the page's own buttons on it. Long column headings no longer wrap or push the last columns off the edge of a board.
Search and filters now sit in the top edge of the board they filter, instead of floating above it, and they stay put with the column headings as you scroll.
The side panels are gone from every board — Top Movers, By decade, Other decades. The 24h column sorts, the decade filter picks decades, and the table gets the 300px back.
Page controls stay in reach: search and filters pinned to the top of a board, column headings under them, and the page number pinned to the bottom until you reach the end of the list.
Some submissions are all build plan and no badge — a parts list, a power figure, and nothing that says which car it is. Those rides were being left out of their model page and could not be spotted as reposts.
Fixed
A ride whose year and model had to be filled in by hand now appears on its model page and links to it, instead of sitting on the site belonging to no model line at all.
Repost a ride whose original post never named the car and it is now recognised as the same car, so the newer entry takes over the way it already does for everything else.
Ratings logic
Only changes which entries can be PROPOSED as reposts. The retirement itself is unchanged and still confirmed by hand, and a retired entry leaves the current boards exactly as it did before. One ride was affected. No rating was recomputed.
Members have been resubmitting a car after a rebuild for a while, and the catalog was quietly carrying it twice. Now the newer entry takes over and the old one becomes its history.
New
Repost a car you have rebuilt and the newer entry takes over: it starts on a fresh rating, and the old submission steps out of the voting rather than competing against itself.
A ride that has been resubmitted shows its previous run under the live numbers — the ELO it finished on, its record, and the round it ran in — so a rating that just restarted is not read as a bad car.
Improved
An earlier submission keeps everything it earned. It stays on the leaderboard of every round it entered, with the rating it finished on, and its page, its record and its placings all stand.
Ratings logic
A retired entry leaves the vote pool and every CURRENT board, so a resubmitted car is counted once rather than twice. Past rounds are untouched: it stays on their leaderboards at the rating it finished on, and keeps any podium it took. No rating was recomputed.
A ride in the open round was showing the record of 429 duels under a match count of 33 — the two numbers were reading different votes. Every record on the site now counts the same ones.
New
Every model has its own page now. Tap the model in a ride’s title to see the others like it — 25 Mustangs, 19 Miatas, 17 3 Series — narrowed by generation where the chassis code is known.
Improved
The year, make and model in a ride’s title are all links, and a new Where it fits strip says where the car stands among its marque, its model line, its generation and its decade.
Brand pages open with their model lines. Ford’s 99 rides now lead with Mustang 25, F-150 13, Ranger 7, so you can reach the cars you came for without scrolling ninety-nine photos.
The one-off count on a brand’s model lines is a link now: tap Ford’s 12 for Bronco, Galaxie and the rest. Marques where nothing repeats, like Suzuki, get the row for the first time.
Brand logos sit on the page now instead of on a white tile. Sixty lit squares were the brightest thing on a dark screen, and chrome badges read better unlit — the all-black marks like Toyota, Audi and VW are redrawn in light so they come too.
Link previews build faster when you paste a brands link into Discord. The card was re-tallying every all-time vote to work out the figures on it, once per preview — it now reads the tally the board already keeps, taking a third off the wait Discord allows before it gives up and shows nothing.
The voting page arrives about 40% lighter. It was sending the catalog as 681 full records, two thirds of which were repeated field names and the same storage address over and over — the same cars now travel in a compact form and are unpacked in your browser, so there is less to download and less to read before you can vote.
Fixed
Five brand logos were years out of date. Kia dropped that red oval in 2021, and Peugeot, Renault, Citroën and MINI have all rebranded since the badges here were drawn — every one is current now.
A 2014 Cruze was filed under Chevorlet — one letter out of place — and had a one-car brand page to itself. It sits with the other 76 Chevrolets now, and on the Cruze model page.
A Ford Kuga is an Escape and a Mazda Proceed is a B2200 — the same cars under the badge their market used. Each pair shares one model page now instead of two pages of one.
The site's only 2002 Solara called itself an XV20 Camry, a generation that ended in 2001. The badge names the Solara too now, and runs to 2003.
The admin log of privileged actions was recording who did each one but showing every entry as unknown. It names them now, and the five already on record have their names back.
Win rates on ride and owner pages now count the votes they say they do. A ride in the open round was showing the record of 429 duels under a match count of 33, and an owner’s rate swung 24 points once the live round was taken out.
Ratings logic
Changes which votes a record reads on /rides and /owners: all-time votes only, and votes nullified by the entrant rule no longer count. Reaches those two pages plus the Stats rivalries, streaks, giant-killers and win-rate panels. ELO itself is unchanged — no rating was recomputed.
Fiercest rivalries is now Too close to call, and ranks the evenest records rather than the most meetings. It had been listing round co-entrants — pairs meeting 40-50 times because the format threw them together, one topping the list at 0-5.
A slow spell at Discord no longer leaves the site hanging. Signing in, posting a round announcement and the nightly import all waited on Discord with no time limit, so an outage there became a stuck page here instead of a clean failure.
Pages no longer flash a leaderboard while they load. Every page that did not set its own placeholder borrowed the standings table, so voting, Stats and ride pages spent a moment pretending to be a board before snapping to something else entirely.
The whole site steps down a size, so standings start above the fold and the voting pages give the cars the screen. And the catalog knows what each ride actually is — chassis codes as real data, and every blank make and model filled in.
New
Chassis codes are real data now, not just text inside a model name. 84 rides carry theirs — an E46, an AE86, a Mk3 Golf — shown as a chip on the ride page.
Reading the room — how often Guess the vote players call a matchup the way the community did. It's a two-way choice, so 50% means nothing was read; the figure waits for enough runs to mean anything.
A rebuilt admin portal: a system console for the scheduled jobs, feature flags and environment, role management on the members table, a view of duels and predictions, and denser tables throughout.
Filters do more. Pick several makes or decades at once, on the brands board too, and sort now travels in the link the way filters already did. Press f to jump to the search box.
Improved
Thirty-three rides that were missing a year, make or model now have one — a 1966 Volvo Amazon, an AMC Gremlin, an RX-4 running an RX-7 turbo motor. Years are estimates, so edit your ride if one is wrong.
The prediction and duel prompts above the voting cards sit quieter now — a small label in place of the emoji, one link instead of two buttons, and the round title back on top.
Every database query is now type-checked against the live schema. It caught a sitemap that could publish a broken profile link to search engines, and two charts that assumed a number could never be missing.
The brands board leads with the board again. The rivalry grid is gone — half a screen of 12x12 matrix that pushed the standings below the fold, and that only ever compared the same twelve high-volume makes to each other.
Every leaderboard opens on the standings on a phone. The three podium cards stacked into a wall you had to scroll past first; they stay on wider screens, and the top three are the table's first rows either way.
Ferrari and Aston Martin lead eleven makes onto the brands board. The bar for a ranked win rate drops from 150 matchups to 100 — the old line sat in an empty gap, and Aston Martin now takes second.
Ratings logic
Changes which brands are ranked, not how a win rate is worked out. Eleven makes move off the provisional list, and the podium's second and third places change hands.
Brand logos are the badge alone now — the Porsche crest, the Mercedes star, the Aston Martin wings — instead of a badge shrunk to fit above its own name. Thirty-one marques, everywhere they appear.
The whole site steps down a size. Rankings show standings before you scroll — the first row moved up about 160 pixels — voting gives the cars more screen, and every other page follows the same rhythm.
The /tcc bot went from 23 commands to four — profile, top, ride and sports-car. Little is lost: looking someone up is now an option on profile, and the five leaderboard commands became one scope on top.
Two stats charts were hiding their own data. The activity heatmap keys its shading to vote counts rather than the single busiest hour, and votes per day splits first-time voters onto their own scale.
Fixed
Nine rides had the wrong thing in a field — an engine code as the make, a whole sentence as the model. The 335i is a BMW again, the Civic Si a Honda, and both smarts share one brand page.
The Provisional chip now shows you those rides and makes instead of burying them at the end of the board, where they landed a page down and the click looked like it had done nothing. Both boards work this way.
The live strip along the top is readable now and lines up with the page: one result at a time, car names in plain type, each car's points beside it. It had also been printing the loser's drop wrong.
The Alfa Romeo badge is a badge again — it had been rendering as the top of the emblem, cropped and stacked twice, with no cross and no serpent. Every other marque checked out.
The brands share card matches the board it links to. It ranked on its own 10-matchup floor, so it could crown a make the page itself files as provisional — it had Stewart & Stevenson in 3rd where the podium showed Ferrari.
The brands board now reads only all-time votes. A round is one month against a dozen cars, so entering one counted for more than a decade of ordinary voting — 91% of Plymouth's record was a single July.
Ratings logic
Changes which votes a brand's win rate reads: round votes no longer count toward a make's record, open or archived. Reaches the brands board and the rivalry grid, where five makes drop to provisional for want of all-time duels. The era chart on Stats is unchanged — it still counts archived rounds and skips only the open one. Car, owner and decade ratings are untouched.
Some cars beat the cars that beat the cars that beat them. There are dozens of those loops in the vote history, and now there is a page for them.
New
Standoffs collects the three-way loops in the voting: A beats B, B beats C, C beats A — no ranking of the three can agree with every pair. Drawn as triangles, best-rated first, one loop per car. Under Head-to-head.
The changelog now flags every change that moved the maths behind the board. A Ratings logic note says which part of the calculation shifted and how far it reaches, backfilled across every release since launch.
Guess the vote: ten real matchups from finished rounds, one question each — which car did the community pick? Scores go on a leaderboard, and nothing is ever drawn from the open round. Under Head-to-head.
Improved
Signing in reads like an invitation instead of a locked door. Guess the vote, duels and the sports car verdict now say what you get — or point you at the Discord if you're signed in but not a member.
The Ride of the Month reminders get one @mention near the end of each round, arrive in a better order, and stop naming a day you can no longer vote on.
New
Verified Vehicles now gets a single @mention while the round is still winnable — normally the reminder five days out, and only that one. This month it lands at three days instead.
Improved
The "votes are open" announcement now waits until the 10th. Voting opens on the 8th, but the winner write-up goes up by hand a day or two in, and the announcement kept landing ahead of it.
Fixed
The announcement no longer offers a day you cannot vote on. Voting closes at the end of the 7th, but both the post and its preview card said the 8th.
The last reminder of a round no longer says the vote closes "in 1 days".
Links the bot posts show their preview card again. The card is drawn fresh each time and had grown slow enough that Discord gave up waiting; it builds quicker now.
Predictions stop being a private guess: the picks are public now, your own follows you around the round, and the page stays reachable long after the window shuts.
New
Every prediction now shows who made it — faces on each ride in the field, and a full who-picked-what list under the grid. It updates the moment someone picks.
Your pick is badged wherever that ride turns up — the round leaderboard and the ride's own page — so you never have to go back and check. It turns green if it scores.
Improved
The predictions page stays reachable after picks lock: a pointer on the vote page and a button on the round leaderboard. The only link used to vanish exactly when the page got interesting.
The predictions page now shows the whole timeline — opened, locked, scored — with a date on each, in place of a pill that only said picks were locked. The settle date was the one it never showed.
Fixed
The rating spread chart on Stats was drawing nothing at all — its bars collapsed to no height, leaving an axis and a total over empty space. The histogram is back.
Win rate on older round pages no longer seems to contradict the matchup count. "1W - 0L" could sit beside "59 matches" because the record counts only that round's votes. It now says which matchups it counted.
Switching between the round and all-time pools no longer nudges the page. The heading lost six pixels whenever the LIVE badge wasn't there to hold it up.
The two Eunos Roadsters now sit on Mazda's brand page and count toward its record — Eunos was a Mazda sales channel, and the Roadster is the MX-5. They still read Eunos everywhere else.
Every Mazda MX-5 is called one thing now. Seventeen sat under nine spellings, so searching for one never found the rest. Any trim or chassis code an owner wrote is kept as-is.
Every vote ever cast now feeds a slower, steadier rating alongside the live one — and the confidence figures are more honest about what they actually know.
New
The all-time board has two views. Form is the rating you know: it moves with every vote and drifts back when a ride goes quiet. Record re-reads the whole history and subtracts each ride's margin of error.
Ratings logic
Adds a second all-time standing rather than changing the existing one. Record orders on the rating minus each ride's error bar, so rides with few matchups sit lower here than they do on Form. Form itself is untouched.
Every ride page shows both numbers side by side, with the head-to-head comparisons behind the Record one. A ride that went through a busy round carries far more evidence, and now you can see it.
Improved
Round votes finally count toward the all-time picture. The board only ever saw one summary nudge per ride per round, so a third of every vote cast wasn't really being read. Record uses all of it.
Ratings logic
Widens what an all-time standing reads: every round vote on its own, rather than one summary nudge per ride per round. Reaches the Record view only.
The ± figure next to a rating was too optimistic and has been corrected. It kept shrinking as a ride collected matchups, implying a precision the live rating can't reach — it settles around ±32. Only the label changed.
All-time voting now pairs the top of the board against itself more often. The leaders had almost never met, which is why their order never felt settled. The extra pairing winds itself back down as that resolves.
Ratings logic
Changes which pairs get dealt, not what a vote is worth. No rating was recomputed — the top of the board moves only as the extra matchups are actually voted on.
The medal and brand badges on a ride are links now — a medal opens the Hall of Winners, a brand badge opens that make's page. They had always looked clickable.
Cars now show how they rank inside their own make, and entering a round no longer lets you steer it.
New
Rides earn gold, silver or bronze for their standing inside their own make, so "best Toyota here" shows on the ride itself. How deep a brand's podium goes scales with its field, so a badge always means beating someone.
How it works now spells out the rules that govern a vote — when it counts double, when it doesn't count toward standings, and why.
Improved
If you have a ride in the current round, your votes there no longer move its standings — you're competing in it. They still count toward your profile, streaks and XP, and your all-time votes are untouched.
Ratings logic
Changes which votes count toward a round standing. Reaches that round only: profile stats, streaks, XP and the all-time boards all still read the vote.
The rating maths was recalibrated. As the server grew, the share of 2× votes fell, so the average vote was moving the board about 11% less than intended. No ratings were recomputed.
Ratings logic
Changes how far one vote moves the board. Existing ratings were left alone, so nothing jumped — only votes cast from here land differently.
Fixed
Results views were still counting votes that had been set aside under the rule above. Round standings, retrospectives and stats now all agree.
Ratings logic
Corrects published round standings so they match the rule already being applied when the votes were cast.
Cars became rides across the site, and Stats picked up five new sections.
New
Which era wins — cross-decade head-to-head win rates, drawn as bars either side of an even split. The community turns out to be firmly nostalgic.
How the community votes — how concentrated voting is, what a typical sitting looks like, and a position-bias check on whether the left-hand card has an edge. It barely does.
Open field — how much of the catalog has actually been judged, how many possible pairings have come up, and whether any ride has ever won twice.
Rating spread — where every ride sits, in 50-point bands.
First-time voters now show as their own series on the volume chart.
Improved
"Cars" are now "rides" throughout the site, including in URLs. Old links still work.
Ride pages load noticeably faster — their data is fetched all at once rather than in sequence.
Fixed
The header row and the Stats page now fit a 320px-wide phone without overflowing sideways.
A community stats hub at /stats — how the board has moved, who votes, and what the numbers actually say.
A compare tool: put two rides side by side and see their head-to-head record, ratings over time, and where they diverge.
Biggest upsets and giant-killers — the results that shouldn't have happened.
Round retrospectives: every settled round now has a "how it unfolded" story showing how the lead changed hands.
Every round has its own leaderboard page.
Undo your last vote. You get 10 minutes from the toast that appears after casting it.
Ride pages got a cinematic hero, a shared stat strip, and a rating chart under personal records.
A rankings menu and subnav, so the boards are reachable from anywhere.
Shared compare links get their own duel-style preview card.
Improved
Every long table now paginates 50 to a page, with the page in the URL so you can link and go back to it.
Table search understands multiple terms and adds make and decade filters — also kept in the URL.
Matchup cards can expand to the full description instead of truncating it.
The per-ride vote cap now grows with how long your account has been around, and the site remembers every pairing you've judged rather than a recent window.
Fixed
Ranking tables scroll sideways on narrow screens instead of clipping their last columns.
Prediction counts and voter XP on profiles were wrong, and the shortcuts row could flash through the vote toast.
A podium hero across the brand, month, all-time and owner boards.
Improved
Matchups are now biased by how close two rides are in rank rather than in raw rating. Near the top, tiny rating gaps span many places; near the middle, large ones span almost none.
Ratings logic
Changes which pairs get dealt: closeness is measured in leaderboard places now, not in rating points.
Where the leading rides sit inside each other's error bars, the all-time board marks them as a contention band instead of implying the order between them means something.
The home page vote pool got 30% lighter (637kB down to 447kB), so the first matchup arrives faster.
The sports car checker is gated on Discord membership rather than a site account, and posts its verdict back to the channel.
Fixed
The MATCHES column on the all-time board was showing zero for every row.
Brand marks use real manufacturer logos, on the site and in share cards. Logos are bigger, sit properly in their tiles, and fall back to a lettermark rather than a generic glyph.
A round's contribution to a ride's all-time rating is now bounded. A dominant month nudges a ride up and, over repeated rounds, moves it toward the level its results imply — but no single month can carry it to the top. The all-time board is meant to be the slower, harder number.
Ratings logic
Caps how far a single round can carry an all-time rating. Reaches the all-time board only; round standings are unbounded as before.
Five fairness changes to how ratings are earned, plus a bot that announces the round's lifecycle on its own.
New
A ± figure next to each all-time rating showing how certain it is. Few matchups means a big ±, and it shrinks as votes accumulate.
Voter reliability is now scored in the background — how often you agree with the eventual community majority on the same pairing.
The Discord bot posts the round's lifecycle messages itself, with a proper preview card for /rotm links.
Predictions pay out in badges, and only rides eligible to win are scored.
A coverage chip showing how much of the round you've judged, and a countdown to the next phase change.
Improved
A new ride's first three matchups now draw opponents from the low, high and middle of the board, so its starting trajectory isn't set by whoever else happens to be new.
Ratings logic
Changes which opponents a new ride's first matchups are drawn from.
8% of matchups ignore rating proximity entirely, so the top and bottom of the board occasionally test themselves against each other instead of running in separate bubbles.
Ratings logic
Changes which pairs get dealt: roughly one in twelve ignores proximity, so distant parts of the board occasionally meet.
Ratings drift gently back toward the middle each week for rides with no recent matchups, so the board stays responsive as new voters arrive.
Ratings logic
Adds weekly decay to the live rating. It applies only to rides with no recent matchups, and it moves existing ratings.
The vote weight labels were refreshed, self-votes are blocked outright, and the per-ride cap was loosened.
Ratings logic
Changes which votes count and how many of them do: a vote for your own ride stops counting, and the cap on how often one person can move a single ride was raised.
An editorial-glass theme refresh across rides, owners and profiles.
Fixed
Discord link previews were going stale, and #your-car-specs now renders as a real channel link.
Voting became members-only, brands got their own boards, and there's now something to play for.
New
Anti-pump limits on the all-time board: you can only back the same winning ride so many times in a day, and only be one of the voters behind a given ride so many times overall. Hit one and you're quietly dealt a fresh pair.
Predict the round winner. Call it right and you earn the Crystal Ball.
A brand leaderboard, brand profile pages, and each brand's top fans and biggest detractors.
One unified profile page for every member, whether they own rides, vote, or both.
Daily voting streaks, an Oracle score for how well your picks predicted the eventual order, and twin and rival cards showing who votes most and least like you.
Personal records on ride pages: peak rating, longest win streak, biggest upset.
Top movers on the all-time board — the biggest gainers and losers of the last 24 hours.
Decade leaderboards, from the 1950s to now.
A progress chip above the matchup showing how much of the pool you've yet to see.
Improved
Voting requires membership of the Discord server. That keeps the rankings a community opinion rather than a drive-by poll.
Share previews across brands, profiles and decades, and a wider layout on large monitors.
A provisional floor on the leaderboard, so a ride with barely any matchups isn't ranked against rides with hundreds.
Head-to-head ride voting for The Car Community, with monthly rounds and an all-time board.
New
Head-to-head voting: two rides at a time, pick the one you like more. Votes feed an ELO rating that ranks every ride ever entered.
Two pools — a fresh Ride of the Month round each month, and an all-time board that never closes.
Discord sign-in, with verified members' votes carrying extra weight.
Live monthly and all-time leaderboards, updating as votes land.
Ride detail pages with photo galleries, and an ownership and edit-request flow so owners can correct their own entries.
An admin portal for adding rides and running rounds, and an importer that reads rides out of Discord exports.
Keyboard shortcuts for voting, and side-by-side cards on phones.
Improved
The voting window runs from the 8th of the month to the 7th of the next.
Your email address is never collected. It's stripped from the Discord sign-in before it reaches the database, and scrubbed again on every subsequent login.
This list covers changes you can see or feel. Behind them sits a lot of work you can't — database migrations, security hardening, performance passes and dependency upkeep — which is left out to keep the page readable. New to the site? How it works explains the vote and the ratings.