AUB Alumni Association

From paper forms to one member directory

A bilingual records platform that replaces the association's legacy FoxPro directory with a staff dashboard, an online membership application, and email broadcasts to members.

Project facts

Industry
Associations
Years
2026
Platforms
Staff dashboard and public application form, on the web
Modules
Members, applications, analytics, parameters, email broadcasts, staff accounts
Languages
English and Arabic, with a full right-to-left layout
Legacy data
Member records moved from FoxPro
Stack
Next.js on Vercel, FastAPI and Postgres on Railway, Resend

The challenge

The AUB Alumni Association brings together graduates of the American University of Beirut. Its member records sat in a legacy FoxPro system, new members joined on a paper application form, and the membership work ran by hand.

  • Member records kept in a legacy FoxPro system
  • New members joining on a paper application form
  • Membership work done by hand, with no single view of the directory

What we built

We built the records platform that replaces that system, in English and Arabic with a full right-to-left layout. Staff search and filter the members directory by faculty, branch, membership type, gender, graduation year, and dues year, all in the database. Each record opens in one sectioned form that follows the paper form, with a passport photo. The directory exports to Excel in the legacy column layout, and admins keep the 30 membership types up to date on a Parameters page.

Graduates now apply online through a six-step form: personal, contact, education, professional, family, and review. Each application lands in a review queue, and staff can get an email for every new one. Staff complete the record, see any members with the same name already in the directory, then approve or reject. Approval assigns the next AAA ID, continuing the legacy numbering.

Analytics show four headline figures and 11 breakdowns, worked out in the database with the same filters as the members list, and the current slice opens in the list. Admins write email broadcasts, pick the audience with those filters, preview the message, and send themselves a test. Broadcasts go out through Resend in warm-up waves, with a delivery report for each send. We built the platform in 2026: a Next.js app on Vercel, and a FastAPI API with Postgres on Railway.

In scope

  • Members directory and record form
  • Six-step online membership application
  • Application review and approval
  • Analytics on the members directory
  • Email broadcasts with delivery reports
  • FoxPro data migration and Excel export

How it works

How an application becomes a membership.

  1. Step 1: Apply

    Graduates fill in the six-step online application.

  2. Step 2: Queue

    The application lands in the review queue, and staff can get an email.

  3. Step 3: Complete

    Staff complete the record in the member form.

  4. Step 4: Check

    Staff see any members with the same name already in the directory.

  5. Step 5: Decide

    Staff approve or reject the application.

  6. Step 6: Join

    Approval assigns the next AAA ID and adds the member to the directory.

Staff add members from paper forms in the same record form.

The outcome

  • One bilingual directory, searched and filtered in the database, with Excel export in the legacy layout
  • A six-step online application that staff review, then approve with the next AAA ID
  • Analytics and email broadcasts that use the same filters as the members list

The project in numbers

  • 30membership types carried over from the legacy system, kept up to date by admins
  • 6steps in the online membership application, from personal details to review
  • 6modules in the staff dashboard, from the members directory to email broadcasts
  • 2languages, English and Arabic, with a full right-to-left layout

Contact

Tell us how your team works today.

You'll hear back from us within two working days.