Skip to content
Odd Hours Labs markOdd Hours Labs
← All work
Group travelLive

Crewly

Plan a trip with friends without the group chat. Vote on dates, lodging, itinerary.

  • Next.js
  • React 19
  • Supabase
  • Postgres RLS
  • Claude API
  • Leaflet
  • Web Push
Visit Crewly ↗
from empty repo to three working phases
5 days
multi-currency expenses and settle-up
Live FX
needed to open an invite and preview the trip
0 accounts
The problem

Group trips die in the group chat: nobody can see what was decided, who's coming, or who owes what. Crewly moves the whole trip into one place, from deciding where to go, to committing, planning the days, and splitting the bill.

What got built
  • 01Ranked-choice polls with realtime updates, fed by an AI destination shortlist from a vibe quiz
  • 02Itinerary, map and lodging, plus places, crew photos and chat
  • 03Multi-currency expenses with live exchange rates and a settle-up view
  • 04Member roles, Web Push notifications, Google sign-in and a custom domain
The hard part

Joining a trip without signing up first

Asking friends to create an account before they can even see the trip kills the invite. In Crewly the invite code is the URL: opening it signs the visitor in anonymously, and a security-definer database function lets them join the trip without loosening the row-level security that keeps every other trip private.

Follow the build

Get an email when something ships

A new product, a big feature, a launch date. Nothing else, and you can ask to be taken off any time. Or read the build log (there’s an RSS feed too).

 

Next projectForesome →Eight booking sites, one search. Every tee time near you, plus partners who fit your game.