Designing a REST API in Swift

Reiterate uses a backend server to coordinate its in-app purchases. The app and server communicate via a REST API. Here’s how I implemented that in Swift.

Using Tags to Note Infrequent Reminders

One of the ways to use Reiterate’s tag feature is to filter infrequently-used tips.

Creating Custom Bundles for On-Demand Resources

For the new in-app purchase flow, with on-demand resouorces, I needed to organize Reiterate’s products into separate bundles.

You Should Almost Always Vote Yes to Surrender

League of Legends offers players the ability to forfeit games. After a certain amount of time, any player can start a surrender vote, and if enough players vote Yes then the game ends with a loss. When is it appropriate to surrender a game?

Reiterate 1.4.3

Reiterate has been updated to version 1.4.3 and is now available on the App Store.

Transaction Verification with the App Store Server API and Rails

Apple released the new StoreKit 2 API, and I’ve been working on updating Reiterate to use it.

Eliminate Autopilot with Acknowledgement

Everyone agrees that autopiloting is a bad habit. Here’s how you can use Reiterate, and specifically its Acknowledgement feature, to eliminate autopilot from your game play.

How to Suppress Fatal Logging from Rails Middleware

This bothersome bit of intrusion bot spam has been vexing me for some time, and I’ve finally figured out how to fix it.

Reiterate Website Updated

The Reiterate website has a fresh new look!

Mute All is Like Locked Camera

One piece of advice I’ve seen given frequently is “You should mute all your teammates at the start of every game.” Here’s why I think you should reconsider that.