RevenueCat Shipyard: Creator Contest 2026 App name - SoloFit
Product Overview What is this app? This app is an immersive journey journal and companion map for solo female travelers. It transforms travel experiences into meaningful, collectible memories on a personal map, while also providing emotional and safety-oriented support to help users feel more confident and less alone when traveling by themselves.
Who is it for? It is designed for women aged 18 and above who travel alone — from first-time solo travelers to experienced explorers — especially those who value self-reflection, personal growth, and a sense of companionship while maintaining independence and safety.
What problem does it solve? Many solo female travelers feel anxious in unfamiliar environments and often experience loneliness during their trips. This app addresses both emotional and safety-related concerns by combining memory collection, community connection, and emergency support into a single, easy-to-use experience, helping users travel with greater peace of mind and confidence.
Core Features Feature 1 Nearby Connections — Optional Companionship When You Need It Users can discover and connect with other travelers nearby when they want company, such as sharing a meal or exploring together. The app provides clear, visible user information to help people make informed and comfortable decisions before connecting. Feature 2 Emergency SOS — Simple and Reliable Safety Support The app includes an easy-to-use emergency mode designed for critical situations. When activated, it helps users quickly access location-based emergency support, offering reassurance and a strong sense of safety backup during solo trips.
Feature 3 Personalized Explorer — Find Places That Fit Your Comfort Level Users can browse and filter places using intuitive indicators such as budget range and experience level, making it easier to choose destinations that match their preferences, travel style, and confidence level. Feature 4 Travel Collections — Turn Your Journeys into Achievements Every place a user visits can be saved as a personal marker on their map, gradually building a visual collection of travel memories. Over time, these markers become a meaningful record of personal journeys and achievements. Feature 5 Story Journaling — Capture and Revisit Your Travel Moments Users can write down their thoughts and experiences in a built-in journal. These entries are transformed into easy-to-browse stories linked to their journey, helping them reflect on and relive meaningful moments from their trips.
Technical Architecture Client Application (iOS-first, React Native + Expo) Stack: React Native + Expo (iOS-first) Core modules: Auth/onboarding, privacy controls, 3D globe, journal, city digest, city-level connections, Alert/SOS The mobile client is designed to keep the product cohesive while allowing feature slices to ship safely. Authentication and privacy are treated as foundational, not add-ons, because social discovery and safety actions require explicit user consent and predictable UI states. 3D Globe Map and Travel Collections Rendering: Three.js-based interactive globe Collections: city markers as achievements/memories Navigation: tap city → view trips, journals, and city digest content The globe is the primary “memory container” for the product. Instead of showing travel history as a list, cities become collectible markers tied to real user actions (visits, saves, journal moments), making the experience more immersive and reinforcing long-term retention through visual progress. Journal and Story Layer Content model: daily entries linked to trip + city marker (optional) Media: photos stored and referenced via secure URLs Story output: optional formatting/generation step (not required for MVP) Journaling is implemented as structured content that can be browsed by both timeline and location. Story generation is positioned as an enhancement layer so the MVP remains reliable: users can journal and revisit memories immediately, while narrative transformation can evolve without destabilizing core storage and syncing. Nearby Connections and Chat (City-level Only) Matching scope: city-level only (no distance bands, no GPS exposure to others) Flow: opt-in discoverability → request/accept → 1:1 chat Realtime: chat updates via backend realtime channel Restricting matching to the city level is a deliberate safety and privacy decision. It enables companionship when desired while preventing the most common location-based risks (triangulation, stalking via proximity). The connection request gate ensures users make explicit choices before private messaging begins. Alert / SOS Mode (User-triggered Only) Activation: user-triggered safety session (no auto-trigger, no background surveillance assumptions) Actions: share location (permissioned), notify trusted contacts, show local emergency numbers Delivery: push notifications + session state tracked server-side Alert mode is designed around explicit intent and reliability. When activated, the system creates a clearly defined “safety session” so the UI and backend remain consistent (active/resolved/canceled). This keeps the experience predictable under stress and avoids ambiguous states that could undermine user trust. Backend Platform (Supabase + Render) Supabase: Postgres, RLS, Auth, Storage, Realtime Render: city digest aggregation + caching + scheduled refresh jobs Separation of concerns: Supabase for product data + realtime; Render for ingestion/processing Supabase provides the core primitives needed to ship quickly while maintaining strong data isolation. Render is used where scheduled processing and caching are valuable (city digests), keeping external API keys and ingestion logic off the client and reducing latency/cost through centralized caching. Database and Security Model (Postgres + RLS) Primary store: Supabase Postgres Access control: Row Level Security for all user-owned data Data domains: profiles, trips, cities, journals, connections, messages, safety sessions RLS enforces “default private” behavior at the database layer, which reduces the chance of accidental data exposure. This is particularly important because the app mixes personal content (journals) with social features (connections) and safety workflows (alerts), each with different visibility rules. Edge Functions (Server-side Business Logic) City-level matching: enforce discoverability and city scope centrally Safety workflows: create/resolve safety sessions; trigger notifications to trusted contacts Policy enforcement: rate limiting, abuse prevention hooks (recommended) Edge Functions keep sensitive logic off the client and allow updates without forcing mobile releases. They also provide a controlled boundary where privacy rules can be consistently applied, especially for social discovery and safety events. City Safety Digest System (Daily/Weekly in MVP) Frequency: daily/weekly curated digest per city (real-time later) Processing: ingestion → normalization → caching Delivery: stable API consumed by the app; displayed as “signals” and tips For the MVP, the city feature is built as a curated digest rather than real-time monitoring. This reduces complexity and liability, while still delivering meaningful value: users get practical awareness, trends, and tips. The architecture keeps an upgrade path open to more frequent updates later without changing the client contract. Data Flow Summary (End-to-End) User actions: trips/journals/collections created on device → synced to Supabase Social: city discoverability → edge matching → connection → realtime chat Safety: user triggers Alert mode → safety session created → pushes + permissioned sharing City content: Render refreshes digest → app fetches cached results by city This flow ensures the app remains responsive and privacy-safe while still supporting realtime interactions where they matter (chat, safety sessions). The separation between “user-owned content” and “city digest content” also keeps the system maintainable as you scale.
Built With
- python
- react-native
- render
- supabase
- swift
Log in or sign up for Devpost to join the conversation.