PanicPoll
Real-time polling app for crowdsourcing fast decisions from trusted contacts with push notifications and rich media support.
Private RepositoryLive Demo
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