I wanted a personal website that wasn’t boring.
Not a resume and a headshot. Something fun to click, with my resume, the stuff I’ve been writing, and the things I actually do with my time.
Now sambrovda.com is a four-hole golf course. Here’s how it came together, built with my AI agents in Grok Bot.
Eight mocks before anything else
I didn’t start with a design. I started with research.
My agents went through standout personal sites people share on X and around the web. Then they built eight mocks. Not pictures. Eight working pages I could click:
- A desktop with folders and windows you can drag around
- A flat apartment where every object opens something
- A grid of widgets with cards that flip
- A sports magazine
- A timeline you can scrub through
- A “now” board that changes its look on Sundays
- A pixel-art apartment you walk around with the arrow keys
- A Sunday TV sports desk in golf green, cream, and scoreboard gold
I picked the Sunday desk. It looks like my Sunday. Watching golf is my favorite way to spend one. Fantasy lineups. Movies once the games are over.
The desk had golf on the TV. That TV turned into the whole site. Click it and you tee off.
Four holes
Each hole is one part of me.
Hole 1, par 4: my career. You drive off the tee and I introduce myself. I come from the sales world and I build software on the side with AI coding agents. The approach shot is my resume, laid out like a yardage book. On the green, my articles are the pins. Each pin opens the full piece on the site.
Hole 2, par 4: movies. The tee shot is at a drive-in. There’s a projector beam, a marquee with chasing bulbs, and a clapperboard that snaps when the ball lands. The green ends with two ticket stubs. Inglourious Basterds is my all-time pick. You Can See Everything is the 2026 Elizabeth Holmes documentary from Nathan Fielder and Lance Oppenheim. I saw it recently, and it’s already one of my favorite movies of all time.
Hole 3, par 5: the Mets. You tee off toward a ballpark in Queens, with light towers and a train passing by. Then it plays an illustrated replay of Francisco Lindor’s grand slam in Game 4 of the 2024 NLDS. October 9, Citi Field, against the Phillies. Bottom of the sixth, bases loaded, one out, Mets down 1–0. A 99.4 mph fastball on a 2–1 count. 109.5 mph off the bat, 398 feet into the Phillies’ bullpen. The scoreboard flips to 4. Final, 4–1, and the Mets are on to the NLCS.
On my scorecard that hole goes down as a 2. On a par 5, that’s an albatross.
Hole 4, par 3: dinner in New York. It’s a short shot off a rooftop, over a street full of moving cabs. Neon signs flicker on when the ball lands. The green sits under string lights with three pins: Minetta Tavern, Hillstone, and Peter Luger. Those are my three favorite restaurants in the city.
Then you sign the card. The scores get written in, the birdies get circled, the card gets signed with my name, and there’s confetti. Ten shots, six under. The page is upfront about it: the scores are part of the game, not a real round of golf.
It has a broadcast
Every hole has a commentator.
“Sam Brovda, on the first tee.”
On hole 3: “Into the Phillies’ bullpen. Grand slam.”
At the end: “From Sam Brovda’s course, that’s the broadcast.”
All of it is original. The lines were written for the site. They’re spoken by an open-source text-to-speech voice trained on public-domain audiobook recordings, and it’s not an impression of any announcer. The crowd is synthesized in code: filtered noise, layered “ooh”s, and hand claps.
The sound is timed to the animations. The ball lands, the crowd reacts.
Browsers often block sound until you interact with the page. When that happens, the mute button turns into a gold “Tap for sound” pill. One tap and it comes in. If you mute it, it stays muted from hole to hole.
Nothing borrowed
There’s no game footage on the site. No broadcast audio, team logos, movie posters, or player photos.
Every scene is drawn in code. The batter on hole 3 wears a generic pinstripe uniform and a blue “SB” helmet. It’s not a likeness of Lindor. The page says it’s an original illustration, not affiliated with the Mets or MLB.
Fun on top, real text underneath
I had one rule for every page: it has to be readable to search engines, not just fun to click.
So the interactive stuff sits on top of real text. It doesn’t replace it. Under the drive-in and the ballpark, each page is plain words: who I am, my favorite movies, the box score.
Every page has my name in the title and the main heading. Each one has its own canonical link, structured data that says who I am, and a spot in the sitemap. That rule covers every new hole too.
It helps people as well. If your device is set to reduce motion, the long animations get skipped. The tee pages show the finished shot, and the greens open with the links already showing.
I clicked through it myself
I’d rather click through something than look at screenshots of it.
So the course got opened live on my Mac, and I played it hole by hole like anyone else would.
Going live
The site runs on Cloudflare Pages, for free.
My domain is registered at Spaceship. I switched its nameservers to Cloudflare and waited for it to activate. Once it did, sambrovda.com and www.sambrovda.com both came up.
My writing lives there now too. Every article I publish gets its own page on sambrovda.com with the full text. Medium stays the original, and each copy points back to it.
If you’re building your own
A few things I’d steal from how this went:
Look at a few mocks you can actually click before you pick a direction.
Put real text under the fun stuff.
Click through it yourself before you call it done.
More holes are coming.
— Sam Brovda. Play the course at sambrovda.com.