CARTOGRAPH

← Landing page · iOS MVP scope · Go-to-market · Later lanes

Cartograph — iOS MVP Scope

Company: Cartograph (company id retro-games) · Date: 2026-10-01

Stage: concept-stage company — this document is a scope, not a shipped app. Nothing below is built unless tagged [existing].

Status legend: [existing] = demonstrated on the landing-page demo today · [planned] = MVP build target · [later] = explicitly out of MVP scope.


1. Product & audience

Cartograph is a scan-and-collect app for physical retro video games. A photo of a cartridge, disc or case becomes a verified catalog entry — console, region, edition, condition — plus a dated, sourced value estimate, shelved in a collection that feels physical.

Primary audience / job to be done

AudienceJob
Collector with 50–2,000 items"Tell me what I have, what it's worth, and what I'm missing — without a spreadsheet."
Flea-market / yard-sale buyer"In 10 seconds in the aisle, is this a $5 cart or a $500 one? Am I about to buy a duplicate?"
Retro game store"Batch-intake inventory and price checks at the counter."
Haul/shelf content creator"Show my collection beautifully; make shelf content people can browse."

The v1 promise: photo → verified edition → graded condition → dated estimate → shelf. Deliberately not a marketplace, not a price-guide website, not an emulator front-end. No game downloads of any kind.

2. Screens & golden path

#ScreenPurpose
1Onboarding (2 panels + sign-in)Pick collected consoles; choose anonymous-identifier sign-in (Sign in with Apple)
2Shelf (home)Tactile shelf/grid of owned items; totals; wanted-list tab
3Scan cameraLive camera w/ viewfinder; single-shot capture; bulk "desk-scan" mode [later]
4Confirm matchIdentified title + confidence; user picks region & edition chips [existing: demo]
5ConditionLoose / CIB / Sealed + grade chips with guided checklist [existing: demo]
6Estimate cardDated, sourced value estimate + 12-mo trend [existing: demo]
7Item detailFull record: photos, edition, condition notes, estimate history, duplicate flag
8Wanted listItems marked wanted; estimate drift alerts [planned]
9Settings / exportCSV export, grading defaults, data controls

Golden path (MVP acceptance flow): Open app → tap Scan → photograph a cartridge → confirm edition (≤2 taps) → grade condition → see dated estimate → item lands on shelf → rescanning the same item surfaces duplicate detection.

3. MVP feature set & acceptance criteria

FeatureAcceptance criteria
Photo capture[planned] AVCaptureSession single-shot; works under typical desk lighting; saves HEIC + downscaled copy for upload
Identification[planned] On-device candidate proposal → catalog match with confidence; user must confirm console/region/edition before save. [existing: demoed]
Edition confirmation[planned] Region (NTSC-U/PAL/JPN…) + edition tree per title (e.g. PS1 Black Label vs Greatest Hits). Ambiguous matches always ask rather than assume.
Condition grading[planned] Loose/CIB/Sealed + 4-step grade with per-completeness checklists. [existing: demoed]
Value estimate[planned] Per edition × completeness × grade; always dated, always shows source label ("sold-listing aggregate"), never a bare number. Sample data labels where applicable.
Collection shelf[planned] Persistent local collection; tactile shelf UI; sort/filter by console, value, recently added. [existing: demoed]
Wanted list[planned] Mark items wanted; visible in shelf + item detail. [existing: demoed]
Duplicate detection[planned] Scan of an already-owned edition flags it and opens the existing record instead of adding. [existing: demoed]
Purchase price field[planned] Optional "paid" amount per item; collection totals show paid vs. estimated.
CSV export[planned] Full collection export from Settings.
Offline[planned] Shelf and records readable offline; scans queue until connectivity returns.

Out of scope for MVP [later]: buying/selling/trading lanes, physical mystery drops (scoped separately — inventory, fulfillment, returns, margins), barcode scanning for newer games, Android, social profiles, grading-service integrations.

4. Architecture & Apple frameworks

5. Permission UX

PermissionWhen askedFallback
CameraFirst tap on Scan, with a one-line explainer ("to identify your games")In-app photo-picker via PhotosPicker (PHPicker requires no permission)
Photo library (add-only)Only if user enables "Save scan photos"Feature off by default
NotificationsAfter first wanted-list mark, contextualSilent wanted list, no alerts
Sign in with AppleFirst sync/saveLocal-only mode — collection persists on device

Every permission is asked in context, never on first launch.

6. Data & API dependencies (open, not invented)

DependencyNeedStatus
Edition catalogTitle/console/region/edition tree + label imagery for matchingDependency — options: licensed catalog DB, community-sourced dataset, or own catalog build for the pilot console set
Sold-listing pricingDated, sourced value estimatesDependency — partner feed or licensed data; MVP shows date+source with every number
Match serviceImage→edition embedding matchDependency — build small (pilot consoles only) or vendor
BackendThin hosted API: match endpoint, estimate endpoint, edition treeCloudflare Workers + D1/R2 pattern (matches studio infra) or similar low-cost edge stack

7. Monetization (hypotheses, to be validated)

8. Build sequence

  1. Sprint 0 — catalog data model (title/console/region/edition/condition), seed pilot console set; shelf UI skeleton.
  2. Sprint 1 — camera capture + on-device crop; confirm-edition flow against stubbed catalog; condition grading; local SwiftData collection.
  3. Sprint 2 — hosted match service for pilot console set; estimate endpoint (sourced, dated); duplicate detection; wanted list.
  4. Sprint 3 — Sign in with Apple + CloudKit sync; CSV export; offline queue; TestFlight pilot build → accuracy-validation pilot (see GTM).
  5. Hardening — accessibility audit (VoiceOver, Dynamic Type, Reduce Motion), App Review privacy manifest + nutrition labels, then store submission.

9. Key unresolved decisions

Cartograph · company id retro-games · generated 2026-09-30 · internal planning doc