Arquivado

Londres 2026 — mapa de viagem

SPA de mapa interactivo para planeamento de viagem a Londres em Abril 2026. Arquivado como template para futuras viagens.

  • Vanilla JS
  • Leaflet
  • Google Maps API
  • IndexedDB
  • PWA
  • Flask API

Londres 2026 foi uma aplicação web construída para planear uma viagem a Londres em Abril 2026. Mapa interactivo com lugares anotados, rotas por dia, notas sincronizadas com um vault Obsidian via API, funcionamento offline (PWA), geolocalização, filtragem por dia e categoria.

A app serviu bem durante a viagem — especialmente a parte offline e a sincronização das notas. Mas o interessante não foi a app em si; foi perceber o que funcionava e o que não funcionava para levar para a próxima.

# Decisões que se mantêm

  • Backend leve: um Flask API (lugares-api) a expor /api/lugares e /api/notes — o suficiente, zero overkill
  • Dados em Obsidian: a fonte de verdade dos lugares é um ficheiro places.json dentro de um vault Obsidian pessoal, não uma base de dados
  • Auth via header simples: preauth contra um endpoint específico do vaultreader, suficiente para uso single-user
  • IndexedDB para notas locais: sincronização bidirecional opcional com o vault
  • Leaflet + Google Maps tiles: Leaflet para controlo, Google para qualidade de tiles urbanos

# Lições aprendidas (que vão para o template)

  • InfoWindow em mobile portrait precisa de CSS defensivo — ver council reports abaixo
  • Geolocalização contínua dreining bateria em 3-4h mesmo em modo passivo — desligar por default, opt-in por sessão
  • PWA install-prompt no iOS Safari é diferente do Chrome — manifest não basta
  • <input type=search> tem comportamentos mobile imprevisíveis — substituir por <input> simples com lógica custom

# Próximos passos

O código está arquivado em stacks/web/images/lugares-api/tools/londres-template/. Futuras viagens (Paris? Vila Real?) vão adaptar o template em vez de começar do zero. O API fica, muda-se o front e os dados.

# Documentação preservada

Durante o desenvolvimento houve uma ronda de iteração com três AI agents (council) a propor melhorias mobile. Os relatórios estão em images/lugares-api/tools/londres-template/docs/councils-2026-04-06/.