Jump to content

Paperclip

From Archive

Paperclip

Minimal, monochrome, friends-only emoji presence app. No chat — just vibes.

iOS: github.com/ejfox/paperclip (SwiftUI) Android: github.com/ejfox/paperclip-android (Kotlin / Jetpack Compose) Backend: Supabase (cross-platform realtime sync)

Concept

You broadcast one emoji to your friends. That's it. No messages, no feeds, no algorithms. Your friends see your vibe. You see theirs. If someone's been 🔥 all week and suddenly goes 😴, you know to check in.

Features

  • One emoji broadcast — set your current vibe
  • Friends-only feed — add friends via invite codes
  • Real-time sync — Supabase realtime across iOS and Android
  • Dark monochrome UI — minimal, no visual noise
  • Siri Shortcuts (iOS) — set emoji, add friend, watch friend, get status
  • Coincidence detection — notifies when you and a friend pick the same emoji
  • Home screen widgets — see friends' vibes without opening the app
  • Lock screen widgets — iOS 17+ glanceable status

Architecture

Layer Tech
iOS SwiftUI, Supabase Swift SDK, WidgetKit, App Intents
Android Kotlin, Jetpack Compose, Supabase Kotlin SDK, Glance widgets
Backend Supabase (Postgres, Realtime, Auth, Edge Functions)
Auth Supabase anonymous auth (no email/password needed)

Status

  • iOS: TestFlight (build 4), App Store submission prepped
  • Android: Feature parity with iOS achieved
  • Landing page: getpaperclipped.com

Database

Two tables: users (id, display_name, emoji, emoji_updated_at, invite_code) and friends (user_a, user_b). Row-level security so users only see their own friends. Realtime enabled on users table for live emoji updates.

See Also