All work
15 · Solo · Personal · 2026 · iOS App · AI on-device · AI

Mosey

A travel app built for one trip: 27 days across Denmark and Norway. Native iOS, anti-itinerary, with contextual suggestions and a daily plan generated by on-device AI.

Mosey cover
60
Places curated
42
Events bundled
$0
AI inference cost
Jump to 8 sections
01

Challenge

I have a 27-day trip to Denmark and Norway coming in July, and I didn't want a rigid itinerary app. I wanted something that works with how I actually travel: show up somewhere, figure it out, document it later.

Every travel app I tried was either a planning tool (calendar-first, top-down) or a discovery tool (a map with reviews). None answered the question I actually ask each morning: what do I feel like doing right now, given the weather, where I am, and what I haven't done yet.

02

Approach

Built for one user and one trip. That constraint cut most of the decisions: no social layer, no login, no multi-trip support, everything local with SwiftData. The Today tab leads with intent, not a calendar; a Plan tab covers the days I want structure; a Journal logs visits after the fact.

The AI was meant to run on Claude's API, until one auto-plan run burned through my quota in a single session. I moved the whole inference stack to Apple's on-device Foundation Models on iOS 26: no API key, no cost, works offline. For a personal app that was the right call anyway.

03

Outcome

The app builds clean and runs on iOS 26. The auto-plan generates an eight-day, eleven-stop itinerary entirely on-device. 60 curated places across Copenhagen, Herlev, Billund, and Oslo; 42 events bundled for the trip window.

It's not on the App Store. It runs on free provisioning until I decide whether the developer fee is worth it. The trip starts in July, and that's the real test.

04

Who I designed for

One user: me. That sounds like a cop-out until you notice most travel apps fail precisely because they're built for everyone.

My pattern: I don't pre-book much, I move by bike and transit, I eat where I end up, and I document the day afterward. I wanted the app to support that, not fight it. The anti-itinerary framing isn't a tagline, it's why the Today tab opens with "what do you feel like doing today?" instead of a schedule. The Plan tab exists for the days I do want structure, but it's opt-in.

05

The key decision: on-device AI

The original plan used Claude's API for both the concierge chat and the structured auto-plan. That lasted until the first real auto-plan run exhausted my monthly quota in one session.

I moved everything to Apple Foundation Models. It meant raising the iOS target from 18 to 26, which is a real cost: anyone on older iOS can't install it. For a personal app, fine. Guided generation produces the day-by-day plan on-device, streaming, with no network call and no bill. The model is good enough for the job. I'm not asking it to replace a travel agent, just to turn a list of places into a sensible daily order.

06

Where it is now

Build is clean, the core works, the trip hasn't happened yet, and I'm honest about that being the unfinished part.

Three things I know are rough: a handful of force-unwraps that could crash on a day I'm not near a laptop; an auto-plan that sometimes repeats day titles; and about fifty hardcoded colors that should be tokens. I did the audit and noted everything but haven't applied the fixes. The widget and Live Activity are built but disabled for now. CloudKit sync waits on the developer-account decision, which I need to make before July so the person travelling with me can get a TestFlight build.

Selected screens

1 / 5
Reflection
" Building an app for a specific trip you're about to take is a strange kind of pressure: a hard deadline, a real user, and the stakes are exactly one vacation. The things I skipped (social, purchases, multi-trip) stay skipped, because there's no version of this where I regret them. "
Next project 16 · 2026

Digital Reports

Batch reporting for industrial grinding: 36 hi-fi frames in Figma plus a working coded prototype that runs ahead of the production roadmap.