Solitaire Dark
The ad-supported twin of Classic Solitaire: the same forty-module core, a dark theme and a full mediation stack, compiled from one codebase behind a single build flag.

The impact:
What this product is.
Solitaire Dark reaches the audience Classic deliberately does not: players who would rather watch advertising than pay. It ships as its own app, with its own package name, store listing and dark visual theme, and it is built from exactly the same repository as Classic.
What needed solving.
Serving both an ad-free and an ad-supported audience usually means forking the project, and a fork means every future feature is built twice and drifts apart within months. The commercial upside of a second listing is only worth having if it costs almost nothing to maintain.
How we approached it.
Instead of a fork, the two editions are build variants of one codebase. Every line of advertising code lives behind a single “DARK_APP” compilation flag, so the Classic binary physically cannot contain a mediation SDK, and YAML build configs select the package name, theme and Firebase project per variant. A feature written once ships to both apps; the ad stack exists in only one of them.
What's inside?
Classic and Dark are build variants selected by YAML config — package name, theme, Firebase project and store listing all switch together.
Every advertising call site sits inside a “DARK_APP” conditional, enforced by review, so the ad-free build cannot ship a mediation SDK.
Multiple ad networks competing per impression, tuned through remote configuration rather than app updates.
A separate art and UI treatment that makes the two listings read as distinct products in the store.
Both editions report into the same GA4 event schema, so monetization models can be compared directly against each other.
The same CI workflow builds and ships both variants to their own Google Play and App Store listings.
Tools change. Standards don’t.
We choose the stack around the product — not the other way around.
- Unity 6
- C#
- LevelPlay Mediation
- Firebase
- RevenueCat
- Unity IAP
- Google Analytics 4
- Remote Config
- GitHub Actions
- Fastlane
Unity 6, C#, LevelPlay Mediation, Firebase, RevenueCat, Unity IAP, Google Analytics 4, Remote Config, GitHub Actions, Fastlane
What we handled.
We worked on the product development and implementation, focusing on building a polished, functional and user-friendly experience aligned with the goals of the product.



