← Command Center
Tengri Reach
Deployed · FB login works (Meta Dev mode)
Visit tengrireach.com ↗
Tengri Reach
Globe Social Network for the Mongolian Diaspora · Live
Tengri Reach
When a Mongolian lands in Seoul, Denver, or Prague, everyone they know is scattered across the map. Tengri Reach puts the whole diaspora on one living 3-D globe — see where your people are right now, find the nearest temple, restaurant, or association, and stay connected across borders.
275Notable Mongolians
205Public Places
12Map Layers
LiveIn production
Core platform — shipped & liveActive roadmap
Vision

The app sits at the intersection of social networking, travel journaling, and real-time presence — closer in spirit to a living atlas of your community than a conventional social feed.

The core premise is powerful and simple: show your people where you are in the world right now. Current location is always the primary data point; home location is only a fallback. Every design decision flows from this principle.

Aesthetic Identity
Dark parchment / cartographic visual language — deep dark backgrounds, gold accents, and deep greens. Creates a premium, exploratory feel that reinforces the geographic metaphor. "Tengri" references the sky deity of Mongolian/Turkic tradition — deliberate cultural resonance.
Community Model
Invite-Only Launch
New accounts require admin approval before activation. Enforces community integrity, prevents anonymous sign-ups, and maintains trust at intimate scale.
Founding Community
Mongolians and Mongolian expats — geographically dispersed but culturally connected, many living abroad or traveling extensively.
Expansion Model
Designed for intimate scale — designed to feel like everyone on the globe is someone you know. Later expandable to other expat networks and diaspora communities.
Core Features
🌍
Interactive 3-D Globe
Globe.gl (Three.js) renders users as avatar icons pinned at current coordinates. Media posts float as cards on the globe surface. Friend-connection arcs animate between users. Dream orbit ring shows community activity.
🗺
2-D Country Map
Leaflet map with preset country pills for quick navigation and a free-text country search with dropdown. Centered on relevant regions. Useful for pinpointing locations before jumping to the globe.
📸
Social Posts & Feed
Text-only status updates and rich media posts (photo/video). Media uploads stored in Cloudflare R2. Friends pane shows all friends with last activity timestamp. Per-user profile pages with likes and comments.
💬
Messaging
Direct messages (1:1 DM) and group chats — persistent named rooms with multiple members. Full CRUD: create, list, add members, send and receive messages. Integrated into the Friends Pane as a tab.
🧭
Profile Setup Wizard
4-step onboarding: ToS acceptance → Identity (name, Mongolian flag) → Current Location (geocoded to lat/lng via Nominatim) → About (bio, occupation). Automatic globe placement without manual coordinate entry.
Admin Panel
Full user management table for admins. View all users, current city, edit all profile fields including lat/lng for manual coordinate correction. Account approval workflow for new registration requests.
🗿
Mongolian World Map
205 curated public anchors — embassies, consulates, associations, temples, universities, Naadam events, landmarks and Mongolian restaurants worldwide. A toggleable "Layers" legend filters 12 marker groups across globe and map. Legally-sourced (public orgs + OpenStreetMap ODbL), never scraped.
📇
Contacts & Address Book
Import your own contacts (vCard / CSV) and plot them on the map. Edit any contact inline — name, location, phone, email, notes — with profile-photo upload. Distinguishes Everyone (any account) vs Friends (connected) vs private Contacts (external). Invite-to-app flow built, staged for later.
🛡
Safety Center
Opt-in member safety tools: a disclaimer-gated public-registry deep link (no server-side scraping) and a Have-I-Been-Pwned self-check on the member's own email. Results are never persisted as profile data — privacy-first by design.
Build Status
Facebook Login (Aug 2026) — hand-rolled OAuth into the existing session; public Privacy + Data-Deletion pages live; guaranteed-unique usernames; FB-verified users auto-active. Works end-to-end, but the Meta app is still in Dev mode — not yet flipped Live for the general public.
Connect-Facebook account linking — link FB to an existing account from settings so users never end up with a duplicate
Bilingual EN/MN language switch — obvious segmented toggle on the sign-in + new-user setup screens
3-D Globe (Globe.gl) — user avatars, media cards, friend arcs, dream orbit
2-D Leaflet map — country pills, search, zoom controls
Social posts + feed — text, photo, video with Cloudflare R2 storage
Direct messaging — 1:1 DM in Friends Pane tab
Group chats — named rooms, multi-member, full CRUD
Admin panel — user management, approval workflow
Cloudflare R2 migration — avatars + media off Supabase Storage
Admin notifications — email alert on new user registration
Mongolian World Map — 205 public places, 12-layer legend, globe + map filters
OSM data ingest — 52 Mongolian restaurants worldwide (ODbL, repeatable script)
Contacts import + edit — vCard/CSV import, inline edit, profile-photo upload
Safety Center — opt-in registry deep-link + HIBP self-check (privacy-first)
Mobile layout pass — bottom tab bar, collapsible layers, responsive cards
List view + global search — shared filter/selection store (next up)
Mobile bottom-sheets + map clustering — supercluster, 44px targets
Notifications system — likes, comments, friend requests
Multilingual UI — EN/MN language switch (shipped on sign-in + setup; expanding app-wide)
Build Timeline
Aug 17, 2026
Facebook Login — live end to end
Hand-rolled FB OAuth into the existing session; public Privacy + Data-Deletion pages; applied the referral/identity DB migration; hardened signup (guaranteed-unique usernames, FB-verified users auto-active, race-safe). Plus Connect-Facebook account linking (no duplicate accounts) and an EN/MN language switch on the sign-in & setup screens. Meta app remains in Dev mode — going Live to open FB sign-in to the public is a pending step.
Aug 15, 2026
Community “town square” feed
Public community channel live; legacy posts preserved and surfaced; block/report + moderation plumbing.
Aug 9, 2026
Notable Mongolians + heritage layers
275 notable figures plotted at their birth cities on globe + map; category consolidation; overnight data batch.
Jun 2026
Safety Center & contacts
Opt-in registry deep-link + HIBP self-check (privacy-first); per-user contacts address book with vCard/CSV import; SimLife avatar system.
Apr 2026
Media platform & storage moat
Migrated all avatars + media to Cloudflare R2; photo/video posts; friends pane with last-activity; geocoding for new members.
Mar 2026
Tengri Reach launched
3-D interactive globe (Globe.gl) + 2-D map (Leaflet), custom bcrypt/HMAC auth, Supabase Postgres, direct + group messaging, admin approval workflow.
Roadmap — Aug 2026
Strategic Wedge
Win the newcomer's first 30 days. A Mongolian who just landed in Seoul, Denver or Prague needs food, temple, association, cargo, and "who do I already know here" as one map. No incumbent answers that — it's the defensible wedge every feature below serves.
Biggest Opportunity — Un-gate the Directory
The curated public-places directory (embassies, consulates, associations, temples, universities, Naadam events, landmarks, restaurants) is the app's most link-worthy, evergreen asset — yet today it sits behind the invite-only login where search engines and drop-in visitors never see it. Next step: expose the directory as a public, SEO-indexed, no-login utility — a top-of-funnel front door that pulls in diaspora traffic, with the social globe as the sign-up upsell behind it. This is a product decision + a change to the live app, not something to ship from this summary page.
P0 — Do Next
Usability Unlock
List view + global search over a shared filter/selection store
Mobile bottom-sheets + Leaflet marker clustering (supercluster)
P1 — Compounds Value
Clarity & Data
Layer parent-grouping + smart defaults (People + Food on)
"Place yourself" onboarding — drop a pin, import contacts
Wikidata enrichment — images + embassies (CC0)
P2 — Retention & Scale
Network Depth
Travel / Cargo board — highest-frequency diaspora need
Events + Naadam RSVP — a reason to reopen the app
Configurable community engine — reuse for other diasporas
Data Strategy — the Durable Moat
✅ Keep & Persist
OpenStreetMap / OverpassODbL — live now
WikidataCC0 — images, civic pts
Foursquare OS PlacesApache 2.0 — 100M POIs
Overture MapsLicense-clean base
⚠ Query Live, Never Store
Google Places / Yelp~30-day cache limit (ToS)
FB / IG / TikTok scrapingRuled out — ToS + privacy
Use place_id as the durable key; treat address/phone/rating as refreshable, not owned. Legal, redistributable data is the moat.
Architecture & Resources
Stack
FrameworkNext.js 15 (App + Pages Router)
LanguageTypeScript / React 19
DatabaseSupabase (Postgres) — custom bcrypt auth
File storageCloudflare R2 (S3-compatible)
GlobeGlobe.gl 2.x (Three.js)
MapLeaflet 1.9
GeocodingNominatim (OpenStreetMap)
HostingVercel (serverless)
Links
Supabase DBAWS us-east-1 — "Tengri Reach"
Local path~/Projects/tengri-reach
Startup promptcd ~/Projects/tengri-reach and read DEPLOYMENT.md before starting
Key Files
Main shellapp/page.tsx
Globecomponents/GlobePanel.tsx
2-D Mapcomponents/MapPanel.tsx
Friends panecomponents/FriendPane.tsx
R2 clientlib/r2.ts
API routespages/api/