system design · system-design

Design the App Store (Catalog + Distribution)

Catalog, search, payments, review system, distribution at scale, regional availability.

hard4hgeneralsystem-design
Ask GPTConfidence

Theory

Explanation

Intuition first, formal definition second. Skim the bullets if you already know this; read the prose if you don't.

App Store = catalog + payments + binary CDN + reviews + ranking. Distinctive: regional availability rules, app-review pipeline, and very large signed binaries.

Catalog stores app metadata per (app_id, region), title, descriptions, screenshots vary. Search inverted index. Payments via Apple ID + StoreKit. Binary distribution via CDN with delta updates (App Thinning slices per device). Reviews moderated for spam + abuse. Ranking blends downloads, ratings, retention.

When to use

App marketplaces, plugin stores, OS-level package managers.

When not to

Internal enterprise distribution (use MDM).

flowchart LR
  Dev[Developer] --> Submit[Submit Build]
  Submit --> Review[App Review Pipeline]
  Review -->|approved| Cat[(Catalog · per region)]
  Cat --> CDN[Binary CDN]
  Cat --> Idx[(Search Index)]
  User([User]) --> Store[Store App]
  Store --> Cat
  Store --> Idx
  User --> Pay[StoreKit Payments]
  User --> CDN
  Reviews[(Reviews)] --> Mod[Moderation]
  Mod --> Reviews

Key insights

  • Regional availability is per-app and per-feature, must filter at every API.
  • App Thinning ships only the slice for user device, saves bandwidth.
  • Review pipeline mixes ML scanners + human review, turnaround days.
  • StoreKit isolates payment scope; apps never see card details.
  • Search ranking blends quality signals; not pure popularity (anti-manipulation).