Instead of downloading a packing list app built for every traveler, describe your actual trip to an AI assistant — destination, length, what you're doing there — and ask for a small app that checks off exactly what you need. Bring it into CanvasRunner and it runs on your phone like any other app, offline, with no account and no ads.
Search "packing list app" and you get a page of apps built to fit everyone: a weather-driven wizard, a library of icons for gear you don't own, a free tier that nags you to upgrade partway through your list. They are built to serve every trip at once, which means none of them fit yours exactly.
Your actual packing list is smaller than that. It's a five-day trip to one city, in one season, doing three or four things. You don't need a wizard. You need a checklist for this trip.
Why the generic app doesn't fit
A packing list app made for the app stores has to work for a beach week, a ski trip, a business flight, and a backpacking month, all with the same screens. That shows up as friction that has nothing to do with your trip:
- Categories for gear you're not bringing (hiking poles, formula, a suit bag).
- A "smart" auto-generated list that gets your trip half right and leaves you editing it anyway.
- An account, a sync prompt, or an upgrade screen before you can check off a single item.
None of that is a flaw in those apps — they're built for a general audience, so they have to cover cases that aren't yours. A personal app skips all of it, because it only has to be right for one trip. Personal software is exactly this trade: less generality, in exchange for a better fit.
What you actually want
Think about the last trip you packed for. The list in your head was already specific:
- A carry-on-only weekend, so nothing that doesn't fit in one bag.
- A week somewhere cold, grouped by what layer it goes under.
- A trip with one hiking day and otherwise nothing active, so the gear list is short.
That's the list worth building. Not a general packing app — a packing list for that trip, with your categories, your items, and nothing else. You already know the shape of it before you open anything; the app just needs to catch up to what's in your head and let you check items off without losing your place.
Build it with one prompt
Describe the trip to Claude, ChatGPT, or Gemini, and ask for it as a small app you can check off on your phone. For example:
Build me a packing list app for a 7-day trip to Reykjavik in January — one checked bag, cold weather, one day of driving the south coast. Group items by category (outer layers, base layers, electronics, documents, car-trip extras). Each item should have a checkbox and a quantity where it matters (like "3 pairs of wool socks"). The list should remember what I've checked even if I close the app. Make it a single self-contained HTML file — all CSS and JavaScript inline, no external requests, works offline.
The last line matters: it tells the assistant to hand back one file with nothing that needs a network connection, which is what makes the app usable at the airport with no signal. If you want the app to remember your progress between sessions, ask for local storage explicitly, as in the example above.
The assistant will usually propose a starting list based on your trip. For Reykjavik in January that might mean it groups "outer layers" separately from "base layers" and adds a car-trip-extras category for an ice scraper and a phone mount, without you having to think of those yourself. If it misses something or adds gear you don't need — say a swimsuit you won't use — just say so and ask for a revised version. That back-and-forth is cheaper than editing a rigid template, because you're not fighting somebody else's fixed categories to begin with.
A second pass, once you can see the list
The first version rarely needs to be the last one. Once the app is running on your phone, look at it the way you would a paper list you just wrote out:
- Split a category that's too broad. If "electronics" has seven items in it, ask for it split into "everyday electronics" and "camera gear."
- Add a quantity you forgot. "Add 2 pairs of gloves — one waterproof, one liner" is a normal thing to ask for, and the assistant will fold it into the existing categories rather than starting over.
- Reorder for how you actually pack. If you fill a carry-on before a checked bag, ask for carry-on items to sort first.
Each of these is a short prompt and a re-paste, not a rebuild. That's the practical benefit of building this yourself instead of adapting a template you didn't write: you can keep changing the shape of it right up until the night before you leave.
Get it onto your phone
Once you have the file:
- Share it or paste it into CanvasRunner. From the assistant's app, use the share action and pick CanvasRunner, or copy the code and tap Paste app. Either way you get a confirmation sheet with the detected name before anything is created.
- Run it. It opens in its own sandbox, separate from anything else on your phone.
- Check a few items off to confirm it remembers your progress the way you asked.
The full mechanics of getting a chat-generated app onto your phone are covered in turning a Claude Artifact into an app — the same steps work for ChatGPT and Gemini output too.
Fix it if something's off
If a category is missing, or the checkboxes don't persist, open the app in the Inspector. It has a live console and a network log, and a Copy fix prompt button that packages the current state of the app so you can paste it straight back to your assistant. Paste the corrected version into CanvasRunner the same way you did the first time. This loop is usually faster than it sounds — most fixes are a sentence and one more paste.
Pin it for the length of the trip
A packing list app is only useful the week or two before you leave, so treat it as short-lived:
- Pin it to your home screen so it's one tap away while you're packing, with no browser chrome and its own place in the Recents switcher. Details in put an AI-built app on your home screen.
- Delete it when the trip is over. There's no account to close and nothing syncing that you need to clean up elsewhere — you made it for one trip, so it goes when the trip does.
If you travel again, you don't reuse the same list. You describe the new trip and get a new one — it takes about as long as re-reading an old packing list would anyway, and it's right for where you're actually going.
Packing list app, or packing list generator: what's the difference
| Generic packing list app | Your own, built with AI | |
|---|---|---|
| Fits your exact trip | Approximately, via a wizard | Exactly, because you described it |
| Account required | Often | No |
| Ads or upgrade prompts | Common on free tiers | None |
| Works offline | Varies by app | Yes — it's a local file |
| Lifespan | Installed indefinitely | Made for one trip, then deleted |
Do I need to know how to code?
No. You describe the trip in plain language and the assistant writes the file. If something's wrong, you describe the fix the same way.
Does it work without internet, at the airport or abroad?
Yes, once it's on your phone. The app runs from local files in a sandbox — see is it safe to run AI-generated code on your phone? for what that isolation actually does.
Can I make one for a different kind of list, not travel?
Yes — the same prompt shape works for a chore chart, a wedding to-do list, or a moving checklist. Describe the specific thing you're organizing instead of a trip.
What happens to the list after the trip?
Nothing, unless you decide otherwise. Delete it from My Apps and it's gone. If you signed in, deleting an unused app also stops it from taking up one of your synced app slots.