The original startup website generator by Tiff Zhang and Mike Bradley landed on Hacker News in April 2015 (https://news.ycombinator.com/item?id=9427856) and has been one of my favorite little novelties of that era ever since. It perfectly captures the saturated colors, cliché hero shots, gimmicky names, buzzword-heavy slogans, and proudly hirsute team photos of the time.

A lot has changed since then, so I thought it would be fun to make a contemporary remake: https://restarted.io/

By default you get the minimalist aesthetic and clean-cut faces of 2026. The classic 2015 look is still available — just click the link at the bottom of the page or change the “z” parameter in the URL to the more familiar “s”. The universe of partner sites and competing startups is just as expansive as it ever was.

The original site is entirely client-side and requires downloading all of the data tables locally. It leans on a mix of jQuery 1.11.2, Bootstrap 3.3.2, and Font Awesome 4.3.0, and if you view the source, it instantly gives away all of its secrets. For restarted.io I replaced all of that with a server-side renderer written in Go, so this time view-source tells you nothing. There are many Easter eggs in there — see how many you can find before I write them up.

My original goal was to stay faithful to the 2015 appearance, and that turned out to be a technical adventure. The original's sine-based random number generator is... the worst, and different implementations of sine give different results. The eventual solution was to extract the exact sine function from Chrome’s V8 engine, as vendored C behind cgo and as a line-by-line Go port that keeps cgo optional, so the seeds and results line up the way they used to. Both are checked against V8’s own test cases.

Then I discovered a bug in the original code that made half of its vocabulary unreachable — the first half of the verb table and the second half of the noun table, exactly complementary, so nothing about the output ever looked truncated. My goal then shifted from remaking the generator as it was in 2015 to remaking the site as the authors intended it to be in 2015.

Over the years several people asked for their photos to be removed, so the remake instead draws from a broad pool of era-appropriate AI-generated profiles. A perceptual hash helps keep everyone looking distinct, and there’s a bit of extra care to make sure the Wang Fangs of the world don’t appear as Irish lasses.

The hero image pool is much larger now, and all the old Rio de Janeiro shots have been retired, though you’ll still recognize plenty of the 2015 photos.

Have fun poking around!

  • qurren 17 hours ago |
    Given what we can do today with LLMs it would be even cooler if it thought of some actually good business ideas and created the website with mockups of them.
    • zingar 16 hours ago |
      I legit thought that this was what was being sold here
    • zxcvbn4038 13 hours ago |
      This solution is less LLM and more parrots $h1tt1ng on newspaper. Keep clicking and see what else you find.
  • captn3m0 16 hours ago |
    • xp84 16 hours ago |
      wow, watch out, someone might steal that idea right out from under you
      • zxcvbn4038 13 hours ago |
        I'm sure it's one of those Thomas Edison/Joseph Swan situations. Keep clicking and see what else you find.
  • vova_hn2 8 hours ago |
    What did you use to generate human faces? As far as I remember, the earliest and most famous face generator ("This Person Does Not Exist") used GAN.

    Anyway, my "Luciana Roberts" [0] has an artifact around her hair very similar to what older GANs often produced.

    It's not a complaint, just a curious observation.

    [0] https://restarted.io/?z=448760197027

    • zxcvbn4038 8 minutes ago |
      The original startup simulator used cropped images of real people, and I could see in the git history where people had asked to have their photos removed, so for the remake I decided to use AI for the headshots. Each was generated with the grok-imagine-image-quality model. The prompt for each person had sixteen different attributes (gender, age, heritage, hair color, face shape, glasses, etc.), and no two images have the same values. ArcFace is then used to ensure each face has a minimum difference compared to all other faces. Anything too similar was kicked out and a new profile replaced it. The result was ~500 headshots each for the 2015 and 2026 eras. The gender and race of each image are tracked so that when one is selected, an appropriate name can be drawn for it. The list of last names was the largest table in the original generator. It seemed overkill for what it was doing, so for the remake I discarded all the names below a certain probability.