All work
Game · iOS

An iOS memory game designed for week two, not week one

A face-and-memory quiz game with daily challenges and head-to-head battles, built around the retention cliff that ends most casual games within days of install.

Year
2025
Platforms
iOS, Web
My role
Game & UI design · iOS · Backend · Marketing site
Stack
SwiftUI, Game Center, Node.js
FaceMeQuiz — overview
The situation

Context

Casual quiz games are cheap to build and brutal to retain. The mechanic is rarely the problem — most of them are perfectly fun the first time. What is missing is a reason to open the app on day three, when the novelty is gone and nothing about the game has changed since yesterday.

The problem

Design a loop where something is different tomorrow. That is a content problem, a social problem and a difficulty-curve problem simultaneously, and solving only one of them still produces a game people stop playing — just slightly later.

What made it hard

The constraints

  • A session has to be genuinely short — two minutes, not 'about five'
  • Difficulty must rise with the player or the game becomes trivial exactly as they start caring
  • No content team, so freshness has to come from structure rather than a production pipeline
  • Animation and timing feel is the entire product; there is nowhere for roughness to hide
Key decisions

Every choice has a cost

The tradeoff is stated next to each decision, because a case study that only lists wins isn't telling you anything useful.

01

Three return mechanics rather than one

A daily reset, a live opponent and a rising difficulty curve fail in different ways and on different days. Any one alone leaves an obvious reason to stop.

TradeoffMore systems to build and balance in v1 than a single-mechanic game would have needed.

02

Native SwiftUI instead of a cross-platform game layer

In a game built on timing, transitions and score feedback, the feel is the product. Tuning that through an abstraction layer would have meant tuning it at a distance.

TradeoffiOS only. For a game whose first job was proving the loop retains, that was an acceptable narrowing.

03

Difficulty scales with the individual player, not a global curve

A fixed curve is too easy for strong players and a wall for everyone else. The interesting band is personal.

TradeoffHarder to reason about and to balance, and it makes leaderboards a more careful design problem.

04

Treat App Store submission and the marketing site as part of the build

This is the phase where most freelance game projects are handed back finished but unlaunched.

TradeoffTime spent on store assets and review is time not spent on gameplay. It is also the difference between a build and a product.

How it works

Architecture

SwiftUI throughout, with a light Node backend for battles, daily challenge state and scoring. The daily challenge is generated server-side so it can change without shipping an app update, which is what allows freshness without a content pipeline. Game Center carries identity and leaderboards rather than a bespoke account system — an unnecessary sign-up screen is a retention cost in a casual game.

SwiftUIGame CenterNode.js

Designing against the day-three cliff

Install is not the hard part; the third session is. Three mechanics carry the return: a daily challenge that resets, quiz battles that put a real person on the other side, and face-flip rounds that get harder as you improve. None is novel on its own — the work was making the loop between them short enough that playing is a two-minute impulse rather than a decision.

Freshness without a content team

The obvious way to keep a quiz game fresh is to keep writing content, which requires a team that did not exist. Generating the daily challenge server-side from existing material means the game changes every day without anyone producing anything, and it can be tuned after launch without an App Store release.

Why the launch half mattered here

Store listing, screenshots, review and the marketing site were part of this project rather than a separate phase afterwards. A casual game that is finished but not submitted is worth nothing, and getting through review is a distinct skill from building the thing.

How it ran

Build timeline

  1. Weeks 1–2

    Core loop prototype

    Built the face-flip round first and played it until the timing felt right. Everything else waited on that being genuinely fun.

  2. Weeks 3–4

    Return mechanics

    Daily challenge with server-side generation, head-to-head battles, and per-player difficulty scaling.

  3. Weeks 5–6

    Feel and polish

    Transitions, score feedback and animation timing tuned directly in SwiftUI — the pass that decides whether a casual game reads as cheap or not.

  4. Launch

    Store and site

    App Store submission, listing assets, review, and the full marketing website.

Screens from FaceMeQuiz

In hindsight

What I'd do differently

I built all three return mechanics before having any evidence about which one people would actually come back for. With hindsight I would have shipped the daily challenge alone, watched real behaviour, and let that decide whether battles were worth building — the same scope discipline I apply to client work, applied less rigorously to a project of my own.

Other case studies

MadeInPK
B2B marketplace · iOS, Android & web

MadeInPK

MadeInPK connects Pakistani textile mills with international buyers who have no reliable way to tell a real supplier from a fraudulent one. Apps, web, escrow and admin tooling — designed and built end-to-end.

GlazeMe
Social app with payments · iOS

GlazeMe

A social iOS app where the AI writes the compliment and the sender attaches real money to it. Combining generative text with a working wallet is where nearly all the engineering went.

WeCinema
Two-sided marketplace · Web

WeCinema

WeCinema lets independent filmmakers buy, sell and share work. Every meaningful decision in the build came from one problem: a two-sided marketplace is worthless to both sides until it already has both sides.

Want something built like this?

Tell me what you're making and who it's for. I'll tell you the smallest version worth shipping — and what it costs.

Chat with us