A personal trip planner is a map, a list of saved places, days you drag them onto and a route sorter, and an agent can build that with MapLibre, OpenStreetMap data and OSRM over a weekend. What Pro charges for is harder: reading reservations out of your inbox needs a Google OAuth app, offline use on a phone needs cached map tiles that most free tile servers forbid you to bulk-download, and Google's photos, ratings and opening hours aren't available for free. Self-hosted TREK already covers most of the planner, so build only if you want your own.
Before you buildWanderlog's free plan already has unlimited places and a map. Pro's value is offline use and Gmail import, so check whether you need them.
Build me a personal trip planner to replace Wanderlog Pro. Requirements: - Node.js 22 + TypeScript: a Fastify server plus a Vite + vanilla TypeScript front end on http://localhost:4890, with MapLibre GL JS for the map and SortableJS for dragging. - Storage: better-sqlite3 at ./data/trips.db: trips, days, places (name, lat, lon, notes, opening-hours text), stops (place, day, position, planned time) and bookings (type, start and end with time zone, confirmation code, file path). - Places: search by name through Photon (PHOTON_URL in .env, default photon.komoot.io), drop a pin on the map, or paste "lat, lon". A bookmarklet posts a page's title and selected text to /api/clip and saves an unplaced place to geocode later. - Itinerary: saved places on the left, one column per day on the right; dragging moves a place between days; the map shows numbered pins and a route line per day. - Route order: for a chosen day, sort stops with nearest neighbour then 2-opt over a distance matrix from OSRM (OSRM_URL in .env), driving, walking or cycling, keeping the first stop locked; show time and distance between stops. - Bookings: upload an .eml or .pdf confirmation to ./data/files and extract flights and hotels with KDE's `kitinerary-extractor` when it is installed, otherwise a manual form. Never connect to an inbox. - Offline: an installable PWA whose service worker caches the app and trip data. Maps come from a per-trip .pmtiles file made with `pmtiles extract` over the trip's bounding box (Protomaps), kept in ./data/maps/ and read with the `pmtiles` protocol. - Export: GPX of places, KML, an .ics file per trip, and a print stylesheet for PDF. - Single user, one password in .env. No accounts, no telemetry. Outbound: Photon and OSRM. - Out of scope: live collaboration, expense splitting, Gmail scanning, flight deals, native apps. - README: the pmtiles extract command, a warning that tile.openstreetmap.org forbids bulk offline downloads, and a note that Google's photos, ratings and hours are not included.
Opens your agent with the prompt filled in, you press enter. Or copy it and paste it into an empty folder.
The first prompt builds the core. Run these one at a time in the same folder to grow it into your own Wanderlog Pro.
Extend the trip planner in this folder. Requirements: - Add an import page for Google Takeout's Saved places GeoJSON/CSV and for a shared Google Maps list URL pasted as text, creating places with names and coordinates. - Geocode rows that only have a name through Photon, at most 1 request per second, and list the rows that failed instead of dropping them. - Skip duplicates within 50 m with the same name. - Add tests with sample files and update the README.
Add packing lists to the trip planner in this folder. Requirements: - Templates in ./data/templates/*.md, one item per line; a trip copies a template and adds items grouped by category. - Tick items on any device; the PWA queues ticks made offline and syncs them later. - Show "12 of 30 packed" on the trip page and print the list from the print stylesheet. - Update the README.
Add weather to the trip planner in this folder. Requirements: - For each day with dated stops, fetch the forecast from Open-Meteo (no key) for the first stop's coordinates and show high, low and rain chance on the day header. - Beyond the 16-day forecast window, show last year's values for the same date, labelled as history. - Cache results for 3 hours in ./data/trips.db and keep the last cached value when offline. - Update the README.
Reviewers praise it for keeping the whole trip in one place: places on a map, bookings pulled from email and a route that makes sense. For $39.99 a year, offline access and the Gmail scan are what travellers cite most often.
Estimate · Runs on your computer for free with the public geocoder and router; a small VPS adds about $5 a month if you want it on your phone. The build is token usage on your agent plan.
| Plan | Monthly | Annual, per month | What you get |
|---|---|---|---|
| Free | $0 | $0 | Unlimited places, live collaboration, flight, hotel and car imports, smart recommendations, itinerary and map in one view. |
| Pro Annual | — | $3.33 | Adds offline access on mobile, route optimization, export to Google Maps, automatic Gmail scanning, unlimited attachments, unlimited AI assistance, flight and car rental deals, dark mode and adding places from anywhere on the web. |
Free covers unlimited places, live collaboration with friends, imports of flights, hotels and rental cars, recommendations, and the itinerary and map in one view.
Kinda. The core is a weekend build with the prompt on this page, but real gaps remain: Automatic import of reservations from your Gmail, Google's place photos, ratings, reviews and opening hours.
About $3.33 a month on the Pro Annual plan, $39.96 a year (checked 2026-10-19).
Automatic import of reservations from your Gmail; Google's place photos, ratings, reviews and opening hours; Polished offline use on iOS and Android; Live editing with friends who all have the app; Flight and car rental deals and the AI assistant. If any of those matter to you, keep paying.
Yes: TREK (open source), AdventureLog (open source), TRIP (open source).