Inspiration

Budget backpackers in East Asia can pick cities — but stitching subway times, fares, and day splits is still a spreadsheet job. I wanted a planner that only uses public transit and shows a real clock.

What it does

AlonTrip plans 2–14 day trips across Japan, South Korea and China (9 cities). You pick up to 4 cities, 2–14 days, the spots you want, a lodging strategy, and your airports with landing/departure times.

One click, five steps: the backend splits days across cities, DeepSeek drafts a day-by-day plan (one LLM call per city, run in parallel), a deterministic validation layer checks and repairs the draft (spot IDs, opening hours, districts, capacity — or falls back to a rule-based planner), SerpApi's Google Maps Directions API powers every transit leg (real routes, transfers, fares — cached locally, each unique route paid once), and a schedule engine replays every day against real opening hours: lunch at noon, dinner at 18:00, a hard 22:00 cap, flight buffers (landing +90 min, takeoff −120 min).

The result is an hourly itinerary on a live map with real budgets — and spots that can't be visited are moved or honestly reported as warnings. No fantasy itineraries.

How we built it

Vue 3 + Leaflet frontend; FastAPI backend on an Alibaba Cloud ECS behind Nginx. POIs and hostels ship as local JSON so the app runs without keys (zero-key mode: rule-based planner + estimates). SerpApi responses are cached locally — and 178 real transit queries were even used to calibrate the planner's transit-time model. DeepSeek runs at temperature 0.2 with one automatic retry and three repair layers (id repair, poi-set repair, district repair).

Challenges

Getting an LLM to produce a verifiable plan was the hardest part: hallucinated spot IDs, impossible days, spots scheduled after closing. We solved it with three repair layers and a closing-time terminal check that replays every day — the LLM drafts, but deterministic code decides what ships.

Live app: https://alonuniverse.com/trip/ — GitHub: https://github.com/alon1997/alontrip

Built With

Share this project:

Updates

Submission history