CLIENT: Greenmonkey Gully Studios🇧🇧Barbados

Tuk - Fair In-Game Store and Pearl Ledger for a Mobile Puzzle Game

In-Game Store and Economy Console for a Caribbean Game Studio

Designed and built a clickable store and economy console for a Barbados studio's free-to-play puzzle game: offers that pass fairness checks before they go for approval, a double-entry Pearl ledger that never lets a balance go below zero, Apple refund and Google void handling, and a player view with spending limits and parent requests.

Scope of Work
Product design, UI build and clickable demo
Industry
Gaming / In-Game Store
Mobile
Compliance & Certifications
App Store Guideline 3.1.1Google Play payments policyCPC virtual currency principlesEU UCPDDMCC Act 2024COPPAUK Age Appropriate Design CodeGoogle Play Families policyBarbados Data Protection Act 2019GDPRUK GDPR

Most of our work is under NDA. Per agreement, we can share the work but not the company details - all names and identifying information shown here have been changed.

Impact

5 Screens
Clickable end to end

Dashboard, offers, the offer editor with a live phone preview, refunds and voids, and player detail with the journal lines behind every balance.

8 Checks
Fairness rules in the offer editor

Real-money price first, reference price for any discount, no random contents, cosmetic only, no personalised targeting of under-18s and a copy blocklist, plus pack fit for Pearl-priced offers and a real end time when a timer shows.

Zero Floor
On every Pearl balance

Refunds revoke bonus Pearls first and never more than the balance. The rest is a shortfall memo, auto-processed under 1,000 Pearls or on a player's first refund in 90 days.

16 Players
Realistic demo data

16 offers, 18 cosmetics, 6 Pearl packs, 5 bundles, 29 purchases and 12 refund cases, with prices in 8 storefront currencies and a full ledger history for one player.

The Problem

Flyingfish Tiles grew faster than its store. Offers were hard-coded into client builds, so a price change needed an app release. Pearl balances were a single number on the player record, and when Apple or Google refunded a purchase, support removed Pearls by hand, leaving some players negative and others with currency they never paid for. Nobody could say how many Pearls were in circulation, parents wrote in about children spending without asking, and a player in Ireland called a countdown offer "fake urgency".

Our Solution

Tuk gives Greenmonkey Gully's economy, live ops, support, finance and player safety staff one console for the store and its currency. Offers are built in the console and checked against fairness rules before approval, every Pearl moves through a double-entry ledger, refunds and voids are revoked without driving a balance below zero, and each player's spend, limit and parent link sit on one page.

The Challenge: A Store Players and Parents Can Trust

Flyingfish Tiles is sold through Apple and Google to players across the Caribbean, North America, the UK and the EU, so every offer has to respect platform billing rules, consumer law in each market and the studio's own policy for children.

Offers Locked in the App Build

Prices, bundles and daily deals were hard-coded into client releases. Changing a price meant shipping a new build, and there was no review step between an idea and what players saw.

Balances Without a Ledger

Pearls were one number per player. Refunds from Apple and voids from Google, including chargebacks, were corrected by hand after the Pearls were often already spent, so balances went negative or kept unpaid currency.

Fairness Rules From Many Sources

The CPC Network's principles ask for real-money prices next to virtual currency and no forced overbuying. The EU Unfair Commercial Practices Directive and the UK DMCC Act 2024 prohibit misleading and aggressive practices, so false countdowns and fake scarcity are out.

Children Spending Without Asking

COPPA generally requires verifiable parental consent before collecting personal information from under-13s, and the UK Age Appropriate Design Code and Google Play Families policy point the same way. The studio also chose no personalised offers for anyone under 18.

Our Approach: From Store Rules to a Clickable Console

01

Spec and Rules Research

Mapped 9 roles and 38 screens across the staff console, the in-game store, a parent portal and player web pages, and the data model for items, Pearl packs, offers, price points, purchases, ledger accounts and journals, refund cases, spending limits, parent links, safeguard reviews and change requests. Wrote down the rules the design follows: Apple and Google billing with server-side validation, the CPC principles, the UCPD and DMCC Act, withdrawal rights, COPPA, the UK Age Appropriate Design Code, no paid random items, and the Barbados Data Protection Act 2019, GDPR and UK GDPR.

02

Clickable Demo on a Production UI Kit

Built 5 key screens of the staff console on a production dashboard kit: the dashboard with 5 KPIs, bookings by platform, Pearl sources and sinks and a needs-attention list, the offers table, the offer editor with a phone preview by platform, theme, language and currency and fairness checks that update as you edit, refunds and voids with the proposed revocation journal, and player detail with wallet, purchases, spend and limits, inventory, parent link and activity tabs. All actions run on local state.

03

What a Production Build Adds

Integration with StoreKit 2, the App Store Server API and Server Notifications V2, Google Play Billing, the Play Developer API, real-time developer notifications and the Voided Purchases API, Apple Ask to Buy and Google Play parental approval, the game backend, an event stream such as Segment or Kinesis, store sales reports and parent emails through Postmark or SES. Staff single sign-on, an audit log of every price, offer, limit and grant change, and the remaining screens: catalogue, schedule, price points, economy dashboard, ledger explorer, simulations, change requests, safeguard reviews, targeting rules, reports, the in-game store and the parent portal.

Why It Works: Fair by Default, Balanced by Design

Fairness Checked Before Approval

The offer editor shows the local price first and runs every fairness check under the phone preview. A "was" price appears only with a reference price, meaning the same contents on sale 28 of the last 90 days, and wording such as "Only today!" on a repeating offer is flagged for a reviewer.

A Ledger, Not a Number

Every Pearl and Shell balance is built from append-only journal lines with the balance after each one, paid and bonus Pearls kept apart. Corrections are new journals, and the dashboard confirms that debits equal credits with 0 wallets below zero.

Refunds That Never Go Negative

Each refund or void shows where the Pearls went, then proposes a revocation journal: bonus Pearls first, never more than the balance, with the rest held in a shortfall account rather than against the player. Nobody is blocked from playing because of a refund.

Limits and Parents on One Page

Player detail shows the age band, month-to-date spend against the limit and who set it, the limit history and requests sent to a parent. Lowering a limit applies at once, raising takes 24 hours, and a goodwill grant above 500 Pearls becomes a change request.

Related case studies

View all: Gaming
Logo
Oceanlab

Enterprise Software Engineering - Human + AI

Languages

Locations

Global Headquarters

21 Merchant Road, 3rd Floor, Singapore 058267

Main corporate office and leadership operations

North America Office

548 Market Street, PMB 12345, San Francisco, CA 94104

Client operations and business development

India Office

402 Shivalik Shilp II, SG Highway, Ahmedabad 380015

Engineering and delivery center

© 2026 - Copyright. All Rights reserved Oceanlab