Product Roadmap & System Architecture

NOMAD

An AI travel companion & social network — it discovers seasonal destinations, plans your trips, travels beside you as a proactive agent, and runs on the trust of friends who have been there.

"Three people you follow stayed here" beats any star rating — and it is the ranking signal that powers discovery, the feed, profiles, and the live agent alike.
Version
11.0
Date
July 2026
Status
Phase 2 substantially complete — Phase 3 agent & data layer live
Supersedes
v10.0

What? · Why? · How?

What?

A GPS-verified travel social network with a proactive AI agent — discover seasonal destinations, plan & live trips, and get location-aware nudges ranked by the trust of friends who have actually been there, all in one app.

Why?

Travel apps today split planning, social proof, and recommendations across separate tools and lean on gameable star ratings. NOMAD's moat is GPS-verified visits — defensible social proof no competitor can fake — feeding a self-hosted AI agent on data no one else has.

How?

Flutter app + NestJS microservices on AWS. Verified check-ins build a trust graph that ranks discovery, feed, and a self-hosted fine-tuned LLM agent. Monetize via Pro, affiliate bookings, and a B2B tourism-board dashboard. Launch India → MENA.

Executive Summary

NOMAD is a travel companion, not a directory. It fuses three things that live in separate apps today — trip-planning utility, the social proof of a travel network, and a proactive AI agent that surfaces recommendations while you travel.

🗺️

Proactive AI Agent

Location-aware nudges for food, stays, hidden gems, and friends' tips — ranked by social trust, triggered only on meaningful events.

📍

GPS-Verified Visits

A PlaceVisit is only created when GPS confirms the user is inside a geofence for a minimum dwell. Not self-reported. Not gameable.

👥

Social Trust Graph

Every recommendation is ranked by who in your network has actually been there. This is the moat that Google Maps and TripAdvisor cannot replicate.

✈️

Travel Identity

Verified trip counts, visited-places count, and a timeline profile built from GPS-proven history — not curated posts.

🔒

Privacy-First

Incognito mode is a filter, not deletion. Every feature works invisibly. Per-record visibility controls on visits, posts, and diary entries.

📶

Offline-First

Trip bundle auto-downloads before travel begins. Works with zero signal — exactly when connectivity is worst and travellers need it most.


The Data Flywheel

This is the single most important strategic fact about NOMAD. Every product decision should be evaluated against whether it feeds this loop.

📍
More verified
visits
🕸️
Richer
trust graph
🎯
Better
recommendations
🗺️
More trips
planned
🔄
Loop
repeats

Why competitors can't copy this

Google Maps can aggregate reviews but cannot verify anyone was actually at a place. TripAdvisor can surface ratings but cannot prove your friend went there last month. NOMAD's credibility compounds with every trip logged — and that history belongs exclusively to the network that built it.

The key sequencing rule

Discovery and social trust must ship before the AI agent. The agent is only as good as the graph it ranks against. Building the agent before the social graph is the most expensive mistake this project can make.

Trust → Graph → Agent. In that order.


What NOMAD Does

Full feature set across all four delivery phases. Each phase ends with a shippable, testable product increment.

