RoamTribe — Project Story
Inspiration
I kept hearing the same thing from van lifers and digital nomads: "It's lonely on the road. I want to find people like me—same vibe, same direction—without wading through generic apps that aren't built for this." I wanted to build a place where travelers could discover each other, match, chat, share where they've been and where they're going, and actually meet up at events. So I built RoamTribe.
What it does
RoamTribe is a community app for van lifers, RV travelers, digital nomads, and hitchhikers. You set your travel style and region, then swipe through profiles; when you both swipe right, you match and chat opens. Your roadmap is an interactive map of past and future places so others can see where you've been and where you're heading. You can browse and join events—meetups, campouts, gatherings—and with premium you can create them. Discovery is invite-only (you start with invite codes; earn more through activity) so the community stays focused. Premium unlocks unlimited matches, full visibility, route-overlap search, and event creation.
How we built it
I built the mobile app with Expo and React Native (Expo Router), and the backend with Node.js, Express, and TypeScript. Auth is Firebase (Google and Apple sign-in). All core data lives in Firebase Realtime Database—profiles, matches, chat, events, roadmaps—no separate SQL DB. The swipe stack is custom (SwipeCard, pan gestures); discovery and matches talk to the API. The roadmap uses Mapbox (@rnmapbox/maps) and expo-location; users add past and future places and see them on the map. Events, blocks, reports, and subscription webhooks are in the API. RevenueCat handles subscriptions; invite codes are validated and submitted during onboarding (there's a default code for launch). Brevo for email, optional Slack for alerts.
Challenges we ran into
Firebase Realtime Database meant no SQL joins—I had to denormalise and keep profiles, matches, and chat in sync across paths. The roadmap UX was tricky: letting users add places by name, geocoding with Mapbox, and showing past vs future without cluttering the map. Invite-code flow had to work before and after sign-up (validate, then submit after account creation) and handle the default code without consuming a real user's invites. Time-limited matches (expire after 6 hours if no message) required clear rules and client logic. Scope creep was real—I had to ship discovery, match, chat, roadmap, and events first, and treat route-overlap search and offline polish as next phase.
Accomplishments that we're proud of
I shipped the full loop: swipe discovery with region and travel-style filters, mutual match, chat, roadmap on Mapbox, and events (join plus create for premium). Invite-only growth with dynamic codes (start with 10, earn more via profile completeness, matches, event join, event create) and a default code so new users can join at launch. Subscription tiers ($1.99/week, $4.99/month, $49.99/year) with RevenueCat and webhook sync. Report and block with multiple categories; community safety is part of the design. The app feels built for the road—travel styles, roadmap, and events make it clear who this is for.
What we learned
I learned that "community for travelers" is a product and a moderation challenge from day one—invite-only and report/block aren't afterthoughts. Firebase RTDB is fast but you design for denormalisation and listeners; I'd do it again for real-time chat and presence. Mapbox plus a simple roadmap model (past/future places with dates) gave a lot of value without building a full trip planner. Shipping a default invite code (e.g. SHIPYARD2026) lets you open the gates at launch without losing the invite-only feel.
What's next for RoamTribe
Next up: route-overlap search (find people in the same region over the same dates), stronger offline support for roadmaps and chat, and polishing event creation and event chat. I'd like to add more reputation signals and optional verification. The goal is to make RoamTribe the place where van lifers and nomads find each other, see each other's routes, and meet in person at events.
Built With
- node.js
- react-native
- revenuecat

Log in or sign up for Devpost to join the conversation.