Bachmanity Bytes: A Nod to Silicon Valley (And an Excuse to Mess Around with Kotlin)
Source: Dev.to

If you’ve worked in tech and watched Silicon Valley, you know it hits surprisingly close to home.
The VCs who love the vision more than the details? Familiar. The pivot meetings where everyone stays optimistic? They happen. Engineers having passionate debates about code style? Guilty.
Every time I rewatch an episode, I recognize moments from my own career. Gavin Belson’s corporate speak? I’ve heard those presentations. The Hooli engineers building ambitious projects? That’s just how innovation works. Russ Hanneman’s energy at networking events? You’ve probably met someone similar.
The show ended in 2019, but it captured something timeless about tech culture. So naturally, I decided to honor it the only way I know how: by building something completely unnecessary.
The Premise Nobody Asked For
You know what the world definitely doesn’t need? Another quote website. I built a Silicon Valley quote generator with a brutalist 80s terminal aesthetic that looks like it belongs in a museum exhibit called “Computers Were a Mistake.”
Does anyone need daily Gavin Belson wisdom? No (well, maybe). Will this change anyone’s life? Absolutely not. Did I deploy it to Google Cloud anyway? You bet.
Welcome to Bachmanity Bytes.
Why Kotlin? Because It’s Actually Good
Typically, a simple web app like this would be built with JavaScript. I chose Kotlin because it’s genuinely enjoyable to work with—Java went to therapy and came back a better person: all the power, none of the boilerplate.
The stack
- Kotlin – for that sweet, sweet null safety
- Ktor – because Spring Boot felt like bringing a flamethrower to a candle‑lighting ceremony
- kotlinx.serialization – JSON without wanting to throw my laptop out the window
- Google App Engine – for the joy of IAM permissions at 11 pm
The Architecture (Using That Word Loosely)
┌─────────────────┐ ┌─────────────────┐
│ Ktor Server │ │ Clikt CLI │
├─────────────────┤ ├─────────────────┤
│ /api/daily │ │ daily │
│ /api/random │ │ random │
│ / │ │ serve │
└────────┬────────┘ └────────┬────────┘
│ │
└───────────┬───────────┘
│
┌──────┴──────┐
│ QuoteService │ ──→ 80 quotes of wisdom
└─────────────┘
The daily quote uses LocalDate.now().toEpochDay() % quotes.size to pick a quote, so everyone gets the same quote each day. I’m calling that a feature.
The CLI Nobody Asked For (But I Built Anyway)
Because a web app wasn’t enough over‑engineering, I also built a CLI using Clikt. Now you can get Silicon Valley wisdom without ever leaving your terminal.
# Get today's quote
bachmanity-bytes daily
# Feeling chaotic? Random quote
bachmanity-bytes random
# Want episode details? Be verbose about it
bachmanity-bytes daily -v
# Start the web server locally
bachmanity-bytes serve -p 3000
Sample output
"Not hotdog!"
— Jian-Yang
With the -v flag:
"Not hotdog!"
— Jian-Yang (S4E4)
Is this practical? No. But there’s something satisfying about typing bachmanity-bytes random and getting a bit of humor during a frustrating coding session.
The “Design” (Air Quotes Intentional)
I wanted a brutalist 80s aesthetic—hard edges, terminal vibes, neon green on black.
body {
background: #0a0a0a;
color: #00ff41;
font-family: 'VT323', 'Courier New', monospace;
}
Black background, neon green text, CRT scanlines. I used AI (thanks Claude) for the styling and front‑end functionality, because life’s too short to wrestle with CSS when you just want to build something fun.
Deploying to App Engine: A Journey
- Run
gcloud app deploy - Encounter a permissions error about storage buckets
- Google the error
- Run some IAM command
- Paste the command wrong because of line breaks
- Finally get it working
- Realize you could have just used the Cloud Console UI
The deployment now scales to zero when nobody’s using it (which is always), so it costs approximately nothing to run.
The Quotes
80 hand‑curated gems, including:
- “This guy f***s!” — Russ Hanneman
- “Not hotdog.” — Jian‑Yang
- “I don’t want to live in a world where someone else makes the world a better place better than we do.” — Gavin Belson
- “The bear is sticky with honey.” — Jared Dunn
Full disclosure: I used AI to generate these quotes. They’re not guaranteed to be 100 % accurate to the show, and I didn’t fact‑check them. If Jared never actually said “The bear is sticky with honey,” I don’t want to know. It’s canon now.
What I Actually Learned
- Ktor is nice – The HTML DSL is clean, and embedding CSS/JS inline works fine for a tiny project.
- App Engine is still a thing – It’s pretty simple once you figure out the permissions dance.
- Building useless things is fun – Sometimes you just want to see Gilfoyle quotes in neon green.
Try It
Live at:
The code is here. It’s as messy as you’d expect from a project built in one sitting: CSS and JavaScript are inline, everything lives in a couple of Kotlin files, and it compiles—basically the same as working, right?
Conclusion
Did I spend several hours building a quote website that nobody will use? Yes. Did I learn some Ktor and refresh my App Engine knowledge? Also yes. Would Erlich Bachman be proud? He’d probably try to take 10 % equity.
If you want to waste your time building something equally pointless, I highly recommend it. It’s cheaper than therapy and slightly more productive than doom‑scrolling.