Feature What it does Phase Priority
Seasonal destination discoveryTop destinations ranked by location, season & weather1Hook
Friend / follower visit historyShows who in your network has actually been to a place1Core
Itinerary builder + mapRoute, places to visit, best stops, trip weather per location1Core
3D map viewInteractive 3D terrain & buildings for route preview; 2D fallback1Enhanced
OAuth loginGoogle, Apple, Facebook sign-in — no password required1Core
Phone loginWhatsApp-style phone OTP (MSG91, Twilio fallback); additive Firebase Phone Auth path can auto-verify with zero code entry on supported Android devices, falling back to OTP automatically1Core
GPS visit check-inGeofence auto-logs a verified visit. No manual check-in. The moat.2Core
Travel profile & timelineMap of everywhere you've verifiably been; solo/group counts2Core
Travel Passport & badgesGPS-verified country stamps, region & category achievements2Engagement
Group tripsCreate a group at trip start; add users or invite by SMS/email2Growth
Offline modeTrip bundle auto-downloads; works without signal; safe purge2Core
Incognito modeAll features work; user's activity hidden from others2Privacy
Chat & snapsDMs, group chats, ephemeral geo-tagged snaps (1h–24h custom expiry)2Core
Message reactions & receiptsEmoji reactions (real-time via Redis), read receipts, typing indicator2Engagement
Voice messagesRecord m4a in-chat → S3 upload → waveform playback bubble2Engagement
Message translationOne-tap translate via LibreTranslate; cached per session; 12 languages2Utility
Solo traveler safety modeEmergency contacts, scheduled check-ins, SOS alerts (manual + stillness)2Trust
Currency & budget trackerOffline converter, live rates, trip expense tracker, group split bill2Utility
Post-trip shareable recapBeautiful shareable card; Instagram Stories + WhatsApp2Growth
Reviews & ratingsRate places, stays, transport; guarded by verified visit2Enhanced
Trip templatesPublish verified itineraries; others clone into their own trips2Growth
Real-data trip groundingLive. Real Google Places, geocoding, driving times, weather, air quality & road routes ground every plan — any destination, not a seeded demo corridor3Moat
Real flights & hotelsLive. Real fares/stays via RapidAPI (booking-com15), deterministic ranking, deep-link Book/View cards in the plan — affiliate commission (Skyscanner/Booking.com partner programs) in progress3Revenue
Fine-tuned agent modelLive. Self-hosted QLoRA fine-tune on Mistral-7B, promoted only if it beats the prior version on a held-out eval set — no blind ships3Companion
Affiliate bookingCommission-bearing partner programs (Amadeus / Booking.com / Skyscanner) on top of the live RapidAPI data layer above3Revenue
Proactive AI travel agentLive nudges ranked by social trust; pre-departure briefing3Companion
AI trip planner (premium)Full itinerary from a prompt, grounded in social graph + budget3Revenue
Memory agentCross-trip recall — "you visited this café 2 years ago"3Delight
Annual Travel WrappedYearly stats card — shareable, viral acquisition spike4Engagement
Verified Traveler creator programPaid template marketplace; GPS-proven creator credibility4Revenue
Social price contextFriends' reported prices on place cards; ATM & exchange desk ratings4Utility
Live travel timeline & mapReal-time location sharing — opt-in, time-boxed, instant kill4Social
In-app media playerDestination playlists & videos via Spotify / YouTube SDKs4Future

How Users Experience NOMAD

Two primary flows drive the entire product. The social layer connects them — a photo posted in the feed pins on the planning map; a friend's verified visit surfaces in discovery and on the route.

Flow 1 — Trip Planning

Step 1
Discovery
"Where to next?" home screen.

Destinations ranked by season, weather, and how many friends have been there. Trending in your network shown first.
Step 2
Destination Page
Friends who visited · their tips.
Their photos pinned to locations.
Weather · hidden gems · avg rating.
Like / comment on friend snaps.
Step 3
Itinerary Builder
Add places · set dates · reorder stops.

"AI Fill" auto-populates empty slots with friend-visited places, meal stops, and break points.
Step 4
AI Trip View
3D map · route · friend snaps on map.
Stays · food options · weather per day.
Budget snapshot.
Friend history overlaid on every stop.
Step 5
Save & Share
Save as PLANNED · edit anytime.
Invite friends to join (group trip).
Share itinerary with followers.
Publish as template post-travel.

What the AI Trip View shows

