APSU '16 · 2026
Live in productionAPSU '16
Alumni platform with a private member portal, event payments and moderated community content
- Next.js 15
- React 19
- TypeScript
- Supabase (Postgres, Auth, Storage, Realtime)
- GSAP
- HTML Canvas
- GroupFund API (Hubtel)
- Sentry
- Vercel

Live
at apsu16.com
263
verified members
22%
less JavaScript per public page (352 kB down to at most 275 kB)
10
house pages, one for each school house
Overview
What this is
A home for the Class of 2016 of St. Augustine's College, Cape Coast. The public site tells the year group's story and gives every member a house to belong to. Behind it, a private portal lets verified members find each other, RSVP to events, pay dues and post updates. The association's executives run the site themselves: they edit content, review submissions and track who is attending.
The problem
What needed solving
- More than 250 members needed a private place to find each other, but the member list had to stay hidden from the public.
- Events needed RSVPs where members choose options and pay straight away through the association's existing payment drive.
- Executives needed to review honours nominations and member updates without asking a developer.
- Most members use phones on slow mobile connections, so every page had to be light and fast.
The solution
What I built
- A public site and a separate member portal. Members sign in with a one-time code, and access rules in the database protect member data.
- Event packages with selectable options. The server calculates the total and sends the payment to the existing GroupFund drive over its API, where it is paid through Hubtel.
- Admin panels for nominations, class notes, events and site content, with in-app notifications and an audit log.
- A redesign that cut the JavaScript on every public page, plus a full security hardening pass.
Features
Key features
Private member portal
A member directory, events, dues, profile and messages in one place, designed for phones first.
Event RSVPs with options
Members tick the items they want and see the total. The server sets the price, then passes it to GroupFund's API to pay through Hubtel.
Honours and class notes
Members nominate brothers for awards and post updates. Executives review both in the app and members are notified.
Self-service content
Admins change the site's text and images themselves. Every admin action goes into an audit log.
Opening animation
Particles burst like fireworks and form the wordmark. Plays once per visitor, with a reduced-motion fallback.
Ten houses
Each school house has its own page, so every member belongs to a smaller group within the year.
Passwordless sign-in
Members sign in with a one-time code sent by email. The membership check runs on the server, with rate limiting.
Attendee lists
Admins see who confirmed and what each person chose, then export the list to a spreadsheet.
Screens
Inside the product




