What it does
Flow is an intelligent trip-planning app that helps users organise multiple errands, deadlines and preferences into one optimised journey.
Instead of asking “Where do you want to go?”, Flow asks “What do you need to get done?”
A user can simply say:
“I need groceries, petrol and to return this parcel. I need to pick Mum up at 6:15 and I’d rather not pay tolls.”
Flow uses Apple’s on-device Foundation Models to understand the request and extract the important details, such as flexible errands, fixed destinations, deadlines and route preferences. It then combines those requirements with live traffic, nearby locations and real Australian fuel-price data to determine the most practical order and route.
The goal is simple: reduce the amount of planning users need to do themselves and help them find the path of least resistance.
How we built it
Flow was built as an iOS-first application, with Apple’s Foundation Models acting as the natural-language intelligence layer.
The Foundation Model does not decide the route itself. Instead, it converts a user’s sentence into structured information that the rest of the app can safely work with.
Our architecture is essentially:
Natural language → Apple Foundation Models → Structured constraints → Deterministic trip planner → Live traffic, places and fuel data → Best journey
The routing and navigation layer uses Google Maps and Navigation services to provide traffic-aware travel times, route validation and turn-by-turn navigation.
We also integrated live government fuel-price feeds from multiple Australian states. These are normalised into a common format so Flow can compare the price of fuel against the additional time required to reach each station.
This allows Flow to make decisions such as recommending a slightly more expensive station if the cheapest option would add a large detour.
Challenges we ran into
One of our biggest challenges was deciding how much control to give the AI.
We deliberately avoided allowing a language model to simply invent or choose a route. Instead, AI is used to understand the user’s intent, while the actual planning is based on deterministic calculations and live data.
Another challenge was dealing with constantly changing traffic conditions. If Flow recalculated the entire trip every time traffic changed slightly, the user could constantly be told to visit a different supermarket or petrol station.
To solve this, we designed route-stability logic so that small traffic changes are handled normally, while major changes to the overall trip are only suggested when there is a meaningful improvement or when an important deadline is at risk.
We also had to combine fuel-price feeds from different states, each with different formats and structures, into one consistent data model.
Finally, because Flow was developed during a two-day hackathon, managing scope was a major challenge. We had to prioritise the features that best demonstrated the core idea rather than trying to recreate every feature of an established navigation app.
Accomplishments that we’re proud of
We are particularly proud of creating a system where generative AI is useful without being responsible for making unverifiable decisions.
Flow demonstrates a clear separation between:
AI understanding the user and software solving the problem.
We are also proud of integrating live Australian fuel-price data directly into the journey-planning process. Instead of simply showing the cheapest station nearby, Flow can consider whether the saving is actually worth the detour.
Another major accomplishment was turning a relatively complicated planning problem into a very simple interaction. A user can describe their entire journey in one natural sentence instead of manually searching for locations, comparing prices and rearranging multiple stops.
Most importantly, Flow developed from a simple navigation concept into something broader: an app that optimises the user’s day, not just the drive.
What we learned
One of our biggest lessons was that generative AI does not always need to produce the final answer to be valuable.
For Flow, the most effective approach was:
AI understands the problem. Deterministic software solves it. AI explains the result.
Apple’s Foundation Models were particularly useful because they allow users to communicate naturally without requiring a complicated form full of switches, filters and dropdown menus.
We also learned how many factors are involved in planning what initially seems like a simple journey. Traffic, deadlines, opening hours, fuel prices, detours and user preferences can all affect which route is actually best.
The project also reinforced the importance of designing around the user experience rather than simply adding AI because it is available.
What’s next for Flow
The next step is to make Flow increasingly proactive and personalised.
Future versions could learn user preferences such as favourite supermarkets, preferred fuel brands, acceptable detour times and whether the user values saving time or money more highly.
We also want Flow to continuously monitor the journey while the user is travelling. If traffic changes enough to threaten a deadline, Flow could suggest reorganising the remaining errands rather than simply rerouting the same trip.
Other future features could include deeper Siri integration, conversational voice interaction, calendar-aware planning, opening-hours validation, EV charging optimisation and support for different travel modes.
Ultimately, we want Flow to become a navigation assistant that understands what the user is trying to accomplish, not just the destination they type into a search box.
Built With
- ai
- apple
- swift
- swiftui
Log in or sign up for Devpost to join the conversation.