โ† Back to the Button
๐Ÿ”ด Blog

Press the Button Blog

Short reads on boredom, random discovery, and how this site is actually built โ€” no fluff, no filler.

Why Boredom Isn't the Enemy

The instinct most of us have when we're bored is to reach for a phone and open whichever app promises the fastest hit of something new. That habit isn't really about entertainment โ€” it's about avoiding the slightly uncomfortable, unstructured feeling of having nothing to do. The discomfort shows up fast, and the fix is right there in your pocket, so almost nobody sits with it long enough to see what it's actually for.

Boredom isn't just dead time to be eliminated โ€” it's the gap where your brain, no longer occupied with a task or a feed, starts wandering toward ideas it wouldn't reach otherwise. That's not a controversial idea, it's just one most of our daily habits are built to avoid rather than use. The problem was never boredom itself โ€” it's what we tend to do to escape it. An infinite-scroll feed doesn't actually end boredom, it anesthetizes it, one algorithmically-perfect video or post at a time, for exactly as long as you'll sit there and not a second longer.

That's the specific thing a "for you" feed is optimized to do: keep the gap from ever opening. Every scroll is designed to feel slightly more interesting than stopping, which means the feed never actually resolves โ€” you don't reach an end, decide you're done, and put the phone down satisfied. You just keep going until something external interrupts you. The boredom you opened the app to escape is still there underneath; it's just been paused, not addressed.

Press the Button takes a different angle on purpose: instead of a feed that never ends, you get one thing at a time. Press it, look at what you got, decide whether to press again. That's the entire interaction โ€” there's no scroll position to lose, no "up next" countdown, no autoplay quietly deciding what you'll see before you've finished deciding for yourself. It's closer to flipping through a stack of cards than falling into a hole, and the difference matters: a stack of cards ends. You run out, or you stop, and either way it was a choice you made, not a habit the interface made for you.

None of this is an argument that boredom is secretly great or that you should sit through every dull moment on principle. It's a narrower point: boredom is a real, useful state your brain needs occasionally, and most of what's built to "solve" it is actually built to keep you from ever feeling it long enough to use it. A single, quick decision โ€” made 217 different ways, with nothing tracking which one you picked โ€” is a much smaller intervention than a feed, and that's the point.

The Case for Not Choosing

Most of the internet you use every day was chosen for you by a recommendation engine that's trying to guess what will keep you scrolling. It's usually right, which is exactly the problem โ€” you end up seeing more of what you already like, and less of everything else. The system isn't wrong about your taste; it's just narrowing it, one accurate guess at a time, until the range of things you're shown quietly shrinks to a loop of your own past clicks.

That's not a conspiracy, it's just incentives working as designed. A recommendation engine's whole job is to maximize the odds you'll like the next thing it shows you, and the most reliable way to do that is to show you something close to what you already clicked on last time. Relevance and discovery pull in opposite directions โ€” the more relevant something is, the less likely it is to be new โ€” and almost every feed on the internet is tuned to pick relevance, because relevance is what keeps you there.

A random button is the opposite bet. It doesn't know anything about you, doesn't try to keep you around, and has no opinion about what you'll like, because it has no record of what you've liked before โ€” there's nothing stored to base a guess on in the first place. It just hands you the next thing in a shuffled list, the same way it would hand that thing to anyone else who pressed it. That's a small trade, but it's a real one: you give up relevance and get back genuine surprise, the kind no algorithm would ever hand you on purpose because it has no reason to.

It's a bit like flipping to a random page of an encyclopedia instead of searching for what you already meant to look up. Most of the time it's forgettable โ€” a site that isn't for you, closed in a few seconds. Every so often it isn't, and you land on something you wouldn't have known to search for, because you didn't know it existed yet. A recommendation engine can't do that by design; it can only ever get better at giving you more of what you already knew to ask for.

This is also, not coincidentally, why the button doesn't ask you to sign in or build a profile. Not choosing only stays honest if there's nothing underneath quietly re-ranking the pool based on what you pressed last time โ€” the moment that happens, it's not random anymore, it's just a recommendation engine with extra steps.

A Field Guide to the Mood Chips

Fully random is fun, but sometimes you know roughly what kind of bored you are. That's what the six mood chips above the button are for โ€” tap one to narrow the pool instead of pulling from all 217 sites. Every one of the 217 sites carries exactly one mood tag, so the chips add up to the whole rotation with nothing left over and nothing double-counted. Here's what's actually behind each one.

๐ŸŽฎ Arcade (46 sites) โ€” quick browser games you can pick up in seconds, no download required. This is the classic "bored at a desk" category: think CoolMathGames, CrazyGames, and Y8 โ€” the kind of site that's been around since browser Flash games were the whole internet, minus the Flash. Skribbl.io and a growing shelf of physics-ragdoll games round it out.

