~/home~/about~/projects~/ventures~/contact
[← back to projects]

</poke ai>

────────────────────────────────────────
[COFOUNDER][iOS APP][PRE-LAUNCH]
swiftuiios 17+swiftdatasupabasedeno edge functionspostgresqlstorekit 2apnsnext.jsvercelpokemontcg api

</the problem>

────────────────────────────────────────

Pokemon TCG collectors are stuck between multi-TCG apps that go a mile wide and an inch deep on Pokemon coverage, and price aggregator websites that aren't built for the camera-first workflow of cracking packs. Identifying a card, checking raw + graded comps, and tracking prices over time takes 5 apps and 10 minutes per card.

</my approach>

────────────────────────────────────────

Built an iOS-first scanner that compresses the full collector loop — identify, value, save, watch — into seconds. Pokemon-only depth means every set, every variant, every graded tier from PSA / CGC / BGS. SwiftUI front, Supabase + Deno Edge Functions back, with 21,000+ cards ingested from the official Pokemon TCG API.

</key features>

────────────────────────────────────────

Camera-first scanning

Align, identify, reveal — recognition pipeline returns the exact set and card number in seconds.

Raw + graded pricing

Live market prices across raw and PSA / CGC / BGS graded tiers, refreshed hourly.

Vault + decks

SwiftData-backed local store with cross-device sync via Supabase. Organize by set, deck, or condition.

Push price alerts

APNs notifications when prices cross thresholds you define. Background cron jobs do the watching.

Discover what is hot

Trend surface across 21,000+ cards. Movers, hits, new releases — all updated nightly.

Paywall with StoreKit 2

Freemium model. Pro unlocks unlimited scans, the full alert engine, and graded pricing.

</what i learned>

────────────────────────────────────────
>

Designing two products in the same visual language (Sentinel + Poke AI) accelerates everything — design tokens, motion curves, and component patterns transfer directly.

>

The mock-service-as-feature pattern is the single biggest unlock for shipping a polished iOS app solo. Every screen is launch-quality before backend exists.

>

Going narrow on category (Pokemon-only) creates more product surface area than going wide. Depth is the wedge against multi-TCG incumbents.

[← back to projects]