Case study · Our own product

Limbo

A group-trip planner built around sealed voting: one shared timeline, decisions that actually land, AI booking-email import, live flight alerts, and an app that keeps working with no signal for core planning and voting. Live on iOS and Android with 5,000+ downloads, and your first trip is free.

  • iOS & Android
  • React Native
  • Node.js API
  • AI email parsing
  • Offline-first
Limbo home screen with photo cards for upcoming group trips

The product

Group trips usually die in the group chat: fourteen ideas, a buried booking confirmation, and no decision. Limbo fixes that with structure. A crew member with edit access can put a plan forward as a proposal, eligible members vote, and the reveal settles it. Around that core sit a shared timeline for flights and hotels, trip chat with polls, cost splitting with settle-up in mixed currencies, and flight alerts that catch delays and gate changes before the scramble starts.

Full transparency: Limbo is not client work. Appalanche, a Wicked Funnels Pty. Ltd. brand, builds, ships and runs Limbo as our own product. That makes it the studio's proving ground, where we own everything from the React Native apps and the Node.js API to the App Store listings, the release cadence and the support inbox. When we say we know what it takes to run a production app, this is the app we mean.

Planning a multi-user app with offline or real-time features?

Discuss a similar app

What we built

These are live production features. Shared app features run on iOS and Android; platform-specific features are labelled.

Sealed voting that ends the debate

Crew members with edit access can propose a plan, and every eligible joined adult member can vote Yes, No, or Abstain. Ballots stay sealed until the deadline passes or every eligible voter has voted. Then Limbo reveals the result, including who did not vote. A personal weigh-in link lets invited friends vote in a browser with no app or account.

  • Yes / No / Abstain
  • Edit access to propose
  • Sealed until the reveal
  • Deadlines
  • Web voting, no install
Limbo active voting screen with a sealed ballot, Yes, No, and Abstain buttons, and the vote count in progress

Forward an email, get a plan

Forward a flight, hotel, cruise or activity confirmation from the email address on your Limbo account. The server extracts the booking into a structured plan with a confidence score. It stays in your personal review queue until you choose a trip and confirm it.

  • Supported booking confirmations
  • Details auto-extracted
  • Confidence scores
  • You review & confirm
Limbo incoming plans screen showing a flight parsed from a forwarded booking email at high confidence, awaiting review

One shared timeline for the whole trip

Flights, hotels, restaurants and plans live on one timeline that joined crew can see. Organisers and crew members granted edit access can add or change plans. Live flight alerts watch saved flights for delays, gate changes and cancellations. Trip chat, with polls and ballot cards, keeps the conversation next to the plan.

  • Flights & hotels
  • Live flight alerts
  • Trip chat & polls
Limbo trip timeline holding a flight, a hotel and day-by-day plans in one shared itinerary

Offline-first planning

Trips, plans, checklists and votes can be created or changed with no signal, subject to normal permissions, then sync when the connection returns. Chat, joining, AI tools and some cross-trip actions still need a connection.

Cost splitting & settle-up

Split costs per person in a mix of currencies, record who paid, and Limbo works out who owes whom so the crew settles up without a spreadsheet.

Live ballot cards in chat

Every trip gets one chat with photos, polls and live ballot cards, so people vote right where they are already talking.

iOS home-screen widget

Open group decisions stay in view on the home screen, so nothing waits on somebody remembering to open the app.

The engineering

The parts that do not show up in screenshots but decide whether an app survives contact with real users.

  1. 01

    Offline-first, multi-user sync

    Core planning actions write to a local store first, so trips, plans, checklists and votes remain usable in aeroplane mode. A sync queue reconciles changes when the connection returns. Online-only actions, including chat, joining, server-powered AI and some cross-trip operations, clearly ask the user to reconnect.

  2. 02

    Sealed-ballot mechanics

    Votes are recorded on the server but tallies stay hidden from every client, including the proposer, until the deadline passes or all votes are in. The reveal is computed server-side so nobody can peek early, then pushed to the group in the app, in chat ballot cards, and on the web voting page.

  3. 03

    The AI email parsing pipeline

    Forwarded flight, hotel, cruise and activity confirmations run through a server-side extraction pipeline that turns recognised emails and attachments into structured plan data. Each result carries a confidence score, and nothing is added to a trip until the user reviews and confirms it.

  4. 04

    One codebase, two stores

    A shared React Native codebase produces native iOS and Android builds. Common product features share an implementation, while platform-specific work, such as the iOS home-screen widget, is handled separately. Each store also has its own release and review timing.

Where it stands

Downloads across iOS & Android
5,000+
Live on both platforms
iOS & Android
Core planning and voting with no signal
Offline-first

Download figures are combined iOS and Android totals. Offline and voting scope checked against Limbo's offline guide and voting guide.

Want an app like this?

Real-time sync, offline support, AI features, both app stores. We've done it for ourselves; we can do it for your business.

Get a quote