Building Our First In-App Purchase Screen

Birdie Board’s original in-app purchase screen showing yearly, monthly, and match credit options with custom design.

As with most software, Birdie Board isn’t free to run. Every match saved, statistic calculated, and feature synced relies on servers and services that come with a real cost. So, early in development, we knew we needed a way to support those costs without overcomplicating things for golfers.

We wanted something simple and fair. No hidden tiers or unnecessary paywalls…just enough to keep the app running well and the golf community growing. That led us to the question: how do we handle in-app purchases?

Like most small software companies, we started by trying to build it ourselves. We didn’t use a third-party service at first. Instead, we created our own purchase flow and UI that allowed users to subscribe or buy match credits directly inside the app. The goal was to learn how the process worked from the ground up and keep as much control as possible.

The two screenshots here show what that first version looked like. The first screenshot showed the very first layout. It was standalone and not used anywhere. We expanded and placed it in the UI, with a restore purchases button. You can see this in the second screenshot.

Each version included:

  • A Yearly Subscription at $99.99/year for unlimited matches

  • A Monthly Subscription at $14.99/month for unlimited matches

  • A 3 Match Credit Pack for $9.99, allowing pay-as-you-go play

These options reflected our philosophy from the start: users should be able to choose how they want to support the app…whether that’s an ongoing subscription or occasional match credits.

Building our own purchase logic worked for a while, but it quickly became clear that managing purchases across iOS and Android was going to take more time than it was worth. Each platform handles validation, restoration, and subscription syncing differently. That’s when we discovered RevenueCat, a service built specifically to simplify all of that.

Switching to RevenueCat made a huge difference. It handles all the edge cases for us…restoring purchases, syncing subscriptions across devices, and keeping everything consistent. It also gives us better visibility into what’s working so we can continue improving the app.

Even though our custom version was short-lived, it was a valuable step. It taught us what users expect, helped us define our pricing, and reinforced what’s most important: keep things straightforward, transparent, and community-driven. We aren’t trying to hide features behind a wall or charge for every little thing. We just charge what makes sense to keep the company running smoothly and to continue building tools that make golf more fun and social.

Next
Next

The First Version of Scoring