One feed for every event on campus. Students follow societies, save events and get reminders without signing up, societies publish from their own portal, and admins moderate, all on an offline-first Flutter app backed by Supabase.
Role
Sole developer
Platform
Android · Web
Data
Drift · Supabase
Push
FCM topics
Overview
Every event on campus, one feed.
University societies announce events on WhatsApp, where they get buried and missed. Campus Pulse gives students one structured feed with follows, saves, “Going” and reminders, with no account needed, and gives societies a portal that is faster than writing a WhatsApp message. Platform admins approve societies and moderate content from the same app, on Android and the web.
Stack: Flutter, Supabase, Drift, FCM.
Architecture
Feature-based Clean Architecture: domain, data and presentation layers per feature, with a pure-Dart domain
Offline-first: screens read only the local Drift database, filled by transactional delta sync from four Postgres functions
The server decides: row-level security plus audited portal and admin functions, with version checks so two members can't overwrite each other's edits
Key features
Offline-first feed
A local database kept fresh by cursor-based delta sync, so the feed works without a signal.
No sign-up needed
Follows, saves and reminders work anonymously, and push topics never reveal who follows what.
Society portal
Invite-only members draft, schedule, publish and cancel events, with autosave and conflict detection.
Admin & moderation
Approve societies, hide events, review reports and push app-wide settings like maintenance banners.
The challenge
Events live in scattered WhatsApp groups, and a student app that demands sign-up or a constant connection won't get used. At the same time, many societies need to publish safely without the server trusting the client.
The approach
Students stay anonymous and read from a local database synced in deltas, while every write goes through server-side functions that check the member's role, validate the change and record an audit log in one transaction.
One feed for every event on campus. Students follow societies, save events and get reminders without signing up, societies publish from their own portal, and admins moderate, all on an offline-first Flutter app backed by Supabase.