// the find
itskovacs/trip
🗺️ Minimalist POI Map Tracker and Trip Planner. Self-hosted.
A self-hosted map tracker and trip planner: pin points of interest on a map, build multi-day itineraries, and share trips with other people. It's aimed at people who want a Google My Maps / Wanderlog replacement they can run on their own Synology or VPS instead of handing travel data to a SaaS.
The provider layer (backend/trip/utils/providers) abstracts Google, OSM, and Photon behind one interface, so geocoding isn't locked to a paid API key. Auth is genuinely flexible for a self-hosted app — OIDC, TOTP, and magic links are all implemented, not just password login. There's a bundled MCP server (mcp-server/), which is a rare, well-targeted addition: it lets you query your own trip data from Claude or another MCP client instead of just the web UI. The 50+ incremental Alembic migrations show this has been in real use and iterated against actual user requests (bookings, packing lists, checklists, archival) rather than designed upfront and abandoned.
No test directory anywhere in the tree — for an app juggling auth (OIDC/TOTP/magic links), sharing with access levels, and a 50-migration-deep schema, shipping with zero visible automated tests is a real liability for anyone who forks or sends a PR. It's a single FastAPI + SQLite/Postgres monolith with no background job runner apparent, so things like notify.py or backup generation likely run inline on the request thread — fine at hobby scale, a problem if backups or notifications get large. Despite the 'minimalist' framing in the README, the feature surface (bookings, ICS export, pretty-print, custom lists, API tokens, admin panel) is now sprawling, so new contributors have a lot of surface area to learn with no test suite to lean on when changing it.