⟵ work ⟶ now · Own projects

A shared travel planner where friends build an itinerary, vote on ideas and split the bill. I’m the co-founder and lead developer in a team of three. Still in development.

Planning a group trip often leaves one person maintaining a spreadsheet while everyone else sends suggestions in a chat. I’m building Guidesty with Mohamed and Ben to let the whole group take part: a board of days beside a map, with polls, a shared budget and an AI that helps draft the itinerary.

The trip workspace on a desktop: a guest warning bar across the top, tabs for Plan, Polls, Budget and Lists, three days of itinerary cards on the left with times and drag handles, and a map of Europe on the right.
The workspace: the board on the left, the map on the right, a guest warning above both.
The same trip on a phone: two member avatars and an invite button, the tab bar, the itinerary cards stacked in one column, and a floating Map button in the corner.
On a phone the map becomes a drawer behind the button in the corner.
The invite page on a phone: an orange card reading Traveler invited you to Lisbon, 1 member, a name field and a Join this trip button, with a note that no account is needed.
The invite link. A name is enough.

3 images — swipe or scroll sideways

An invitation should be enough

You can start a trip without an account and invite a friend who only needs to enter a name. Signing up later keeps the same trip and membership. That decision runs through the data model and the interface: the first thing we ask someone to do is plan, and we explain when an account is needed to keep their work safe.

The board updates for everyone as it changes. I use SvelteKit and Convex to keep the itinerary and map in step. Moving a stop changes its position without renumbering the other stops, which matters when several people are editing the same day.

On a phone, an early version confused scrolling with dragging a card. Giving dragging its own handle made it possible to scroll the itinerary comfortably. Those small distinctions are much of the work in making a shared tool feel straightforward.

A vote that changes the itinerary

A poll can refer to actual stops on the board. Once the group chooses, the AI can rewrite that day around the winner and leave out the rejected suggestions. It receives the existing itinerary as context, so a change to Tuesday takes Monday and Wednesday into account.

The budget needs a different kind of care. Expenses are stored in cents, and rounding is distributed so that every split adds back up to the original bill. Splitting €100 between three people produces €33.34, €33.33 and €33.33. Settlement then works out who should pay whom.

The landing page on a desktop: an orange header bar with the guidesty logo, a photograph of a dune buggy mid-jump over sand, a lime headline reading A trip planner to make every destination epic, and a blue Discover now button.
The landing page.
The landing page on a phone: the same dune buggy photograph, the lime headline over it, a Discover now button and the line No account needed, free while in beta.
The same page on a phone.
The travel guides index on a phone: a photograph of Lisbon rooftops with the heading Guides for group trips, and below it a card for an article titled City Trips With Friends, 12 Cities, Sorted by What Your Group Wants.
The guides, served as plain HTML from inside a single-page app.

3 images — swipe or scroll sideways

Where it stands

The web app is running, and the same interface has iOS and Android builds in internal testing through Capacitor. The apps are not yet in the stores. Travel time between stops and calendar export are still to come, and automated end-to-end coverage is limited to two tests so far.