AppVion Studio logo AppVion Studio Case study

University communication platform

WUM Connect: one campus announcement that actually reaches everyone.

A role-based university app where administrators, faculty, and students each see a different product built on the same data. Real-time announcements, faculty and student records, results publishing, and push notifications — replacing notice boards, WhatsApp groups, and word of mouth.

Jetpack Compose Firebase Hilt Role-based access Push notifications
3 user roles Real-time announcements Offline-friendly
WUM Connect student dashboard with profile, results, events, fee voucher and admissions

The problem

A campus announcement is only as good as its worst distribution channel.

Context

University information is time-sensitive and role-specific. An exam reschedule matters urgently to one cohort and not at all to another, and it has to arrive before the exam, not after.

What kept breaking

Notices lived on physical boards, in unofficial WhatsApp groups, and in forwarded screenshots. There was no way to tell who had actually been reached, and no way to stop a stale notice circulating for weeks after it was superseded.

The real requirement

A single authoritative source with role-aware delivery — so the university publishes once, the right people are notified, and the current version is the only one visible.

The approach

Three roles, one Firestore-backed source of truth.

01

Administration

Publish announcements, manage faculty and student records, oversee departments and admissions information, and send targeted notifications.

02

Faculty

Read announcements relevant to teaching staff, and publish results for their own students without going through an administrator.

03

Students

A single feed of everything that applies to them — announcements, results, departmental information, and admissions detail.

04

Shared backend

Firebase Authentication for identity, Firestore for live data, Storage for attachments, and Cloud Messaging for delivery.

Inside the app

Screens from the shipped build.

Real screens across all three roles — the administration console, the teaching staff view, and the student hub.

WUM Connect admin dashboard with faculty, users, departments, announcements and notifications
Admin DashboardAdmin · Console
WUM Connect teacher dashboard with manage courses, add student, upload results and attendance
Teacher DashboardFaculty · Daily actions
WUM Connect student dashboard with results, events, fee voucher and admissions info
Student DashboardStudent · Personal hub
WUM Connect upcoming events list with registration
EventsStudent · Register
WUM Connect manage courses list with course codes and credit hours
Manage CoursesFaculty · Course setup
WUM Connect upload results with semester, course and result type selection
Upload ResultsFaculty · Marks or grades
WUM Connect admissions information with programmes, deadlines and merit lists
AdmissionsPublic · Merit lists
WUM Connect department listing
DepartmentsPublic · Directory

Engineering highlights

The parts that were harder than they look.

Role is a data boundary, not a UI toggle

Each role gets its own navigation graph and its own set of screens rather than one screen with hidden buttons. A student's build has no path to an admin action at all, which is a stronger guarantee than a disabled control.

Announcements that arrive

Firestore keeps the feed live for anyone with the app open; Cloud Messaging reaches everyone who does not. Both paths write to the same record, so an announcement cannot exist as a notification without also existing in the feed.

Bulk student migration

Onboarding an existing cohort is the unglamorous part that decides whether a campus app gets used. A dedicated migration flow imports student records in bulk rather than expecting an administrator to type in a year group by hand.

Offline-friendly reading

Firestore's local cache plus DataStore-held preferences mean an announcement already delivered stays readable on a patchy campus connection, rather than showing a blank screen.

Technology

The stack behind WUM Connect.

Kotlin Jetpack Compose Material 3 Hilt Coroutines & Flow Firebase Auth Cloud Firestore Firebase Storage Firebase Cloud Messaging DataStore Navigation Compose

More case studies

Other systems we have built.

Data-heavy utility

Attendance Management

Multi-role institutional attendance with offline capture, background sync, analytics, and an append-only audit log.

Read the Case Study
Events platform

Sports Society Events

Event coordination for a university sports society with registrations, per-event chat, leaderboards, and coach performance tracking.

Read the Case Study
All work

Full portfolio

Every case study and product demo in one place, across logistics, field service, education, events, and SaaS.

Browse all case studies

Start the conversation

Running an institution on notice boards and group chats?

Announcements, records, results, and role-specific access are a well-understood problem with a well-understood shape. Bring the workflow and we will scope it properly.

WhatsApp Start Project