Product - TripEagle

A private website and app for a group trip: one person plans it, and everyone going gets the plan, the map, the album and who owes whom, on their phones and working without signal.

Visit www.tripeagle.app
Platforms
iOS, Android, Web
Year

Plan it once. Live it together. Keep it forever.

TripEagle is a private website and app for one group trip. One person sets the trip up, and everyone invited gets the plan for each day, the map, the bookings that concern them, the shared photo album and who owes whom, on their phones and working without signal.

The nearest thing to it is a wedding website: one event, a guest list, a gallery, and a life before, during and after. A trip has the same three acts. The organizer plans it once, the group lives it together, and afterwards everyone keeps it.

Day 3 of a sample trip on a phone, marked offline: the catamaran to Hvar, a map of Hvar town with tonight’s villa, and the ferry’s departure time.The trip’s Money page: balances in euros for three couples, and who pays whom to settle up.
A sample trip down the Croatian coast: today’s plan offline and the ledger.

Travelers never make an account: the invitation link signs them in. Couples and families who travel together are parties, so when two couples skip a city for three days, the trip follows them. That’s the moment generic planners fall apart on.

TripEagle is just as clear about what it leaves out. There’s no chat, because the group already has one. It doesn’t sell bookings or take payments for them: it links out and keeps the record. And nobody in the group pays to use it.

Planning with the AI

Three questions, then a draft

A trip starts with three questions: where, when and who. The organizer answers in their own words, and Kestrel, TripEagle’s AI, turns that into the shape of the trip: the places, in order, and how many nights in each.

The organizer keeps the shape or says what to change, and a draft trip site appears in minutes.

The studio’s trip interview: the organizer describes a week in Croatia for three couples, and Kestrel answers with a card of places and nights to keep or change.

Planned in stages, with every place checked

Kestrel plans the way a person would: the shape of the trip first, then each place’s days in turn, saying where it has got to and roughly how long is left. Then it refines in conversation, and every change it proposes waits for a planner to accept it.

Everything it writes lands marked as suggested, and its last step undoes in one tap. Every place it proposes has to resolve through the geocoder, or it isn’t added. The day itself has no field for a time, so Kestrel can’t invent a ferry departure.

Day 3 of a draft trip in the studio. The About the day text is marked Suggested, and a notice offers to undo what Kestrel just added.

Bookings by email

Every trip has its own inbox address. Forward a flight or hotel confirmation to it and it becomes a booking, held for the person who sent it to confirm. Each party sees the bookings that concern them, with the references they’ll need at a desk.

The Your bookings page on a phone, showing the trip’s own inbox address with a Copy button.

During the trip

During the trip, TripEagle is the one place the group looks.

  • Today. The Today page opens on every phone with the times, the addresses, the booking references, the next transport and the weather.
  • Offline. The itinerary works with no signal, and the app keeps the map offline, with every region of the trip on the phone before the signal goes.
  • The album. Everyone’s photos land in one place, filed under the day they were taken.
  • The ledger. Who paid for dinner and who owes whom, without a spreadsheet. Expenses are split between parties equally, by heads or by amount, in the currency they were paid in, converted at the day’s rate, with balances and a settle-up. They can be entered at the table with no signal.

The ferry moved. Everyone knows.

One change from the organizer reaches every phone as a push notification, not a message buried in the group chat. Announcements go out by push and by email, and a published change to the plan comes with a one-line note saying what changed.

The group talks about a day on the day, where they’ll find it again: comments on a day or a photo, and polls for the questions every trip has, like dinner at seven or eight.

An announcement on a phone: the catamaran has moved to 16:30, with check-out still at 11:00. Below it, a box to comment on today.

Ask the trip

Anyone on the trip can ask Kestrel a question, and the answer comes from the trip itself, with a link to the day it’s on.

Ask Kestrel on a phone. The question asks when to leave the villa and when the ferry goes; the answer gives check-out at 11:00 and the catamaran at 14:00, linking to day 6.

The organizer’s studio

The organizer plans in the studio, a separate workspace for the people running the trip.

The whole trip on one timeline

Days, places, stays and bookings sit on one timeline. Changes go into a draft that the organizer publishes when it’s ready, after a review of what changed.

Each trip gets its own address, like yourtrip.tripeagle.app, and its own theme.

The studio’s Plan page: the trip’s days grouped under Split and Hvar, with a link to preview the trip site.

People, parties and co-planners

The organizer names the couples and families who travel together as parties, and can invite a co-planner to plan alongside them. Each party settles its own costs and sees its own bookings.

When one party splits off for a day, it gets its own version of that day. The plan names only what differs and follows the shared plan for everything else.

The studio’s People page: parties of travelers with their members, roles and invitation status.

After the trip

Keep it forever

Once it’s over, the trip is archived. Everyone can still open it and sign in, and nobody can change it. The album stays up with everyone’s photos, and the final settle-up is there when the group gets to it.

Memories are never held hostage: every trip can be exported as a bundle of pages and photos that opens without TripEagle.

The studio’s settings at Export bundle: the trip as files, with its plan, photos, threads, polls, announcements and ledger.

Why we built it

TripEagle began with one trip: a family trip to Greece and Turkey, with four parties, seventeen days and five regions, and two of the parties on days of their own. The plan started life as a spreadsheet. The photos were going to live on several phones and the costs in someone’s head.

So we built a site for that one trip: every day, every stay and every booking, the map and a gallery for each day, on everyone’s phone and private to the people going.

A site built by hand for one trip only works for a developer, though, and most trips are organized by someone who isn’t one. In September 2026 we started TripEagle to give any group that site. The Greece and Turkey trip was the first one on it.

How we built it

TripEagle is built and run by one developer working with AI, with the same care we bring to client work.

One codebase, three platforms

The web app and the iOS and Android apps live in one monorepo, sharing the domain logic and a typed API client. The web app is server-rendered with React Router on Fly.io, with Postgres for everything durable. The trip sites, the organizer’s studio and the marketing site are separate faces of it. The phone apps are built with Expo and shipped through EAS.

At the edge

Cloudflare sits in front. Three Cloudflare Workers handle the work that suits the edge: one serves photos and media through signed URLs, keeping them in their home region. One serves our own vector basemaps, so the maps don’t depend on a tile provider and can be stored on a phone. One is the email inbox behind every trip’s booking address.

The AI

Every AI feature calls Anthropic’s Claude through one model service, with each feature on its own model. We call Claude’s API directly, with inference pinned to one geography. In tests, a scripted model stands in for Claude, so end-to-end tests are fast and repeatable.

The model only proposes. The places it suggests must exist, times come from bookings and not from the model, and everything it writes is marked as suggested until a person confirms it.

Payments and sign-in

Payments run through Stripe on the web, with in-app purchases verified with Apple and Google for the apps. Nobody has a password: travelers and planners sign in with a passkey, a link or code by email or text, or Apple or Google.

The trip sign-in page on a phone: no password, with buttons to sign in with a passkey, get a link or code by email or phone, or sign in with Apple.

Engineering signals

As of writing, rounded:

Architecture decision records
~145
Test files
~1,000
Commits in about 9 weeks
~1,400
  • Every significant decision is written down as an ADR.
  • Playwright end-to-end tests run the web app against the scripted model, and Maestro flows drive the phone apps.
  • Every pull request gets its own preview environment on Fly.io, with its own Postgres.

More products

Weight Tracker Mobile App

A React Native mobile app for tracking weight, BMI, nutrition, and medication

Read more

Tell us about your project

Ready to start building? Let's talk about how we can help bring your idea to life.