I didn’t set out to build a travel tool. I set out to plan a trip.
The problem was the AI kept hallucinating. It told me a Beijing museum was open on Mondays (it isn’t). It routed me from one side of Chengdu to the other and back again in the same afternoon. It estimated 45 minutes to reach somewhere that takes two hours by public transit. It confidently scheduled a visit to a park that closes at 5pm for 4pm — and called the itinerary “optimized.”
Frustrated, I started building a workaround. Eighteen months later, that workaround is Wander China — a free AI trip planner covering 31 Chinese cities, with real opening hours, metro routes, ticket prices, and insider tips for hundreds of attractions. A local AI competition with a ¥10,000 first prize pushed me to finish what I’d been casually building for over a year. This is the honest story of how that happened.
The Original Problem: AI Is Great at Sounding Confident, Terrible at Being Right
If you’ve ever asked ChatGPT or any AI to plan a China trip, you’ve probably noticed a pattern. The output looks polished. The tone is reassuring. And then you start checking the details, and about one in four is either wrong, outdated, or physically impossible.
This isn’t the AI’s fault exactly — it’s trained on text from the internet, and the internet is full of outdated travel blog posts, inaccurate copied-and-pasted info, and itineraries written by people who’ve never visited the place. The model learns to sound like a travel expert. It’s very good at the style of a travel recommendation. The factual accuracy is a different matter.
What I actually needed was something that would take the planning burden off me while guaranteeing the underlying data was correct. That’s a fundamentally different problem from “generate a good-sounding itinerary.”
Version 0: A Spreadsheet and a Prayer
My first attempt wasn’t a tool at all. It was a spreadsheet.
I manually researched about 20 attractions in Beijing and logged what I actually needed to know: opening hours (with seasonal variations), closing days, ticket prices, approximate time needed, metro stations, whether English was available. Then I wrote a prompt that fed this data into Claude and said “plan my trip using only these facts.”
The result was dramatically better than anything I’d gotten from raw AI queries. Because the AI was working from a pre-verified knowledge base, it couldn’t fabricate hours or invent ticket prices — all that information was already in the prompt. It just had to sequence and connect the dots.
This was the core insight that everything else grew from: the AI doesn’t need to know China — it needs accurate data and a well-structured prompt. Give it those two things, and it can do the scheduling and explanation beautifully.
The spreadsheet was a proof of concept. It was also completely unusable for anyone else.
Version 1: A Clunky HTML Form Nobody Could Figure Out
I turned the spreadsheet into a web page. Visitors could pick a city, select attractions from a list, fill in how many days they had, and click a button to generate a structured prompt they could then paste into Claude or ChatGPT.
It worked. It was also, by any honest assessment, confusing to use, ugly to look at, and had about 8 attractions per city — which wasn’t enough to feel like a real tool.
The feedback I got from the two or three people who tried it was consistent: “The output is really good, but getting there is a lot of work.”
They were right. The flow was: pick city → check boxes → copy a paragraph of text → open another tab → paste it → read the output → come back. That’s five steps before you see anything useful. Nobody was going to do that more than once.

