Easy-to-manage touch screens
Free, open-source touch screens. Guided USB setup, a drag-and-drop editor and local control. Made for Home Assistant.
Turn TikTok and Instagram travel videos into routes on a 3D globe. · Convierte vídeos de viajes de TikTok e Instagram en rutas sobre un globo 3D.
Translation pending
LifestyleTypeScript · CSSGitHub @alberto888-edgeOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Loading the full README. The saved excerpt is shown below.
Pega un enlace de un vídeo de viajes de TikTok o Instagram y Globe Trip dibuja la ruta sobre un globo 3D: los lugares, el orden, los días y un itinerario. Además, puedes marcar en el globo dónde has estado y dónde quieres ir. Es una app web (Next.js) que se instala en el iPhone como una app más.Read the full README ↗
Pega un enlace de un vídeo de viajes de TikTok o Instagram y Globe Trip dibuja la ruta sobre un globo 3D: los lugares, el orden, los días y un itinerario. Además, puedes marcar en el globo dónde has estado y dónde quieres ir.
Es una app web (Next.js) que se instala en el iPhone como una app más.
lib/video.ts). Resuelve los enlaces cortos (vm.tiktok.com) y obtiene la descripción, la portada y el vídeo mediante un resolvedor público (tikwm), con la web de TikTok como respaldo (lugar etiquetado y subtítulos).lib/frames.ts): lo descarga y saca 8 fotogramas repartidos con ffmpeg. En los carruseles de fotos usa las fotos. En Instagram, la portada.lib/extract.ts): lee los textos de pantalla («📍 Kioto»), reconoce lugares y usa la descripción como apoyo. Devuelve cada lugar con coordenadas, días recomendados y en qué fotograma aparece.OPENAI_API_KEY y el TikTok no tiene subtítulos, también transcribe el audio (opcional).El mismo enlace pegado dos veces se responde desde caché: no gasta y tarda milisegundos.
Si el vídeo solo deja claro el país (paisajes sin nombres), la app no inventa una ruta de una parada: propone organizar un viaje a ese país.
lib/trips.ts): 10 rutas escritas a mano (Vietnam + Camboya + Tailandia, Atacama + Uyuni, Japón, Perú, Islandia…). Se abren al instante y no gastan IA; «Adaptar a mí» las pasa al planificador./api/plan).lib/risk.ts).orderStops en lib/geo.ts).fitFor en lib/geo.ts).nearbyCountries en lib/labels.ts); eliges cuáles o dejas que decida el planificador./api/activities). En los viajes de la IA llegan solas; en los demás, con un botón.npm install
cp .env.example .env.local # y pon tu ANTHROPIC_API_KEY
npm run dev # http://localhost:3000
git remote add origin https://github.com/TU_USUARIO/globe-trip.git
git push -u origin main
| Variable | ¿Obligatoria? | Para qué |
|---|---|---|
ANTHROPIC_API_KEY | Sí | Claude extrae los lugares. Crear clave |
NEXT_PUBLIC_MAPBOX_TOKEN | Recomendada | Globo con imagen de satélite en todos los niveles de zoom (sin él, usa la textura Blue Marble). Token público (pk.…), restringido a tu dominio de Vercel. Crear token |
OPENAI_API_KEY | Opcional | Transcribe el audio de los TikTok sin subtítulos |
MAPBOX_TOKEN | Opcional | Afina coordenadas en el servidor (puede ser el mismo token) |
ANTHROPIC_MODEL | Opcional | Por defecto claude-sonnet-5 |
RATE_LIMIT_PER_10_MIN | Opcional | Análisis por visitante cada 10 min (por defecto 10) |
TIKTOK_RESOLVER_URL | Opcional | Otro servicio para leer TikTok con la misma respuesta que tikwm (por defecto https://www.tikwm.com/api/?hd=0&url=) |
NEXT_PUBLIC_… se leen al compilar, así que también hace falta redesplegar cuando las cambies.Abre tu URL de Vercel en Safari → botón Compartir → Añadir a pantalla de inicio. Se abre a pantalla completa con su icono, como una app.
ANTHROPIC_MODEL=claude-haiku-4-5-20251001) ≈ 1 céntimo. Un plan de viaje ≈ 1-2 céntimos, y sus actividades otro tanto (las mismas paradas se sirven de caché 24 h).El límite por visitante (RATE_LIMIT_PER_10_MIN) evita que alguien con tu enlace te gaste la clave. Es por instancia del servidor; para un límite estricto, cámbialo por Vercel KV o Upstash.
app/
page.tsx → la app
api/analyze/route.ts → POST {url?, text?} → lugares del vídeo
api/plan/route.ts → POST {destino, días, presupuesto…} → viaje con presupuesto
api/activities/route.ts → POST {stops} → actividades por parada
manifest.ts → instalación como app (PWA)
components/
App.tsx → pantallas, estado y flujos
GlobeCanvas.tsx → globo 3D (react-globe.gl): cámara, zoom, alfileres, arcos
Sheet.tsx → hojas deslizables inferiores
PickSheet.tsx → «¿Cuáles te han gustado?»
PlannerSheet.tsx → «Crea tu viaje»
ItinerarySheet.tsx → itinerario con fotos, presupuesto, actividades y edición de paradas
PlaceSearch.tsx → buscador de lugares reutilizable y avisos de distancia
Activities.tsx → tarjetas y filtros de actividades
lib/
video.ts → leer TikTok / Instagram (texto + imágenes)
frames.ts → fotogramas con ffmpeg
labels.ts, places.json → nombres de países y ciudades en el globo (por zoom) y buscador
trips.ts → viajes listos
risk.ts → niveles de riesgo y enlaces a Exteriores
wiki.ts → fotos y descripción de cada lugar (Wikipedia)
extract.ts → Claude → ruta validada
geo.ts → distancias, encuadre de cámara, dónde insertar una parada y si encaja
demo.ts → rutas de ejemplo y lugares iniciales
public/textures/ → Tierra (NASA Blue Marble, dominio público), relieve y máscara de océano
public/cities.json → ~8.000 ciudades más (se cargan tras abrir la app)
public/borders.json → fronteras (Natural Earth 1:50m)
scripts/ → generan places.json, cities.json y borders.json
Tus lugares y rutas se guardan en el navegador (localStorage). El siguiente paso natural es añadir cuentas de usuario (por ejemplo Supabase) para sincronizarlos entre dispositivos.
npm test # lectura de TikTok/Instagram, validación de rutas, encuadre de cámara
npm run build
TIKTOK_RESOLVER_URL o edita lib/video.ts; la app sigue usando la web de TikTok y su oEmbed como respaldo.