Everything that's changed, newest first. Built in the open, bugs included.
The changelog is kept in English only.
build 31
- Win a royale and you can share a card of your run: how many in a row, and your average cringe across every round of every game in it.
build 30
- Both games have sound now: a countdown in the last ten seconds, a buzzer, and something to tell you whether you survived the round. Nothing plays until you've clicked into a game, and there's a toggle in the corner that remembers what you chose.
build 29
- Win streaks. Take the free entry into the next game and you're defending a run — it's shown while you play, counted up when you win, and named when it ends.
build 28
- Win a cringe royale and your next entry is free. The button is on the victory screen, and it waits for you if you come back later.
- If the game you spend it on never fills, you keep it.
build 27
- Added a live count of how many people are in Cringe Royale right now — on the royale page and on the front page. It's a real number: if nobody's there, the line isn't there either.
build 26
- Added CRINGE ROYALE. Up to 99 players, a minute a round, and every round the three cringiest posts are erased — plus anyone tied with them. Last one standing gets CRINGE VICTORY ROYALE.
- Entry is $1.99. The queue starts when it fills, or after five minutes if at least five people are waiting. Fewer than that and the game is void — your entry isn't used.
build 25
- If whoever opens an invite link wanders off before the round starts, the seat opens again. Anyone else with the link can take it and hit ready when they're ready — no need for a new invite.
- The round clock now starts when both players are ready and both are actually still on the page, instead of the moment the second ready arrives.
build 24
- Fixed every newly created battle crashing the moment it loaded. Rounds two and three hadn't started yet, and the code read a property off the empty one.
build 23
- The invite link is now the main thing on screen after you start a match, with one button that shares or copies it. Send it to anyone — they don't buy anything, they just open it.
- Invite links are short now: amicringe.lol/b#…
- Fixed a dead end where a failed first load sat on "finding the match" forever instead of saying what went wrong.
build 22
- Fixed battle invites failing outright: the storage layer was asking for a guarantee this runtime can't provide, and every read threw.
- Same bug had been quietly breaking the live screenings ticker, which is why it never appeared. It works now.
build 21
- Battle errors now say what actually went wrong instead of "something went wrong". A failure inside the server used to come back as a blank error the page couldn't read.
- Added a self-check button that appears when a key is refused, reporting what's configured and exactly what Gumroad said.
build 20
- Fixed battle invite keys being rejected. Every check was burning a counter at Gumroad that can't be reset, so a few attempts killed a key for good. Keys are no longer counted that way, and ones already burned work again.
- An invite now reopens the match it started. Close the tab, paste your key again, and you're back in the same game.
- Same fix for the $1.99 rewrite key, which had the same flaw with a higher ceiling.
build 19
- Fixed screenings failing for everyone with "the lab didn't respond". A helper function used by every reply had been deleted in an earlier refactor, so the server errored before it could answer anything.
build 18
- The clinic has a nurse. She stands behind the page on every screen, and she's the favicon and the link preview now too.
build 17
- Cringe battle invites are live on Gumroad.
- Round rule: an empty entry, or one the lab can't assess, scores 100% — the worst there is. Turning up and writing something always beats writing nothing.
build 16
- Added CRINGE BATTLE. Two people, three rounds, sixty seconds each. Neither of you sees the other's draft until the buzzer; lowest average cringe wins.
- An invite is $0.99 and starts one match. Only the person who starts it pays — the other just opens the link.
- Win a round and you're BASED. Lose it and you're CRINGE. The buzzer submits whatever you've typed, so you can only forfeit by walking away.
build 15
- If you had the site open from an earlier version, it now refreshes itself when a new one is deployed instead of quietly serving you the old one.
build 14
- Fixed lookup keys like
ward.unlock showing up in place of real words after a deploy. Every script and stylesheet is now requested with a version stamp, so a page can't load a stale copy of itself.
- The Gumroad checkout link is live.
build 13
- The $1.99 rewrite is now sold through Gumroad instead of PayPal. Your receipt comes with a licence key; paste it once and this device remembers it.
- The key is checked with Gumroad on the server before anything is generated, so the unlock is a real purchase now rather than an honour-system button.
- Privacy policy updated to match.
build 12
- Search engine housekeeping: real page titles and descriptions, canonical URLs, a sitemap, a robots file and structured data.
- Links to the site now unfurl with a proper preview card instead of a stray icon.
- The privacy policy is no longer hidden from search engines.
build 11
- Something else got added. It isn't listed here. Say the right word in the box and you'll find it.
build 10
- Added the live screenings ticker under the form — other people's scores, in real time. Scores only: the text never reaches that store.
- Privacy contact is now jmaa@jmaa.tv.
- Fixed untranslated keys like
feed.yours appearing after a deploy. Pages now declare which string bundle they need and re-fetch it past every cache if the one they got is stale.
build 9
- Fixed the share card showing the previous screening's result until you refreshed. Cards are now keyed by their contents, not just their size.
- The card and the paid rewrite now use the draft that was actually screened, rather than whatever is in the box at the moment you click.
build 8
- Added reddit text posts, with a 4000 character limit instead of the usual 600.
- Character limits are now per platform. Switching to a shorter one with a long draft warns you instead of silently cutting it.
build 7
- Added share cards: a 9:16 image with the score, the diagnosis and the specimen, watermarked. Download it, or push it to Instagram, X, Bluesky or Facebook.
- Added bluesky to the platform list.
- Added the jmaa.tv mark at the bottom of every page.
- Fixed the display font missing accented characters — Spanish and Basque headlines were rendering as blank boxes.
build 6
- The site now follows your browser's language. Spanish and Basque are written by hand; any other language is translated on demand and cached.
- The screening itself comes back in your language too. Your own draft is never translated.
- Right-to-left layouts supported.
build 5
- New favicon: a medical cross, to match the clinic.
build 4
- Added the about page and a privacy policy.
- Added a cookie banner for the EEA, the UK and Switzerland. Say no and no ad script loads at all.
build 3
- Added ad slots: two vertical rails on desktop, one banner on mobile.
- The site is now installable — add it to your home screen and it opens like an app, offline included.
- Switched the headline to a self-hosted typeface so it looks the same everywhere, Android included.
build 2
- Tightened the rewrite flow: the unlock only appears once PayPal has actually been opened.
build 1
- First build. Paste a draft, pick where it's headed, get a cringe score, a diagnosis and some counselling.
- Optional $1.99 rewrite: three versions of your post, same voice, less wince.