System · race.travel + traveltips

10traveltips cities
20preview videos (10L+10S)
11race.travel countries
124,506hiking trails (OSM)

race.travel trail + race companion · AllTrails killer · Variant B pricing

Trail catalog · 11 countries

  • loading…json

API endpoints

PWA / offline

Garmin watch app · Fuel.iq

  • fenix 7 · 7 Pro · 7S · 7X Prov2
  • fenix 8 43mm · 47mmv2
  • fenix 8 Solar 47mm · 51mmv2
  • fenix 8 Pro 47mm · fenix Ev2
  • vivoactive 5 · 6v2
  • Store submit ($99 dev acc)todo

Unique features (vs AllTrails)

  • Off-course alert on watchwatch
  • Elevation preview per kmwatch
  • Race-adjusted difficultymoat
  • Hiking / racing modemode
  • Live-track buddies (10s poll)web
  • Trip reports evergreenseo
  • Offline SW + tile cachepwa

traveltips.travel audio city guides · Reels · carousels · affiliate hub

City maps (10 live)

Preview videos (Reels)

  • 10 long-form (en_long.mp4)120s
  • 10 short-form (en_short.mp4)30s
  • captions.json manifestIG/X/FB/Pin
  • OCR filter (TikTok overlay)filter
  • Approval gallery UIgate

Content pipeline

  • City pool per citypillow
  • Music library + cooldown 30audio
  • Reels pipeline autoops/reels
  • Notion + GitHub + Vercelfactory
  • Rome pilot audio guideChirp 3 HD

Admin dashboard

  • AdminAnalyticsjsx
  • AdminBestPriceSearchjsx
  • AdminHealthjsx
  • AdminSecretary (partners)jsx
  • AdminStrategyjsx
  • AdminVideoProductionjsx

Live features

  • LiveMap (city walkers)web
  • LiveWalk (individual)web
  • LiveOpenBeaconweb
  • LiveViewers counterweb
  • FindTrip AI searchGroq

Integrations 3rd-party APIs powering both projects

Affiliate networks

  • Awin · publisher 543962live
  • Booking/Hotels/GYG (join in progress)apply
  • Travelpayouts · marker 744110live
  • CJ Affiliatetodo
  • Impact.comtodo
  • Rakuten Advertisingtodo

Ads & analytics

  • Meta Ads · act_1275995664391141live
  • Meta Pixel · 1160425102703738live
  • GA4 · property 545311952live
  • AdsPower profile k1efgw3slocal
  • Postiz Cloud Team ($39/mo)10 socials

AI stack

  • Groq · Llama 3.3 70Bchat
  • GCP TTS · Chirp 3 HDvoice
  • Anthropic Claudewriter
  • Ollama · qwen2.5:14bmem0
  • Ollama · nomic-embed-textembed

Comms

  • Mailgun · outboundemail
  • Telegram @ale_clow_botbot
  • @screentotravel_botscreens
  • LinkedIn Company APIorg

Maps / data

  • OSM Overpass APItrails
  • OSM tile servers (3 mirrors)tiles
  • Google Maps APIgeocode
  • Sentinel-2 satellitetodo
  • SRTM elevationtodo

Distribution channels

  • Instagram + Threadspostiz
  • TikTokpostiz
  • YouTube Shortspostiz
  • Facebook Reelspostiz
  • Pinterestpostiz
  • X (Twitter)postiz
  • Redditpostiz
  • LinkedInpostiz

Infrastructure where each thing runs

Hosting

Fly.iorace-travel-fuel (arn, 2gb, live) + race-travel-api (fra, 502 · Neon quota) Verceltripwell project → traveltips.travel + all city maps Mac Minimem0 (:8766), narva/estonia_hub (:8765), Ollama, AdsPower

Databases

Neon (new)little-snow-03885671 · race-travel-eu · eu-central-1 · 70 tables · empty Neon (old)frosty-sun-45438381 · quota exceeded · read-only Postgres 16local (mem0 pgvector) SQLitesecretary partners + outreach log

Domains

traveltips.travelVercel · Namecheap DNS · live race.travelFly proxy · currently 502 (Neon migration in progress) race-travel-fuel.fly.devstandalone Fly app · live 10 city subdomainsrome/paris/barcelona/amalfi/… (subpaths on traveltips)

Repos

tripwell/Users/alex/travelagent/tripwell (Next.js) → traveltips.travel hermes-travel/Users/alex/travelagent/hermes-travel/hermes-travel → race-travel-api (164 uncommitted) race-travel-fuel/Users/alex/travelagent/race-travel-fuel/garmin-fuel ops/Users/alex/travelagent/ops (reels, carousels, partners, meta ads)

Content assets

Visual pools/tripwell/public/pool/{city}/ Music library/ops/reels/music by city + cooldown log Rome audio guide/rome-pilot/ · NotebookLM RU + Gemini EN + TTS QA Trail catalog/app/data/trails_{cc}.json.gz × 11 countries

Credentials (paths only)

/tmp/fly.tokFly.io API token /tmp/namecheap.tokDNS /tmp/groq.tokGroq LLM /tmp/gcp_tts.tokChirp 3 HD ~/.tokens/ga4_reader.jsonGA4 SA

Architecture flow data movement between both projects

flowchart LR
  User(("User
web+phone")) Watch["fenix 8 Solar
Fuel.iq"] subgraph RT["race.travel"] RTF["race-travel-fuel.fly.dev
trails · plans · live-track · reports"] RTA["race.travel proxy
(Neon migr.)"] NEON[("Neon Postgres
eu-central-1")] end subgraph TT["traveltips.travel"] TTP["Vercel Next.js
10 cities · previews · find-trip"] ADMIN["Admin panel
analytics · partners · videos"] end subgraph EXT["3rd party"] OSM["OSM Overpass
trail catalog"] GRQ["Groq · Llama 3.3"] TTS["GCP Chirp 3 HD"] AWIN["Awin · Travelpayouts
affiliates"] META["Meta Ads + Pixel"] GA["GA4"] end User -- browse --> RTF User -- browse --> TTP Watch -- POST progress --> RTF RTF -- polyline+elev --> Watch RTF -- reads gzip --> OSM RTF -- future GPX push --> Watch RTA -- DB queries --> NEON TTP -- captions --> GRQ TTP -- voice --> TTS TTP -- outbound clicks --> AWIN TTP -- pixel events --> META TTP -- analytics --> GA ADMIN -- manages --> TTP

Data flow · run day

GPX upload /plan/auto (route + elev + difficulty) /api/plans/save (returns plan_id) Watch settings on phone polyline + elevPerKm + planId + activityType Trail run Fuel.iq compute() every second Haversine to nearest route point Fuel cue OR off-course (dist > 30m for 15s) vibe + red screen POST /api/watch/progress {lat, lon, km, cue} Buddies open /live/{plan_id} poll every 10s → moving marker + last cue Finish /report/{plan_id} form publishes to /races/{race_slug} evergreen SEO