Project - 02
Odyno
A better day in Iceland
Weather, roads, real places
Odyno is an AI travel planner for Iceland. Its planning agent, Odys, combines real places and bookable tours with sensible routing, current weather, road conditions and the traveller’s own constraints to assemble a realistic plan for the day.
- Role
- Creator
- Year
- 2026 – now
- Status
- In development
Tech stack
- Next.js
- React
- TypeScript
- Python
- Django
- PostgreSQL/PostGIS
- Google Maps
- OpenAI
- Valhalla
- Nominatim
- Docker
01
Where it started
The idea began with a familiar question from hotel guests: what should we do today?
I used to work at a hotel reception, and my girlfriend still works in hospitality. On a rainy day in Reykjavík, giving a useful answer involves much more than listing popular attractions. Conditions may be considerably better in another region, but the route still needs to be safe, the drive has to fit within the day and the places need to be open.
I wanted to see whether an AI agent could bring those pieces together and make an actual planning decision, rather than simply generating a list of suggestions.
02
A plan, not a list
Odys is the central part of the product. It discusses the trip with the traveller, gathers the necessary constraints and then decides which places make sense, in what order and at what time.
→ Feature list: “Planning a day”
- Understand the trip: Establish the dates, transport, starting point, preferences and practical constraints.
- Check the conditions: Inspect current forecasts, warnings, road conditions, daylight and opening hours.
- Build the day: Select real places or tours, calculate the route and construct a feasible schedule.
- Revise the plan: Respond conversationally when the traveller wants a different pace, destination or type of day.
The map, itinerary and conversation are different views of the same plan. A change made through Odys updates the structured itinerary rather than producing another block of disconnected travel advice.
03
Bounded autonomy
One of the most important design decisions was separating judgment from verification.
Odys decides which region to visit, which stops belong in the day and which trade-offs are worthwhile. The surrounding system supplies and verifies the facts behind those decisions. Weather and warnings come from Veðurstofa Íslands, road information from Vegagerðin, and self-hosted routing and place search provide travel times and location data.
Before a change reaches the itinerary, deterministic checks verify the complete resulting day. Known road closures, incompatible routes, impossible timings and other hard conflicts prevent the change from being written. Less serious uncertainty remains visible for Odys to consider and explain.
The agent is therefore free to make planning decisions, but not to invent the facts it reasons from or ignore constraints enforced by the platform.
04
Tours as part of the day
Odys can also search for bookable tours when they are a better fit than a self-drive itinerary. I integrated TourDesk to provide access to broad Icelandic tour inventory through one connection, without requiring a separate commercial agreement with every operator.
Availability and prices are checked for the actual date and party. A tour only enters the plan after the traveller has seen and selected the specific option. Odyno retains the details that were presented, while TourDesk remains responsible for live availability and checkout.
05
Under the hood
I designed Odyno around a deliberate separation between agent judgment and deterministic verification.
The interface is built with Next.js, React and TypeScript. A live Google Maps canvas connects the conversation to the route and itinerary.
A Python and Django backend owns the planning model, agent runtime and external integrations. PostgreSQL with PostGIS stores the geographic data and structured itinerary, while self-hosted Valhalla and Nominatim services provide routing and place resolution. The frontend communicates with the backend through a generated OpenAPI client.
Odys operates through a controlled set of tools for inspecting conditions, finding places, checking routes and changing the current plan. External integrations remain separate from the core planning model, allowing services such as TourDesk to be added without making them part of the itinerary itself.
The system
- 01Interface
Next.js, React, TypeScript and Google Maps
- 02Application
Python, Django and PostgreSQL/PostGIS
- 03Geography
Self-hosted Valhalla routing and Nominatim place search
- 04Planning
An agentic loop operating on a structured relational itinerary
- 05Supply
Pluggable integrations for live tour availability
06
Current state
Odyno is publicly accessible and functional, but still in active development. My immediate focus is hardening multi-day planning and preparing the product for a proper release on its own domain.
The longer-term plan is to offer a trip pass for travellers driving around Iceland. Odys would help plan the entire journey and continue reviewing it as forecasts and road conditions change, proposing alternatives when the original plan is no longer the best option.
Those changes would never be applied silently. Odys would explain what changed and why another plan may now be better, while the traveller retains the final decision.