mutate.lol

Changelog

Everything that has changed, newest first. Written when it ships, not afterwards.

21 September 2026
v1.0

Effects, layouts, analytics and aliases

  • 12 background effects: rain, snow, particles, stars, scanlines, static, Old TV, embers, matrix, bubbles, confetti, each with its own colour. One canvas, stopped when the tab is hidden, never started under reduced motion.
  • 9 username effects: gradient, shine, glitch, pulse, rainbow, typewriter, wave, neon.
  • A typewriter bio with up to four cycling lines. The text is in the markup and gets replaced, rather than the page starting empty, so a bio is readable with or without scripts.
  • 4 layouts: stacked, side by side, banner, minimal.
  • Separate glows for the name, the socials and the badges.
  • The full colour set: text, muted, icons, and a two-stop card gradient.
  • Monochrome icons, animated tab title, swapped box colours, hide badges.
  • Custom title and description for link unfurls.
  • 138 badges, up from 69.
  • Analytics: 30 days of views and a country breakdown. Counters, never a log. There is no row per visit, so there is nothing behind the numbers to look through.
  • Three aliases per account, free. guns.lol sells the slots.
  • Profile search.
  • Card length, alongside width.
  • Saves are a merge, not a replacement. Every dashboard section used to post the whole profile, so saving from a page holding an older copy silently deleted whatever had been changed elsewhere. It cost 68 badges before it was caught.
21 September 2026
v0.9

Your cursor stops disappearing, and the card got faster

  • A custom cursor now survives every element on the page. It was being replaced by the hand the moment a pointer crossed a social icon, because a link carries cursor:pointer from the browser's own stylesheet and that beats an inherited value.
  • The card can be sized, 28rem to 56rem, with 44 the default measured off preinfection.
  • Appearance shows your actual page beside the controls, at desktop or phone width. It frames the real profile served by the real renderer rather than a replica, because a replica is a second implementation and the day it drifts is the day the preview starts lying.
  • A profile arrives in about 155ms instead of 880. The status and the custom badges were being fetched one after the other when neither depends on the other; started together they cost one round trip instead of two.
  • profile.css is 11.8 kB instead of 28, profile.js 4.3 kB instead of 12.8, and both are cached for a year now that they carry a version tag.
  • The card width bound lives on the stage, so it measures 704px exactly, as the reference does.
21 September 2026
v0.8

The card is preinfection's card

  • The container rules are copied from preinfection's stylesheet declaration for declaration, including the two absences that matter: no backdrop-filter and no box-shadow.
  • A 30px black shadow under a transparent card does not disappear. It darkened the film behind it and read as the card being a grey slab, which is exactly what it looked like.
  • A 0px backdrop-filter is not free either: it still makes the element a backdrop root, so the browser re-composites everything under the card on every frame of the video to blur it by nothing.
  • The fill is alpha 0, the gradient is transparent to transparent, and a 5px warm border at 25% is the only thing holding the panel together. Fill and blur now only apply when somebody turns them up.
  • The width bound moved off the card and onto the stage. A card asking for min(44rem, 100%) inside a shrink-to-fit parent is circular and settles near 606px instead of 704.
  • Badges use the reference's geometry: 18px cells, 8px apart, the glyph at 84% of its cell.
  • A Discord widget with the picture, the handle and the status written out, in place of a bare dot beside the name. The picture is served by this site, so looking at a profile does not hand your address to Discord.
  • The vignette over the background is far lighter. preinfection does not wash its film at all.
21 September 2026
v0.7

Readable on a phone, and private by default

  • The terms were unreadable on a phone. Each timeline row reserved a 600px-wide placeholder while off screen, so the text laid out to 600px on a 390px screen and was clipped. Measured, found, removed.
  • Fonts no longer come from Google. The stylesheet and every font file are fetched by this site and served from it, so a visitor's IP address never reaches a third party. There are now zero Google requests on a profile page.
  • "click anywhere" is in the served markup instead of being added by script, so it is there on the first frame rather than dropping over a page that already painted.
  • Templates. preinfection.lol is the first: its film, its soundtrack, its colour, its type and its glass in one press. It never touches your name, picture, bio, links or badges, and everything stays editable afterwards.
  • A profile picture can be removed, and a profile with none closes up so the name is the top of the card.
  • Signing up requires accepting the terms and confirming you are 13 or over. Both are checked on the server and recorded with a date.
  • The terms are five sections longer: age, third parties, Discord, name ownership, and how changes are announced.
  • Smooth scrolling everywhere, via Lenis, off on touch and off for anybody who asked for reduced motion.
  • The changelog, terms and credits carry a scroll progress bar and the rail draws itself in, as preinfection's does.
  • The view count is printed rather than counted up to.
21 September 2026
v0.6

preinfection's dock, cover and player

  • The dock from preinfection.lol, ported spring for spring. It sizes itself to however many links a profile has, and magnifies under a pointer or a finger.
  • "click anywhere" now opens every profile, with the same blur and the same 500ms fade. It cannot be switched off, and it leaves a custom cursor alone.
  • The volume button, and the slider that grows out of it on hover. Dragging to the bottom mutes.
  • Profiles can have no picture at all, with the name as the top of the card.
  • A tab now shows just the display name. It was appending the site's name to every profile.
  • Background videos can be 50 MB, stored in pieces because a KV value stops at 25.
  • Discord status publishes for everyone on the watch list, not just the owner.
  • Founder and Developer badges are the owner's only, and are stripped from any profile that has one.
  • mutate.lol/mutate serves the same page as mutate.lol/me.
  • The landing page knows when you are already signed in.
  • The sidebar stops emptying and refilling every time you change dashboard section.
  • Terms, changelog and credits now use preinfection's timeline layout.
21 September 2026
v0.5

Terms, credits and a changelog

  • Discord linking works: the client secret and redirect are in place, and Connect Discord adds you to the server as part of the same step.
  • Accept and Reject on a custom badge work. The interactions endpoint was never registered with Discord, which is why the buttons timed out.
  • An approved badge can be taken off your page, or deleted, without losing its approval.
  • Links can carry a picture of your own, and Other at the bottom of the list covers anything unnamed.
21 September 2026
v0.4

The dashboard grew up

  • Every dashboard page is centred instead of pinned to the left with half the screen empty.
  • The outer edge of the card can be turned off. Fill, blur and tilt follow it, because none of them mean anything without an outline.
  • All 1,825 fonts show their own name in their own face, and the visible ones preload so the list stops juddering while you scroll.
  • One curve and one duration for everything that opens or closes.
20 September 2026
v0.3

Background removal, rebuilt

  • Cut-outs sample the whole border rather than four corners, spread from every matching edge pixel, and delete the leftover specks.
  • It says so honestly when a picture has no flat background instead of publishing fragments.
  • The site's own scrollbar, ported from preinfection.lol.
  • The grid on the front page is interactive: squares light up under the pointer, even through the text.
20 September 2026
v0.2

Profiles

  • mutate.lol/<name> renders from the database: avatar, bio, badges, links, background, music, colours and font.
  • 69 badges with no background, in preinfection's style.
  • Ten live Discord status slots, first come first served, released the moment somebody turns theirs off.
  • Your number is the order you signed up in, and it is never reused.
20 September 2026
v0.1

It exists

  • mutate.lol is live on Cloudflare.
  • Accounts, with a six-digit code to prove the email is yours.
  • Turnstile on signup.
  • Usernames checked for shape, for reserved routes and against a slur filter with 150 test cases.