Inspiration
Quin Gable said dating as a solo woman van lifer is like finding a needle in a haystack — you're always moving and everyone else is staying put. Every dating app matches by proximity, but proximity is meaningless when you pull into a new town every week. We wanted to build the first app that matches nomads by where they're going, not where they are — plus the builder help and community safety Quin's audience needs.
What it does
Sojo (short for "Sojourn," a temporary stay) is a community app for van lifers, digital nomads, and overlanders:
- Trip-based matching: Add your upcoming trips. Sojo finds other nomads with overlapping routes and scores matches by shared days + shared activities. "Both in Moab, March 5–12, you both climb and hike."
- Discover (swipe): Swipe through profiles showing trip overlaps. Set your mode to dating, friends, or both. Match and chat with context already set — you know when and where you'll meet.
- Journey timeline: A visual winding trail of your travels. Each stop shows your match count, turning your route into a social map.
- Explore map: 2,000+ camping and utility locations (water, dump stations, propane, showers) — works with zero other users.
- Builder Help (AI): Gemini Live assistant for van builds. Available 24/7.
- Safety: Phone-verified users with visible badges. Small, accountable, trusted community.
- Monetization: Premium subscription ($4.99/wk, $14.99/mo, $34.99/quarter) unlocking unlimited swipes, advanced filters, Builder Help AI, and more — all through RevenueCat.
How we built it
Native iOS app built in SwiftUI targeting iOS 17+. Backend uses Firebase (Auth, Firestore, Storage). AI builder help powered by Gemini Flash via Google's generative-ai-swift SDK. RevenueCat SDK (purchases-ios-spm 5.0+) handles all subscription purchases through the App Store with two entitlements (premium + builder_help). 95 Swift files, 67 views, 8 view models, 7 services.
Challenges we ran into
Designing a matching algorithm that works with trajectories instead of static locations. Traditional proximity matching is a simple distance calculation — trip-based matching requires overlap detection across date ranges, destination fuzzy matching, and multi-factor scoring (days + activities). We also had to solve the cold-start problem: making the app valuable from the first download before any other users exist.
What we learned
The trip-based matching model creates a natural urgency that static-location apps can't replicate. Every overlapping trip is a ticking clock — if you're in Sedona for five days, running out of swipes on day two means you might miss someone leaving on day three. This urgency makes the premium upgrade feel necessary, not nice-to-have. The "great alone, better together" approach — standalone tools (map, planner, AI) plus network-effect features (matching, chat) — is how you survive the chicken-and-egg problem.
What's next
Quin-branded content and curated routes within the app, "Quin's Circle" invite-only community, Android launch, group trip coordination with caravan planning, marketplace for van build components and gear, and international expansion to nomad hotspots.
Log in or sign up for Devpost to join the conversation.