Plural Social App
Location-based social network — friends, groups, crowd-voted event meetups, and a dedicated gamification backend
A Flutter social-networking app built around a friend graph, groups and a 'Moments' photo/video feed, with events discovered through Firestore geo-radius search and resolved by attendee voting — a venue poll and a fees poll that auto-tally and close on schedule — all backed by a dedicated Firebase Cloud Functions service that runs the app's points-and-levels gamification layer.



Both repositories are private. Geo-radius event search, poll auto-tally and the points-and-levels Cloud Functions layer are explained below.
About this project
The core is a standard social graph — friend requests, a personal 'Moments' feed of photo/video posts with likes and threaded comments — extended with groups that each carry their own feed, chat, member gallery, join-request/invite flow and event calendar, plus a lightweight 'Fun' tab where users create their own challenges.
Location runs through the whole event flow. Event creation embeds a live Google Map (tap the map to drop a pin, or auto-detect the device's current position via Geolocator/Geocoding reverse-geocoding), and event discovery runs a Firestore geo-radius query layered under Algolia-powered search for groups and events.
Events have a distinctive mechanic: attendees vote on where an event happens and what it costs. Each event carries a venue poll and a separate fees poll with per-option vote tallies; a scheduled Cloud Function closes the poll once its duration elapses and writes back the winning venue/fee option. A second family of scheduled functions auto-deletes events and group-events past their end date, running on a minute-level cron. Shareable event-invite links run through Firebase Dynamic Links.
The gamification layer lives entirely in the companion Cloud Functions service: creating a post, liking, commenting, sending a friend request, joining a group, creating an event or sending a chat message each award points through a Firestore-triggered function, a nightly scheduled job resets each user's daily point total, and cumulative totals are mapped against a configurable level table. The same service fans out FCM push notifications for friend requests/acceptances, new group posts, likes, comments and new chat messages (both 1:1 and group chat) — all server-side, none of it duplicated in the Flutter app.
Auth is multi-provider: Google Sign-In and Facebook Login both complete a Firebase credential exchange, alongside standard Firebase email/password.
Key features
- Nearby-event discovery: a Firestore geo-radius query surfaced under a live embedded Google Map — tap to drop a location pin, or auto-detect the device's current position
- Crowd-decided event logistics — attendees vote on a venue poll and a fees poll per event; a scheduled Cloud Function tallies the leading option and auto-closes the poll once its set duration elapses
- Scheduled cleanup jobs auto-delete events and group-events past their end date on a minute-level cron, independent of the poll-close jobs
- Groups with their own feed, event calendar, chat, member gallery and join-request/invite flow, alongside a personal 'Moments' photo/video feed with likes and threaded comments
- Real-time chat, both 1:1 and per-group, with Cloud Functions fanning out push notifications on every new message
- Friend-request system with FCM push notifications on acceptance and a synced friend-count on both profiles
- Points/leveling gamification: a Cloud Functions layer awards points for post/like/comment/friend/group/event/message actions, resets each user's daily total on a nightly scheduled job, and maps cumulative totals to levels
- Multi-provider auth — Google Sign-In and Facebook Login via Firebase credential exchange, plus email/password — and Firebase Dynamic Links for shareable event-invite deep links
- User-created 'challenges' in a dedicated Fun tab
More in Social & Media



Gage
Social sports platform — live NFL/NBA scores, friendly wagers & group chat
A feature-dense social sports app where friends track live NFL/NBA scores and news, challenge each other with 'gages', climb leaderboards and talk trash in group chat — with push notifications and deep links throughout.



DingDong
Short-video social app — camera-to-feed reels, live rooms and a creator coin economy
A Flutter short-video social app: an in-app camera records reels with a searchable sound library, a vertical feed carries hashtags, follow, like and comment, and a coin economy lets users recharge with card payments or native in-app purchase and gift coins to creators, who withdraw them — all behind a Node/Express/MongoDB backend and a Next.js admin console, with AI content moderation on every upload.



Onlink
Encrypted 1:1 and group chat, self-destructing messages, and an approval-gated admin console
A Flutter chat app and a companion Flutter admin console sharing one Firestore backend: message data is encrypted client-side before it is stored, conversations carry an adjustable 1-6 day self-destruct timer, the chat screen blocks screenshots and screen recording, and idle sessions auto-log-out after 5 minutes.
~/sherazi.dev$./say-hello
Say hello.
Questions about a case study, one of the packages, AI tooling or Flutter in general are always welcome.
// or browse the packages on pub.dev(opens in a new tab)