Mobile App + Admin Platform
Uniffy

Uniffy

Campus super-app that connects students with events, maps, and roommates

Project Details

StatusLive
ProductMobile App + Admin Platform
Timeline8 Weeks
Tech Stack
React NativeExpoFastAPIPythonSupabaseNext.js 15TypeScriptAPNsexpo-router
The Problem

University students have no single place to discover what's happening on campus, navigate between buildings, or find roommates — they're juggling group chats, paper flyers, and outdated portals. Campus admins have no self-service tool to push events and map updates to students in real time, so information stays stale and turnout suffers.

The Solution

Uniffy is a three-part platform: a React Native mobile app that puts an interactive campus map, live events feed, direct messaging, and roommate finder in every student's pocket; a FastAPI backend with role-based auth; and a Next.js admin dashboard that lets campus staff create events, manage map pins, and broadcast announcements without touching code or contacting IT.

< 300msChat & Map Transition Animations
5 ZonesInteractive Hierarchical Campus Map Levels
No CodeRequired to Publish Events, Maps & Announcements
3 AppsUnified Platform (Mobile + API + Admin Web)

What It Does

Hierarchical Campus Map

A zoomable, drill-down campus map across 5 area levels — main, central, kaufman, quad, and west — with time-based imagery that swaps the correct map layout depending on the time of day. Pins display building info and scheduled events inline.

Campus Events Feed

A card-based social feed of upcoming campus events, pulled live from the backend, with shimmer skeleton loading states and pull-to-refresh. Students see event images, times, locations, and descriptions at a glance.

Real-time Direct Messaging

A full inbox with message caching, optimistic sends, and swipe-right gesture to close chats. Messages are fetched fresh from the API on every conversation open, with cached messages shown instantly to eliminate perceived latency.

Roommate Finder

Search for fellow students by username with live debounced search (300ms), filtered by major and graduation year. Add any student as a roommate or jump directly into a DM from the search results.

Room Availability Toggle

A single-tap toggle on the profile screen lets students broadcast whether their dorm room is available or occupied. Updates are optimistic — the UI reflects the change instantly — with silent rollback and toast feedback if the API call fails.

Admin Content Dashboard

A Next.js web admin panel lets campus staff create and manage events (with image uploads to Supabase Storage), configure interactive map pins, update map imagery, and push announcements to all students — all without a mobile app or engineering support.

In Action

The launch screen sets the tone — a blurred aerial campus view behind the Uniffy logo and its promise: all of campus, at your fingertips
The top-level map view tiles the entire campus into four named zones — tap any to drill into that area's buildings, paths, and live event pins
Drilling into a zone reveals individual building pins like Dorms — each one tappable to see location details and events scheduled there
The live feed surfaces everything happening on campus — event image, description, location, and time — pulled fresh from the FastAPI backend
The profile screen doubles as a housing hub: a single tap on the Available toggle broadcasts whether a student's dorm has an open spot, with optimistic UI that updates instantly

Highlights

What We Built

Uniffy is a full-stack campus community platform built for university students and the staff who run events for them. The system spans three codebases that share a single Supabase backend: a React Native (Expo) mobile app targeting iOS and Android, a FastAPI Python REST API with JWT authentication and role-based access control, and a Next.js 15 admin dashboard for campus operations. On the student side, the mobile app surfaces a social events feed, a multi-zone interactive campus map, a direct messaging inbox, a roommate search tool, and a dorm room availability toggle — all in a single tab-based UI with a consistent dark aesthetic and animated transitions. The tech choices (Expo for cross-platform delivery, Supabase for auth and database, FastAPI for a typed API layer) let a small team ship a production-grade mobile product without splitting effort across multiple backends or auth systems.

The Hardest Problems

The campus map was the deepest engineering challenge: it needed to support five hierarchical levels with smooth animated transitions between them, percentage-based pin placement that stays accurate at any screen size, and time-based image swapping so the correct layout version loads automatically by time of day — all while preloading every remote map image in the background at app startup so navigation feels instant. Getting the transitions right required carefully separating "display level" from "current level" state to prevent flicker during the fade-out/fade-in animation cycle. Messaging posed a different challenge: how to show cached messages immediately on tap (eliminating loading spinners) while silently fetching fresh messages from the API in parallel, with the UI updating seamlessly if the fresh data differs. Swipe-to-dismiss for the chat panel required coordinating Reanimated worklets, gesture velocity thresholds, and parent scroll containers to avoid conflicting touch events.

What We Learned

Optimistic UI is non-negotiable for any interaction that touches a network. The room status toggle is a small feature, but it taught us that users immediately notice even 200ms of UI lag on a toggle — showing the new state instantly and rolling back silently on failure felt dramatically better than disabling the button while waiting. We also learned to invest early in a dedicated admin panel rather than building admin workflows into the mobile app; the Next.js dashboard gave campus staff full CRUD control over events, pins, maps, and announcements without any mobile-side complexity, and it was far easier to iterate on than a hidden admin tab. The decision to co-locate the backend, mobile app, and admin web in a single repository root proved valuable for keeping shared contracts (API response shapes, auth patterns) in sync without a formal monorepo toolchain.

The Result

Uniffy is a live cross-platform campus app running on iOS and Android that lets students find events, navigate campus, message classmates, and manage their housing situation from a single app. Campus staff can push a new event or update a map in under a minute from the admin dashboard without any engineering involvement. The project demonstrated that a small team can ship a multi-product platform — mobile, API, and admin web — in under eight weeks by choosing a tight, Supabase-centered stack and keeping optimistic UI as a first principle throughout. Good software is invisible: when interactions feel instant and information is always current, the tool disappears and the campus community comes through.

Like what you see?

Let's build your next product together.