๐Ÿง  Quiz (37 sites) โ€” trivia, knowledge tests, and "how much do you actually know" pages. Sporcle and FunTrivia anchor this one; expect geography sporcles, logic categories, personality and purity tests, and the occasional "name every country" rabbit hole that eats twenty minutes.

โš–๏ธ Dilemma (34 sites) โ€” would-you-rather style questions and moral hot takes with no clean answer. MIT's actual Moral Machine research project lives in here alongside neal.fun's Absurd Trolley Problems and a handful of trolley-problem variants โ€” genuinely one of the deepest pools of the six.

๐ŸŽจ Art (19 sites) โ€” cursor-based drawing tools and generative visual toys. Patatap, thisissand, and AutoDraw are the tone-setters: no login, no save button, just move your cursor and see what happens.

โšก Reflex (15 sites, the smallest category) โ€” reaction-time tests and speed challenges that take ten seconds to try and are strangely hard to walk away from. Purely score-chasing: how fast can you click after the screen changes color, over and over. Smallest on purpose โ€” there just aren't that many good ones.

๐Ÿ‘ป Weird (66 sites, nearly a third of the whole rotation) โ€” the catch-all, and by far the biggest bucket: eerie photo archives of dead malls and abandoned places, liminal-space galleries, old-web time capsules, map-based oddities, things that genuinely don't fit anywhere else. DeadMalls and Library of Babel both live here, alongside a handful of oldweb.today-style time-capsule sites. If you only ever press one chip, this is the one most people land on โ€” it's the reason "Weird" ended up over four times the size of Reflex, the smallest category, instead of being trimmed to match.

Tap a chip to activate it, tap it again to go back to the full 217-site pool โ€” you can only have one active at a time, so picking Weird means you're only drawing from those 66 until you turn it off again. There's no "mix two moods" option by design; the whole point is narrowing a big pool down to something small enough to feel curated, and two chips at once starts to defeat that.

If you're not sure which one to pick, that's the actual argument for leaving all six off. The categories exist for when you already know roughly what you're in the mood for โ€” a quick game, a moral rabbit hole, ten seconds of reaction testing. When you genuinely don't know, the plain button pulling from all 217 is still the default experience, and arguably the more honest one. See the FAQ for how the shuffle logic itself works.

217 Sites, Zero Accounts

Most "random site button" projects online are years-old link dumps โ€” half the URLs are dead, and nobody's gone back to check. We didn't want to build another one of those, so every one of the 217 sites currently in the rotation was tested individually before it went live: does it load, is the certificate valid, is it actually still the thing it claims to be.

The rotation started at 151 sites, with 9 candidates rejected during that first round of testing โ€” a couple of dead domains that had simply expired, one site whose security certificate had been revoked since whatever list we first pulled it from, and one that, when we actually opened it, just wasn't there anymore. A second batch of 66 sites was added afterward, checked the same way, with every single one still live by the time it made the cut.

Roughly a third of the 217 block being loaded inside another page โ€” a security header most sites set called X-Frame-Options. CrazyGames, Newgrounds, ArmorGames, AddictingGames, neal.fun, Poki, and JetPunk are all in that group, among others. Rather than let those sites silently fail behind a blank iframe, we checked every single one ahead of time with a small script that reads the actual response headers โ€” not guesswork, not a reused list from somewhere else โ€” and built a fallback: those specific sites open in a new tab instead, with a clear "won't open inside the button" message rather than a dead screen.

That check only runs once, when a site is added or re-verified, not on every press โ€” which means the list can drift out of date if a site changes its embedding policy later. It's re-run periodically rather than continuously, which is a deliberate tradeoff: a real-time header check on every single press would slow the button down for no real benefit. The blocklist itself matches on hostname suffix rather than exact URL, so a blocked domain's subdomains get caught automatically without needing a separate entry for each one.

Making the embedding actually work at all took a specific security setting most sites don't need: the page's Content-Security-Policy allows frame-src *, meaning it can embed literally any third-party origin. That's a wide-open rule, and we don't take it lightly โ€” everything else in the policy stays locked down as tight as a normal site (no inline scripts from elsewhere, no arbitrary fonts, no unexpected connections), and the iframe itself runs sandboxed so an embedded page can't reach outside its own frame.

The other design decision was to skip the usual stuff โ€” no accounts, no cookies, no analytics. The button picks from a local list in your browser and nothing about your presses is logged anywhere. There's no database behind this site tracking which sites you've seen or how often you press โ€” the entire "state" of the app is a shuffled array sitting in your own browser tab, gone the moment you close it.

Full details are on the Privacy Policy, and the numbers behind the vetting process are on the About page.