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.

Built With

Share this project:

Updates