The plan for the next four months in three parts.
What WanderPins is, who pays, why it survives.
WanderPins is a personal travel journal with trusted sharing.
In a world where reviews, recommendations, and content are increasingly written by bots and generated by AI, WanderPins is deliberately the opposite — real recommendations from real people you actually know. Not the masses. Not the algorithm. Not a robot. A person whose taste you trust. That's the product. We use AI behind the scenes where it helps, but the core is and stays human.
You find somewhere worth remembering — a pullout, a hot spring, a campground off a forest road.
Drop a pin. Add a photo, a note, the details that matter.
Send it to a friend who'd actually go there — or just let it live on your map for them to find when they plan their trip.
Your friend makes the trip. They message you. That's the moment: you recommended something real, they acted on it, it landed.
Now it's theirs too — and the next friend they share it with starts the loop again.
There's an ego to this — and that's not a flaw, that's the engine. It feels good to be the friend who found the spot. It feels better when a friend goes there and confirms you were right. That payoff drives curation, sharing, engagement. Without it, WanderPins is a notebook. With it, it's a reputation.
Adventure-curious with disposable income. 3–6 meaningful trips a year. Job, possibly a family. Already has a messy system — Google Maps lists, spreadsheets, pins in chat threads — and is willing to invest in tools that replace the chaos.
Subscription. $4.99/mo · $29.99/yr. Free drives growth (create, follow, share, map, 10 stars, Scout Pins). Pro adds depth (unlimited stars, trips, batch import, export, future AI search). Launch Pro as a supporter tier.
Nine releases to WanderPins 2.0 by Summer 2026. Each gets its own PRD.
| # | Release | Deploy |
|---|---|---|
| 01 | Scout Pins Nearly done. Scraper cleanup + west coast NA seed. App-side complete. |
MIGEDGEOTA |
| — | Web Refresh + Deep Links Can ship alongside any release. Growth mechanism. |
WEBFULL |
| 02 | Pin Upgrades Manual pins, visibility tiers, smarter clustering, amalgamated card, AI names, data augmentation. |
MIGOTA |
| 03 | Offline Mode & Export Cached pins, queued writes, GPX/JSON export (Pro). Bundle candidate with R2. |
OTAFULL? |
| 04 | DB Refactor pin_visits table, linked_pin_id, link_type enum. Foundation for 7a/7b/8. |
MIG |
| 05 | WanderPins Pro RevenueCat, paywall, Pro badge, starred pins gating. Bundle with R4. |
FULLOTA |
| 06 | Strava / AllTrails Link external activities to pins. No OAuth — just URL entry + display. |
MIGOTA |
| 07a | Check-ins & Tags The social layer. Validation loop, friend tagging, notifications. Depends on R4. |
OTAEDGE |
| 07b | Grouped Pins Network-aware map clustering + amalgamated place card. Depends on 7a. |
OTAEDGE |
| 08 | Trips Beta Link pins into trips. Free feature. Lightweight — no routes, no web, no covers (that's post-2.0). |
MIGOTA |
| 09 | 2.0 Onboarding Polished first-run for launch. Feature tour, invite flow, deep link follows. |
OTA |
DB Refactor (R4) → Check-ins (R7a) → Grouped Pins (R7b). Pro (R5) gates starred-pins enforcement and export.
Architecture principles, and an open conversation on how two people ship this.
These are the "don't foreclose this" rules as the product grows:
places table. Clustering at query time via PostGIS ST_ClusterDBSCAN. Pins are always individually owned, never merged.React Native 0.81 · Expo SDK 54 · Expo Router 6 · TypeScript · NativeWind · Mapbox · Supabase (Postgres + PostGIS + Edge + Storage + Auth) · React Query · Sentry · RevenueCat (Phase 2) · Next.js web (Phase 3+)
Starting point: we'll never run ads and we'll never sell user data. Everything beyond that — data export, client-side content encryption, local-only pins — is a direction we can move toward as the product matures. Worth a longer conversation about what a 2-person team can credibly commit to now vs. later.
Shipping a mobile app with two people is a different problem than shipping it with five. The usual playbook assumes bandwidth we don't have. Worth figuring out together — not in this doc — what the right default looks like around:
Brad's judgment on what's worked in previous teams is the highest-leverage input here.