Simon Grimm retweeted
After Tiny Harvest, we made a second game.
Tiny Hospital is a cozy hospital sim for iPhone. Nobody dies, nobody goes broke, and the worst disease is a personal raincloud.
The open beta starts today. Come cure some patients 🩹
After Tiny Harvest, we made a second game.
Tiny Hospital is a cozy hospital sim for iPhone. Nobody dies, nobody goes broke, and the worst disease is a personal raincloud.
The open beta starts today. Come cure some patients 🩹
Join the beta on TestFlight (free):
testflight.apple.com/join/6J…
Bugs, ideas and feedback go in our Discord:
tinyindie.de/discord
Every Tiny Harvest update can break the game for 1,000 players.
The fix often takes 2 minutes. Getting it onto their phones through App Store review takes days.
So here's my whole release pipeline, and when I skip the store with an OTA update 👇
🤝 Paid partnership
The one question I ask before every release:
"Did the native app change?"
Yes → new build, TestFlight, store review
No → an OTA update might be enough
Full video, sponsored by @codemagicio:
youtu.be/mTPboJJwf-M
One day Google blocked the payouts for our game.
The cause: a payments profile mismatch from a setup ~10 years ago. Support's answer: create a new developer account and transfer the live app to it.
Sounded terrifying. Reality: a few keys to update, zero downtime, payouts released.
The other three things that almost killed the game: youtu.be/6aBvhmaLqug
Instant Cloud, the backend our game runs on, is shutting down. I got the email the moment our plane landed after summer vacation.
Deadline: about 3 weeks. Thousands of active players. Downtime wasn't an option.
How we moved to self-hosting, and what it costs now 🧵
4/ The cost: our backend used to be about $25 a month. Self-hosted on AWS it's around $500 (a big Aurora instance plus two EC2 servers).
It runs a bit better than before. That's the price of owning your backend.
5/ Lesson: keep database calls behind your own layer, so a provider can be swapped. I didn't, and it might not have saved me, but it would have given me options.
Full story in this video: youtu.be/6aBvhmaLqug
Our game's Sentry had 324 unresolved issues. So many that real regressions were invisible.
One session with Claude and the Sentry MCP: 324 → 48.
How we sorted them 👇
3/ The other half: Seer autofix. Connected to GitHub, it reads the issue together with our logs and spans, drafts a fix and opens a PR.
So sometimes an issue arrives with the fix already waiting for review.
I show both in this video. Sentry sponsored it, and I use it every day in Tiny Harvest: youtu.be/6aBvhmaLqug
On the way to our Easter vacation, my dad messages me: something's wrong with the game.
Players were in the wrong co-op. Profile screens showed another player's data.
I hadn't touched the code in days. For an hour I was sure we'd been hacked 🧵
3/ The part that was on me: our API never told caches "don't store this".
Any response that depends on who's asking should send Cache-Control: no-store. Ours now sends it on every API response. One header, and an upstream cache mistake can't leak player data.
4/ Full story, plus three other things that almost killed our game: youtu.be/6aBvhmaLqug