Map
3D route with pins · friend photo bubbles on map locations · tap a bubble to view snap + like / comment
Itinerary
Stops ordered by day · "friend visited" tag on each · drive time between stops · meal slots auto-filled
Stays
Options near each stop · "friend stayed here" badge · rating · price · one-tap booking
Weather
Per location, per day · shown inline on each itinerary stop · warns if conditions change
Budget Snapshot
Estimated stays + transport vs set budget · daily average · remaining amount
Friend History
Overlaid on every stop — who visited, when, what they said · the entire social trust layer visible in context

Flow 2 — Main Feed

Feed item types (infinite scroll)

  • 📸 Photo / video post from a trip or place
  • ⭐ Destination review with photos + rating
  • ✈️ Friend started / completed a trip
  • 📍 Friend nearby while traveling
  • 🗺️ Trip recap card (tap to view / clone)

Interactions on every feed item

  • ❤️ Like
  • 💬 Comment
  • 📍 Tap place tag → opens place detail page
  • 👤 Tap username → opens travel profile
  • 🗺️ Clone trip → starts a new itinerary

Flow 3 — Active Trip (Travel Mode)

When trip goes ACTIVE
  • 🗺️ Live map — current location
  • 📍 Next stop + distance
  • 🤖 Agent nudge card (food / stay / gem)
  • ✅ Today's verified visit count
  • 💰 Budget spent so far
  • 🛡️ "I'm safe" check-in button always visible
Runs automatically in background
  • 📍 GPS geofence detects arrivals
  • ✓ Visit auto-logged when dwell confirmed
  • 🤖 Agent evaluates nudge candidates
  • 👥 "Friends nearby" overlap checked
  • 📦 Offline queue synced on reconnect

The connecting thread

Social activity in the feed directly improves planning for everyone in the network. A photo posted → pins on the planning map. A verified visit → surfaces in discovery AND on route suggestions. A completed trip → cloneable as a template. Nothing is siloed.


Roadmap — 4 Phases over 12–15 Months

Small team of 3–5 engineers. Each phase ends with a shippable increment. Scope discipline is enforced by the data flywheel — no feature ships before the data it depends on exists.

Where we are now — Cohort 20 (Hub71)

Demo deadline: August 2, 2026. The consumer product is built and live on real devices; Phases 3–4 (monetization, B2B, scale) are the raise.

PhaseStatus
Phase 1 — Foundation & Discovery MVP✓ ~100%
Phase 2 — Social trust, profiles, group trips✓ ~90%
Phase 3 — Monetization + proactive agent~40% — agent core, real Google Maps data grounding, real flights/hotels, and a fine-tuned model with an eval gate all live; subscription/affiliate revenue not started
Phase 4 — Creators, scale, engagement~5%

Overall: demoable consumer MVP ≈ 85–90% · full 4-phase vision ≈ 50–55%.

