About Services Case Studies Pricing Blog Book Free Audit
SOCIAL DISCOVERY20262 min read

Social Discovery App for Real-World Events

A cross-platform app that turns "find people to join a cruise or a wakeboard session with" from scattered group chats and buried social posts into one place to discover like-minded people, create an event in a few taps, and coordinate it with a dedicated crew chat.

CLIENT
Crew
INDUSTRY
Social / Consumer
TIMELINE
~12 weeks
ROLE
End-to-end product engineering (cross-platform app, backend, real-time chat, location-based discovery, payments)
// overview

Crew lets someone join an existing cruise, wakeboard session, or social event happening near them, or create their own and invite their crew — a mix of people they already know and like-minded people they don't, yet. Every event gets a structured headcount and its own dedicated chat, so the people actually going have one place to coordinate.

// the problem

Group chats, social posts, and ticketing tools all miss the mark.

Posting to a social feed gets buried within hours with no structured RSVP. Existing group chats work only among people you already know, with no way to discover like-minded strangers. Formal ticketing platforms are overkill for a spontaneous "we're chartering a boat Saturday, who's in" kind of event.

  • Discovery around specific activities, not just generic interests
  • Effortless event creation in a few taps, not a form-heavy setup flow
  • A real crew, not a public crowd — invite contacts and open to like-minded strangers where it makes sense
  • Structured RSVP and a dedicated chat scoped to each event
// approach

How we built it.

01

Event as the core object, not a social post

Every cruise, wakeboard session, or social event is a structured entity with its own attendee states (invited / going / maybe), not a feed post with comments bolted on.

02

React Native for a single cross-platform codebase

iOS and Android shipped from the same team on the same timeline, keeping discovery, event, and chat consistent across both platforms.

03

Mapbox-based location and activity discovery

Events surface to nearby users filtered by activity type and location — built specifically for one-off, niche activities rather than fixed-venue listings.

04

Socket.io real-time chat scoped per event

Each event gets its own dedicated crew chat, visible only to invited/going participants — deliberately not a general-purpose DM system.

// what we shipped

The solution.

01

Effortless event creation

Creating a cruise, wakeboard session, or custom social event takes a few taps — set the activity type, location, time, and optional headcount cap or cost split.

02

Crew invites plus discovery

Organizers invite existing contacts directly, and can optionally open the event to nearby like-minded users for discovery.

03

Structured RSVP, not a buried post

Every event tracks invited / going / maybe states clearly, so organizers always have a real headcount.

04

Location- and activity-based discovery

Powered by Mapbox, the discovery feed surfaces nearby events filtered by activity type, purpose-built for one-off, niche outings.

05

Dedicated crew chat per event

Each event has its own real-time chat over Socket.io, visible only to its participants — coordination stays scoped to that specific outing.

06

Built-in cost-splitting

Events that involve a shared cost — chartering a cruise, renting equipment — can collect and split payment through Stripe directly inside the event flow.

// the results

Outcomes that shipped.

Organizers got a real headcount for an event instead of guessing from social media replies, and crew chat kept coordination scoped to the specific outing instead of a cluttered general group thread. Cost-splitting for chartered cruises and equipment rentals removed the separate Venmo thread organizers previously needed. Validated a reusable "event as core object" pattern — structured RSVP, scoped chat, optional discovery, optional payment — shipped to both app stores from a lean team inside a single quarter.

// stack
React NativeNode.jsExpressPostgreSQLSocket.ioMapboxStripeFirebase Cloud MessagingAPNs
// learnings

What we took with us.

  • 01Earlier design work on discovery ranking — early discovery surfaced events primarily by distance and activity type; smarter ranking on mutual interests would have improved match quality sooner.
  • 02More proactive handling of no-shows and last-minute cancellations should have shipped with the initial RSVP model rather than maturing after user feedback.
  • 03Group-level payment reminders for outstanding shares should have been part of the first payment-flow release, not a later addition.
// related services

Want something like this?

The tiers below are how we'd quote a build in the same space.

// ready when you are

Have a build that needs this level of thinking?

Free 30-min audit. We'll tell you what to build, what it'd cost, and whether we're the right shop.