The “Shopping Cart” Moment
The interface rewrite came from thinking about what made the process feel like work.
The problem was that selecting attractions from a checkbox list felt like filling out a form. It was transactional and flat. At some point I thought: what if selecting a spot to visit felt more like adding something to a cart? What if each attraction had a card with its photo, opening hours, metro stop, price — and you literally dragged it into your itinerary?
That interaction shift changed everything about how the tool felt. Suddenly it was browsing, not filling. You could see what you were building in real time. You could move things around, swap a morning attraction for an afternoon one, remove something that didn’t fit. The plan was yours, not the AI’s — the AI was just helping you sequence and enrich it.
This became the core interaction of Wander China: build your itinerary like a shopping cart, then let AI fill in the logic and details.
18 Months of “One More City”
I am, as this blog’s name suggests, an ordinary person trying. I have a job. I have family. I build things like this in the early morning before anyone else is awake, or late at night when I probably should be sleeping.
So “18 months of development” doesn’t mean 18 months of focused engineering. It means about 15 minutes a day on average, punctuated by weekends where I got absorbed and built an entire city’s worth of data in one sitting.
The data collection was the actual work. For each city, I needed:
- 10–15 major attractions with accurate details
- Real opening hours (including seasonal variations and Monday closures)
- Metro connections from a central area
- Ticket prices
- Practical tips that were actually useful — not “arrive early to avoid crowds” but “the Forbidden City ticket system opens at 8pm Beijing time exactly 7 days before your visit; set an alarm and book immediately, they sell out in minutes”
By the time I had 10 cities with solid data, the tool had become something I genuinely used for my own planning. By 20 cities, I was recommending it to people. By 31 cities, I was thinking about entering it somewhere.
The Competition That Forced Me to Finish
My wife signed me up for a local AI application competition before I’d really admitted to myself that the tool was ready. The deadline forced a kind of clarity that months of casual iteration couldn’t.
The competition asked for AI tools with real-world utility, a clear use case, and genuine usability. The prize pool was substantial — ¥10,000 for first place in the application track. But more than the prize, the framing helped me see the tool differently: not as a personal project I was quietly maintaining, but as something I was making a case for in front of people who didn’t already trust me.
That external pressure revealed gaps I’d been comfortable ignoring.
The cost breakdown was vague. The insider tips were often generic. The share feature was in Chinese (this is an English-language tool for foreign visitors — a genuinely embarrassing bug). The first-time user experience was cold: you arrived to an empty interface with no demonstration of what the tool could actually produce.
I fixed all of these in the two weeks before the deadline.
- Cost Breakdown became a full, personalized budget estimator — flights by departure region, hotels by travel style, daily food costs, actual ticket prices from your specific itinerary
- City tips were rewritten to insider-quality for Beijing, Shanghai, Chengdu, Xi’an, Guangzhou, Hangzhou, and more — specific procedures, prices, times, what tourists miss
- The share text was rewritten in English, with the correct framing for a foreign-audience tool
- Auto-demo plan: first-time visitors now arrive to a sample Beijing 3-day itinerary already built — so the first thing you see is not an empty planner but a working example
The competition created a forcing function. I wouldn’t have done this level of polish on a timeline I set for myself.
What the Tool Actually Is (and Isn’t)
I want to be honest about this, because I think a lot of “I built an AI tool” posts oversell what they made.
Wander China is not an AI in the sense that it has a model running somewhere doing inference. It’s a structured data layer — carefully curated information about 31 cities, hundreds of attractions, real hours and prices and metro connections — combined with a prompt engineering system that feeds your specific choices into a large language model.
The model (Claude, ChatGPT, or whichever AI you use) does the heavy lifting: writing the day-by-day narration, explaining why the routing makes sense, adding contextual flavor. But it works from constrained, pre-verified data. It can’t invent a wrong opening hour because I haven’t given it the option.
This is a meaningful distinction. The value isn’t in the AI itself — it’s in the data and the structure that channels the AI toward accuracy. Anyone who’s used raw AI to plan a trip to China and gotten burned on wrong info will understand immediately why this matters.
What it does well:
- Plans accurate, walkable itineraries that account for real transit times
- Gives genuinely useful insider tips (not the generic “book in advance” advice that’s everywhere)
- Estimates realistic costs by region, travel style, and season
- Works for any experience level — you don’t need to know anything about China before you start
What it doesn’t do:
- Book anything for you
- Update in real time if a venue’s hours change
- Replace actually talking to someone who lives there
The Numbers After Launch
Since adding Google Analytics properly to all the tool’s pages, the data has been encouraging. The Wander China planner gets more return visits than any other tool on this site — which tells me people are using it across multiple planning sessions, not just opening it once and leaving.
The cities people plan most: Beijing, Shanghai, and (surprisingly) Chengdu — which suggests the tool is reaching people who want to go deeper than the obvious tourist circuit.
The feature people use most after the AI build: the Cost Breakdown. When you’re deciding whether to take a trip that costs $2,000–$4,000 all in, having something that shows you where that money goes — flights, hotels, daily food, actual tickets for the spots you picked — is apparently more useful than I’d initially assumed.
What I’d Do Differently
Start with the data, not the interface. I spent a lot of early time on UI when the actual value was always in the city data. Better to have 5 cities with exceptional, insider-quality information than 20 cities with generic tips.
Build one “flagship” city to a very high standard first. Wander China’s Beijing data is noticeably deeper than some of the other cities — and that quality difference is immediately visible to anyone who compares them. Depth is more compelling than breadth when you’re trying to convince someone the tool is worth using.
Treat the first-time experience as the most important thing. An empty interface is a wasted opportunity. The auto-demo plan was the single highest-impact change I made — it transformed the first impression from “ok, what do I do now” to “oh, this is what it makes.”
Try It
If you’re planning a trip to China — or curious what a structured-data AI trip planner actually produces — Wander China is free to use. No signup. No subscription. The first 10 AI-generated plans are free; sharing the tool unlocks 5 more.
31 cities. Real data. Insider tips that go beyond the surface.
And if the Beijing itinerary it generates for you suggests arriving at the Forbidden City ticket window at 8pm exactly 7 days before your visit — now you know why.
Wander China is a free tool built and maintained by one person. If it helped you plan a trip, support on Ko-fi helps keep it updated.

Leave a Reply