PanicPoll

Real-time polling app for crowdsourcing fast decisions from trusted contacts with push notifications and rich media support.

Private RepositoryLive Demo
PanicPoll

About the Project

PanicPoll solves the "who should I ask?" problem when you're on a deadline. Users sync contacts, build private circles, and launch rich decision requests with images, urgency flags, and multiple vote types.

Core Features:

  • Real contact syncing with private circles and member management
  • Decision composer with images, urgency levels, and multiple vote formats (Yes/No, A/B, multi-choice)
  • Push notifications to alert recipients and track responses in real-time
  • Inbox + History tabs for active polls and archived decisions
  • Demo mode for seeding sample data and marketing screenshots

Technical Architecture:

  • Expo Router for navigation with deep linking support
  • React Native with TypeScript for cross-platform mobile
  • Supabase for auth, Postgres database, and file storage
  • Supabase Edge Functions for serverless push notification delivery
  • Firebase Cloud Messaging (FCM) for cross-platform push
  • Expo Notifications for local and remote notification handling

Engineering Highlights:

  • Designed contact sync flow with privacy-first approach
  • Built real-time voting updates with Supabase subscriptions
  • Implemented push notification pipeline: Edge Function → FCM → device
  • Row-level security for circle membership and poll visibility
  • Attachment handling with Supabase Storage and signed URLs

Tech Stack

Expo RouterReact NativeTypeScriptSupabasePostgresEdge FunctionsFCMExpo Notifications

Screenshots