Closed since v11 (no longer risks):

  • Self-hosted agent reachability — named Cloudflare tunnel llm.nomad-social.com live (fixed URL, DNS on Cloudflare) (was #1 demo risk)
  • FCM push sending — base64 service-account key set on EC2; closed-app push (message/SOS/nudge) confirmed live
  • Rich place data — real Google Places/Geocoding/Distance Matrix/Weather/Air Quality/Routes grounds every plan, any destination

Demo-critical next (Tier 1):

  • Rehearse the end-to-end flows on real devices (planning → active trip → agent nudge → social trust)
  • Real-device test the new additive Firebase Phone Auth login path (tester APK shared 2026-07-05); MSG91 remains the proven fallback either way
  • Rotate the Google Maps + RapidAPI keys before demo rehearsals (both were exposed during dev iteration)
Phase 1
Months 0–3
Foundation & Discovery MVP
Prove the hook — people come to discover destinations.
  • Auth — email, Google, Apple Sign In
  • Seasonal discovery engine
  • Place detail pages (trust-signal first)
  • Itinerary builder + map
  • Trip weather forecasts
  • 3D map view (2D fallback)
  • Open Graph rich link previews
  • AWS infra baseline + CI/CD
  • Emergency info in offline bundle
Phase 2
Months 3–7
Social Trust, Profiles & Group Trips
Build the trust loop and growth loop simultaneously.
  • Follow / friend graph + suggestions
  • GPS visit check-in (the moat)
  • Travel profile — verified timeline
  • Travel Passport — 17 GPS-gated badges
  • Group chats + group trips
  • Trip Templates v1
  • Ephemeral snaps (1h–24h custom expiry)
  • Snap Spots + hidden gem scoring
  • Message reactions, read receipts, typing
  • Voice messages (record → S3 → playback)
  • Message translation (LibreTranslate)
  • Firebase FCM push notifications
  • Solo traveler safety mode + SOS
  • Currency converter + expense tracker
  • Photo / video feed + reviews
  • Facebook OAuth · offline mode · incognito · post-trip recap · Planning↔Travel Mode UI
Phase 3
Months 7–11
Monetization & the Proactive Agent
The agent has data to work with now.
  • Affiliate booking integrations
  • NOMAD Pro subscription
  • Promoted destinations
  • B2B tourism board dashboard pilot
  • Proactive AI agent (10 nudge types)
  • Pre-departure briefing
  • Memory agent (cross-trip recall)
  • AI trip planner (premium)
  • Pre-trip social brief
  • Stillness detection (safety)
Phase 4
Months 11–15
Engagement, Creators & Scale
Deepen retention, launch creator economy, scale B2B.
  • Verified Traveler creator program
  • Paid template marketplace
  • Business profiles for places
  • Annual Travel Wrapped
  • Social price context on place cards
  • Live timeline & map sharing
  • Agent v2 — per-user chattiness model
  • Reels & short video
  • In-app media player (licensed)
  • B2B dashboard — GA
  • ML replaces rules engine

The Proactive Travel Agent

The agent shifts NOMAD from pull (user searches) to push (the app travels with you). It lives or dies on one rule: every interruption must be worth it.

The agent loop

1 · Detect — device GPS + time + pace + budget
2 · Decide — is this worth an interruption?
3 · Rank — by social trust, recency-weighted
4 · Notify — one glanceable line
5 · Learn — tap = more (LLM expands on demand)

Cost control

Every location event could hit Maps + Places + an LLM. NOMAD's rule: LLM is called only when the user taps "tell me more" — never for every GPS ping. Batch and cache by area. Monthly AI cost is bounded because it fires on explicit taps, not background events.

Grounded in real data, not a demo script

The 7B model never invents a number — Python computes it, the LLM only writes prose around it. One Google Maps Platform key powers Places, Geocoding, Distance Matrix, Air Quality, Weather, and real road routes (Routes API); RapidAPI adds real flights and hotel fares. This works for any destination, live, not just a seeded demo corridor.

Rich, Wanderlog-style chat UX

Replies render as markdown with day-by-day accordions; places become tappable photo cards with a detail drawer; Directions draws the actual road route on an in-app map, not a straight line. Users tick candidate places once ("pick your places") and the plan is built around that order.

Nudge typeTriggerExample
Place historyDwelling near a landmark"You're passing an 18th-century fort — ~40 min to explore."
FoodMealtime + nearby + trust signal"Lunchtime — 2 people you follow ate at a dhaba 300m ahead."
StayEvening + no booking detected"No stay tonight yet — 3 highly-rated options within 2km."
Hidden gemPassing a high gem-score place"Only 4% of visitors find this spot — 3 of your friends have."
Memory recallNear a place from a prior trip"You rated a café here 5 stars 2 years ago — you're 300m away."
Pace checkOver-scheduled day"You've hit 6 places today — your usual pace is 3–4. Slow down?"
Budget alertSpend outrunning trip budget"60% through budget, 4 days left — 3 affordable options nearby."
Pre-departure briefNight before departureWeather, friends' tips, first stop distance, open booking warnings.
Group divergenceGroup members splitting up"Looks like the group is splitting — want to set a meet-up point?"

LLM Strategy — RAG Now, Periodic Retraining Later

The agent runs fully self-hosted — no third-party API. The gateway's LlmService calls an OpenAI-compatible endpoint. Live in dev: Ollama serves the model on the dev box, exposed to the AWS gateway via a named Cloudflare tunnel (llm.nomad-social.com — a fixed hostname, so the per-restart tunnel-URL update this depended on earlier is gone for good); vLLM on a GPU instance for production — swap by LLM_BASE_URL alone. The model is a fine-tuned open instruct base, Mistral-7B-Instruct-v0.2 (Apache-2.0, ungated); the local 4-bit data → train → eval QLoRA pipeline is proven on the dev box, with a strict gate — a new version (v0 → v1 → v2 so far) is only promoted if it beats the prior one on the full held-out eval set, never on vibes. Freshness comes from RAG first, with periodic retraining layered on after launch.

① Trip suggestion flow (RAG) — ship for Hub71
NOMAD Flutter App
“Suggest next trip” → user location
NestJS Travel Suggestion Service RAG
1 · user’s trip history   2 · similar users’ trips   3 · trending destinations   4 · build smart prompt
Mistral 7B Instruct fine-tuned · EC2 GPU
Processes the prompt with real NOMAD data
PostgreSQL
User trips & locations · snaps & categories · engagement metrics

⟳  Weekly (optional): retrain the model on accumulated data

② Periodic retraining — after the accelerator
Week 1 — fine-tune on 500 user trips deploy v1.0
First model trained on the seed dataset
Data collected all week
Users upload snaps / stories / trips → stored in PostgreSQL
Week 2 (Sun night) — retrain on 500 + new data deploy v1.1
Validate on the held-out eval, then hot-swap
↺  repeat monthly

Architecture Overview

Seven independent NestJS microservices, each with its own PostgreSQL database. Gateway service is the single HTTP entry point; messaging and feed use gRPC for internal transport. The agent additions introduce an Intelligence & Agent layer on top.

Client Layer
Next.js Web — Planning Mode (future)
Flutter — Travel Mode · Agent host
Edge
CloudFront CDN
API Gateway / ALB
Intelligence & Agent Layer
Location / Geofencing
Context & Decision Engine
Notification Orchestrator
Fine-tuned LLM (self-hosted) + Memory (vector store)
NestJS Microservices — 7 independent services, each with own PostgreSQL DB
gateway (HTTP · REST · Socket.IO)
feed (gRPC)
explore (HTTP proxy)
trips (HTTP proxy)
messaging (gRPC · Redis pub/sub)
notifications (Socket.IO · FCM)
media (S3 presign · 6 contexts)
Data & Storage
PostgreSQL
Redis
OpenSearch
S3 + CloudFront
Vector store
SQS / BullMQ
External Services
Google Maps Platform — live (Places · Geocoding · Distance Matrix · Weather · AQI · Routes)
RapidAPI — live (real flights & hotels)
3D Maps (Mapbox / Google) — future in-app map, deferred
Booking affiliate commission (Skyscanner / Booking.com) — in progress
LLM — GPU inference (self-hosted)
Push (SNS/FCM/APNs)
MediaConvert
Email/SMS (SES/SNS)
LayerChoiceWhy
WebNext.js (App Router)SSR for place-page SEO; image optimization (Phase 3+)
MobileFlutter (Dart)Cross-platform iOS + Android; background GPS, push, BLE in one codebase
BackendNestJS microservices — 7 servicesIndependent deploys; gRPC for messaging/feed; HTTP proxy for explore/trips/media
Primary DBPostgreSQL (6 isolated DBs via Prisma)One DB per service; strong consistency; native geofence queries
Cache / realtimeRedis pub/subMessage reactions, typing indicators, feed fan-out events
MediaS3 presigned URLs (6 upload contexts)Client uploads direct to S3; media service manages MIME policy and signed URLs
RealtimeSocket.IO (notifications service, port 3005)Chat events + push notifications — one persistent transport
PushFirebase FCM (firebase-admin)Background push for messages, likes, SOS; stale token cleanup built-in
AuthJWT + Google OAuth + Apple Sign InLinkedAccount table; Apple mandatory on iOS; Facebook deferred to Phase 2 tail
TranslationLibreTranslate (self-hosted Docker)12-language in-chat translation; no per-call API cost; session-cached in Flutter
Infra MVPDocker Compose (local)7 services + 6 DBs + Redis in single compose file; AWS ECS path when scaling
Infra growthECS Fargate + ALB + ElastiCache + SQSAuto-scaling; agent worker extracted separately

Revenue Model

Multiple complementary revenue streams that compound as the user base grows. None require selling or exposing individual user data.

Phase 3
Affiliate Booking
Commission on transport, hotel & activity bookings via Amadeus, Booking.com, Skyscanner. Trust signal makes NOMAD more effective than generic comparison sites.
Phase 3
NOMAD Pro
$4–6/month or $30–40/year. Unlocks unlimited offline bundles, AI planner, unlimited templates, advanced privacy, and up to 5 safety contacts.
Phase 3
Promoted Destinations
Tourism boards and travel brands pay for placement in discovery. Always labelled "Promoted" — never disguised as organic. Trust depends on this distinction.
Phase 3–4
B2B Tourism Dashboard
Aggregated, anonymized GPS-verified visit analytics for tourism boards and city planners. No product changes needed — analytics on existing data.
Phase 4
Creator Marketplace
Verified Travelers sell trip templates. NOMAD takes 20%. Unlike other creator platforms, credibility is GPS-proven — not self-reported.
Phase 4
Business Profiles
Hotels, restaurants, attractions claim their listing free. Promoted placement and analytics are paid. Builds once place page traffic is significant.

How We Measure Success

North Star Metric
% of place views that surface at least one friend's verified visit
Activation
% new users who build a first itinerary or join a trip within 7 days · Time-to-first-verified-visit
Trust Loop
% of place views surfacing ≥1 friend's visit · Avg friend visits shown per place view · Verified visits per active trip
Agent Quality
Nudge tap-through rate · Nudges-per-mute ratio · Pre-departure brief open rate · Memory recall tap-through
Growth Loops
Invites sent per group trip · Invite-to-signup conversion · Recap cards shared per completed trip · Installs from shared cards
Engagement
% of users with ≥1 badge · Badge share rate · Travel Wrapped share rate in December
Revenue
Pro subscriber count & MoM growth · Pro annual vs monthly mix (target 60%+ annual) · Booking commission per trip · Template marketplace GMV · B2B dashboard ARR

Phase 1→2 gate

500+ active users in launch corridor; discovery session time >3 min average

Phase 2→3 gate

Trust signal shows on >30% of place views; group trip feature used in >20% of trips

Phase 3→4 gate

Agent nudge tap-through >15%; Pro conversion >3% of MAU; nudges-per-mute <5


Key Risks & Mitigations

RiskSeverityMitigation
Cold-start empty social graph High Launch one travel corridor (not one city); seed with Verified Traveler creators; group-trip invites are the organic acquisition loop
Notification fatigue High Trigger on meaningful events only; nudge budget per day; user-set chattiness; earn escalation
Background-location / App Store High Transparent consent flow; granular controls; Safety Mode as the positive framing for location permission
Chat abuse & unsolicited snaps High Block/mute/report + image moderation + rate-limit DMs from non-followers — ships with v1 messaging
Live-location stalking risk High Opt-in only, selected friends, time-boxed, instant kill; incognito as global override; never on by default
Apple Sign In omission High Apple Sign In is mandatory on iOS if any other social login is offered — build alongside Google/Facebook in Phase 1
Over-scoping High Discovery + trust first; agent only in Phase 3 once graph data exists; evaluate every feature against the data flywheel
Media-player licensing High Never self-host commercial audio/video; embed licensed SDKs only; gate to Phase 4; legal review required before any music features
Battery drain Medium OS significant-change APIs only; never a GPS polling loop; continuous battery testing and published impact numbers
Agent cost per nudge Medium Cache by area; LLM only on "tell me more" tap; vector store for memory (cheaper than LLM inference)
GPS spoofing / visit gaming Medium Generous geofence + minimum dwell; flag statistically improbable position jumps; manual-confirm fallback indoors
Competing with Google / TripAdvisor Medium Compete only on social-trust + verified companion angle they cannot replicate; never compete on directory scale

Key Technical Decisions — Resolved & Open

DecisionResolutionNotes
Mobile stack ✓ Resolved Flutter (Dart) Cross-platform iOS + Android. Riverpod for state, just_audio for voice playback, record for voice recording.
Backend architecture ✓ Resolved NestJS microservices 7 independent services. gRPC for messaging + feed; HTTP proxy for explore, trips, media. Each service owns its DB.
Weather provider ✓ Resolved OpenWeatherMap Per-location, per-date forecasts for trip itinerary. Good accuracy, reliable API.
Repo structure ✓ Resolved Three-repo setup nomad-api (NestJS monorepo with shared proto package) + nomad-app (Flutter) + nomad-ai (private — self-hosted LLM dev + QLoRA pipeline). Shared proto definitions via packages/proto.
Translation ✓ Resolved LibreTranslate (self-hosted) Docker service in compose stack. 12 loaded languages. Gateway proxy at /translate. Session-cached in Flutter — zero per-call cost.
LLM provider (Phase 3) ✓ Decided Self-hosted open instruct model — no third-party API Gateway LlmService calls an OpenAI-compatible endpoint — live in dev (Ollama on the dev box exposed to AWS via a Cloudflare tunnel) → vLLM on a GPU instance for prod; swap LLM_BASE_URL. The @anthropic-ai/sdk path is removed. QLoRA-tune Mistral-7B-Instruct-v0.2 (Apache-2.0) on NOMAD data — local 4-bit pipeline proven. Will benchmark a newer base (Llama-3.1-8B-Instruct) before production training; stock → fine-tuned swap gated on a held-out eval. RAG now → periodic retraining later.
Mobile auth & push (Firebase) ✓ Resolved Firebase project nomad-1d31a Android applicationId com.nomadsocial.app (publishable; com.example.* is banned on Play). Google Sign-In via /auth/google/mobile (idToken with Web serverClientId); Apple Sign In; phone OTP (MSG91, Twilio fallback) with an additive Firebase Phone Auth path (auto-verify on supported Android devices, falls back to OTP automatically — 2026-07-05). FCM push via firebase-admin — backend reads a base64 service-account key from the EC2 .env, confirmed live.
Vector store (Phase 3) Open pgvector recommended Already in Postgres — zero new infra. Migrate to Pinecone / Qdrant if query latency degrades at scale.
3D map provider Open Mapbox GL recommended Predictable billing and offline tile support (critical for the offline bundle). Deferred to Phase 3.
Launch corridor Open India → MENA India launch base (existing user community); UAE / Abu Dhabi as MENA expansion hub aligned with Hub71 strategy.
Pro pricing Open Test both tiers $4/mo or $40/yr vs $6/mo or $50/yr. Annual reduces churn. Consider $25/year founding-member for first 500 users.
B2B pilot targets Open UAE / Abu Dhabi (DCT Abu Dhabi), India tourism corridors (Rajasthan, Kerala). Aligned with Hub71+AI programme geography.

NOMAD — Product Roadmap & System Architecture v11.0 · Updated July 2026 · Supersedes v10.0 · Source docs: nomad-api/apps/*/prisma/schema.prisma · packages/proto/messaging.proto · nomad-api/docs/*.md · docs/checklist.md