Back
04 · MobileOrbit
2026

Closeness without the performance.

Orbit home view with friend orbs

Most social apps are feeds. Orbit isn't. There's no scroll, no like counts, no comments, no streaks. Your closest people sit as orbs in a slowly rotating circle around you, each orb coloured by that person's current mood. Tap an orb to open a frosted-glass card with their note, the song they're listening to, and four lightweight one-way interactions: Warmth, Echo, Spark, Open Door. None of them expect a reply. It's built for the 4 to 8 people you actually keep close, not for getting you back into the app every nine minutes.

Problem

I wanted to know how my parents' day went without scrolling past 40 strangers' brunch photos first. Snapchat, Messenger, BeReal: they all have feeds, they all want you to come back constantly. None of them measure success by whether the small group of people you actually love is calm.

Approach

You sit in the centre of a slowly rotating ring of orbs, with Family and Friends as two filterable circles. Tap your own orb and you swipe through six poetic mood zones (Radiant, Serene, Tender, Stormy, Electric, Drifting), add a one-line note, and optionally pin a Spotify track that's playing right now. Tap a friend's orb and a frosted-glass card slides up with their face, mood, note, and a 30-second song preview. Each of the four interactions has its own signature colour: Warmth (peach rings expanding from their orb), Echo (mirrors their mood, 'I feel that too'), Spark (one of twelve curated phrases, since there's no free-text messaging in the app), and Open Door (a green ring telling friends you're available right now). Built on Flutter with Supabase for Postgres, Auth, and Realtime, ntfy on DigitalOcean for push (no Firebase), and AES-encrypted messages keyed in the platform's secure storage.

Outcomes

Beta on Pixel 9 Pro XL and Samsung Galaxy. Real-time mood propagation, interaction pulses, encrypted messages, profile photo upload, and Spotify integration all work on-device. Backend is self-hosted Supabase Docker for dev, with Supabase Cloud (EU) as the production target once the legal scaffolding lands. Reframing mood as 'social presence' rather than mental health (with a not-a-medical-service disclaimer) keeps the data outside GDPR Art. 9 special category, which was the legal blocker for this kind of product.

Selected features

  • Slow rotating ring of friend orbs, no feed and no scroll
  • Six mood zones (Radiant, Serene, Tender, Stormy, Electric, Drifting), each with its own colour
  • Frosted-glass friend card with mood, handwritten note, and a 30-second song preview
  • Four signature-colour one-way interactions: Warmth, Echo, Spark, Open Door
  • No free-text messaging. Spark sends one of twelve curated phrases
  • Open Door ring signals you're available to talk right now
  • AES-encrypted messages, key in the platform keystore (backend only sees ciphertext)
  • One-tap account deletion, GDPR Art. 17 compliant
  • No advertising IDs, no third-party analytics, no contact import, no location
  • Real-time presence via Supabase Postgres CDC, self-hosted ntfy push (no Firebase)

Tech

Mobile

Flutter (Material + custom widgets)iOS 15+Android 9+

State

Provider + Selector hashesNo Redux / Bloc

Backend

Supabase (Postgres + Auth + Realtime + Storage)Self-hosted Docker stack for devSupabase Cloud EU for production target

Auth

Supabase Auth: email + Google OAuth

Real-time

Supabase Realtime (Postgres CDC) for mood and friend updates

Push

Self-hosted ntfy on DigitalOceanNo Firebase / no FCM dependency

Audio previews

Spotify Web API (Now Playing)Deezer fallback for preview URLs when Spotify omits themRecently-played fallback chain when /currently-playing returns 204

Encryption & storage

AES-encrypted messages, ciphertext-only on the backendPer-device key in flutter_secure_storage (Android Keystore / iOS Keychain)Supabase Storage for avatars

Beta on Android. Solo build: design, mobile, backend, infra, copy. iOS pipeline coming.