Mobile / Consumer

A Cross-Platform Mobile App for University Communities

A native iOS and Android app where verified students discover and create campus events and peer-to-peer services, built offline-first on a serverless AWS backend and shipped to production.

iOS + Android
from one Flutter codebase
Shipped
released to production (v1.0.2)
Offline-first
instant launch, background sync
Serverless
GraphQL + DynamoDB on AWS

The challenge

Campus events and peer services live in flyers, group chats, and siloed channels. The client wanted one app where verified university members could discover, RSVP to, and create events, and offer or book services like tutoring, fast enough to feel instant even on flaky campus networks.

Architecture

Flutter app

  • iOS + Android
  • Offline-first cache

AppSync GraphQL

  • Owner-level auth
  • Cursor pagination

AWS backend

  • DynamoDB
  • Cognito, S3, push
The Flutter client renders instantly from a local cache, then syncs in the background through a serverless GraphQL backend on AWS.

What we built

We built the app in Flutter for a single codebase across iOS and Android, with a Riverpod state architecture and Material 3 UI supporting light and dark themes.

The backend is fully serverless on AWS: a GraphQL API over DynamoDB, authentication with email verification restricted to university addresses, image storage, and push notifications, all provisioned as infrastructure-as-code.

Access rules are enforced at the data layer, so users can only modify their own events, services, and bookings. RSVP decrements ticket capacity and booking flows are first-class.

For speed on unreliable networks we made it offline-first: a local cache renders the UI instantly on launch, a background sync refreshes data, and lists use cursor-based pagination so scrolling stays smooth.

Stack

FlutterDartAWS AmplifyAppSync GraphQLDynamoDBCognito