I posted about the eight small sites I build on the side, and someone in the comments said culdesac.site was their favourite. Their take: the name already sounds like a quiet dead-end street where weird little corners of the web live. That's pretty much the whole idea, so here's how it works.
What it is
You land on a teal 1997 desktop with one grey window and one button: find me somewhere. Press it and a little browser window opens on a small site somebody made. Hit Next for another one. Visit opens the real thing in a new tab. On a phone you just swipe.
It's not a new idea. The Useless Web and a pile of random-site buttons have done this for over a decade. The mechanic was never going to be the interesting part. The list is.
The list
There are 975 sites in it right now, and every description was written fresh for this. None are copied from wherever the link came from. Each one gets a label: oddity, toy, ambient, time-capsule, vista, rabbit-hole, garden or tool. They're labels, not filters.
"Garden" is for personal sites and digital gardens, and those get a stricter bar since they belong to real people. The site has to be alive, and the blurb has to say what the notes are actually about.
A few from the oddity pile: Eel Slap, Endless Horse, Pointer Pointer.
The whole catalog is one JSON file. No CMS, no database for the list. To add a site I append an object, write a blurb and run the link checker.
How the button picks
The draw is uniform over the sites your device hasn't been sent to in the last 24 hours. That "seen" list lives in localStorage as a list of URLs and one timestamp, and that's it. No scoring, nothing that reads what you saved or clicked.
One honest exception: through the end of the year, eight slots in your first 45 presses are held for my own sites (dialup.rip, salvage.run and the rest). Every other press is uniform, and the hold ends by date on its own, so it can't quietly turn permanent.
Under the hood
- React and Vite on Vercel, plus a few small serverless functions for counters, reports and suggestions.
- No cookies, no accounts. Saved sites stay on your device and never get sent anywhere.
- The previews in the window are snapshots I capture with a real browser, shrunk to small WebP files and served from culdesac.site, so looking at one tells the destination nothing. If a site won't photograph cleanly, you get the title and blurb instead of a broken image.
- Every site also has its own prerendered page at
/site/<slug>. The app routes on the hash, so without those, a search engine would basically see one page. I also dropped the SPA catch-all rewrite, so a mistyped URL gets a real 404 instead of the homepage with a 200.
Go stumble
If you miss StumbleUpon, or just want five minutes somewhere that isn't a feed, press the button: https://culdesac.site
Got a weird little site, or know one? There's a "Suggest a site" icon on the desktop.
Top comments (0)