Ryan Hernalsteen (@RyanHernalsteen) profile picture

Husband, father, photographer, BJJ πŸŸ«πŸŸ«β¬›οΈπŸŸ«

Traverse City, MI
Joined October 2022
Photo by Ryan Hernalsteen (@RyanHernalsteen)Photo by Ryan Hernalsteen (@RyanHernalsteen)Photo by Ryan Hernalsteen (@RyanHernalsteen)Photo by Ryan Hernalsteen (@RyanHernalsteen)Photo by Ryan Hernalsteen (@RyanHernalsteen)Photo by Ryan Hernalsteen (@RyanHernalsteen)Photo by Ryan Hernalsteen (@RyanHernalsteen)Photo by Ryan Hernalsteen (@RyanHernalsteen)
6/ Where Claude Code fit: it wrote a lot of the code. Every design decision was mine. Playtesting showed runs ended too fast. The fix wasn't code, it was a distinction: endings that stop your run vs completions that pivot you into a new storyline. Shipping it took an afternoon.
2
7
5/ Because the engine runs entirely in the browser, guest mode fell out of the architecture for free. You can play a full run with no account. Only saving needs one. The generous choice was also the easy choice. That's what a good architecture decision feels like.
1
1
4/ The stack: β€’ Game engine: client-side TypeScript, scenarios are markdown files compiled at build time β€’ Auth: hand-rolled Google OAuth on Pages Functions, signed cookies β€’ Saves: Cloudflare D1 (SQLite)
1
7
3/ The test I set myself: take the stack my personal site already runs on (Astro + Cloudflare Pages) and stretch it into something it was never meant to be. No game framework. No auth provider. No new hosting bill. I expected to hit a wall. I didn't.
1
6
2/ The premise: you're a new hire at a company. Every scene is a choice. Some are safe, some are rolls against your Cred, Political Capital, Sanity, or coffee level. Storylines build to crossroads. Take the promotion or walk. Forward the email or kill the thread.
1
1
1/ I shipped a game. A full workplace RPG: dice rolls, 14 endings, Google sign-in, saved progress, a Wordle-style daily mode. It runs on a static site host. The infrastructure bill is $0. What I learned finding the edge of Claude Code + a free stack 🧡
1
24
The Softball Trip was spotted in Jonesville, Michigan! @jamybechler #thesoftballtrip
2
3
199
Ryan Hernalsteen retweeted
Be in the game even when you're not in the game.
2
153
11
688
107,663
Ryan Hernalsteen retweeted
πŸ₯ŽπŸ₯ŽπŸ₯ŽπŸ₯ŽπŸ₯ŽπŸ₯Ž
π™π™π™š π™˜π™€π™ͺ𝙣𝙩𝙙𝙀𝙬𝙣 π™—π™šπ™œπ™žπ™£π™¨... ⏳ @LA28 | #USASoftball
1
1
49
3,809
Summer 2025 games are won during Summer 2024 evenings πŸ’ͺπŸ₯ŽπŸ’™πŸ§‘ #softball #231fusion
14
I'm going to work hard. I'm going to train hard. I'm going to try and improve myself. I'm going to own my mistakes, I'm going to confront them. I'm going to face my demons. And I'm not going to give up, or give out, or give in. I'm going to stand. 18-2:09:49
79
5
443
14,136
Ryan Hernalsteen retweeted
"You can either lower your goals to match your effort, or you can raise your effort to match your goals." (Coach K)
114
9
396
86,881
"The Leadership Matters Podcast" has a NEW EPISODE: We talk with Clare High School (MI) AD Rob Wise. #LeadershipMatters greatlakessportsleadership.c…
1
2
93
Another big weekend for Kenzie, with 231 Fusion 12U going 5-0 and winning the Storm Summer Classic championship! She played well in the field, and hit 7 for 14 on the weekend. So fun to watch these ballers play! youtu.be/OgMhaIUBurU?si=hpYV…
1
16
Super proud of this group of ballers winning the Summer Storm Classic in Hudsonville!
2
3
128
Great Lakes Sports Leadership now has its own Twitter account! Follow @GLSLeadership
1
59
Kenzie had a great time at the Storm College Exposure Camp today in Grand Rapids! Last 12U tournament starts tomorrow, then it’s on to 13U/14U tryouts! #softball #travelball #231fusion
16