Mohammad Houda
All work
Humanitarian Platform2025

Hope Link

Hope Link is a full-stack multi-portal platform built to connect NGOs, charities, and volunteers across Lebanon. Three isolated role contexts Admin, Charity, and Volunteer run under a single Express server with role middleware enforcing access at the route level. The signature engineering problem was making a personalized opportunity ranking that stays fast as both sides of the marketplace grow: scores are pre-computed by a BullMQ background worker and written to an indexed junction table, which turns every paginated feed request into a B-tree scan instead of a full table scan plus sort.

At a glance

3Isolated role portals
B-treeFeed reads, not full scans
100%Core endpoint test coverage

Built with

Next.js · TypeScript · Express · Prisma · PostgreSQL · Supabase · BullMQ · Redis · Socket.io

Interface

03 views

Engineering notes

  1. 01

    Match scores pre-computed by BullMQ + Upstash Redis workers move expensive ranking entirely off the request path

  2. 02

    Family-based JWT refresh token rotation with theft detection reusing a revoked token invalidates every session in the family

  3. 03

    Jest + Supertest suite using factory patterns to mock Prisma models, covering core API endpoints

  4. 04

    Three isolated role contexts (Admin / Charity / Volunteer) share one Express server with middleware-enforced access

  5. 05

    Socket.io chat rooms tied to the volunteer application lifecycle: created on approval, closed when the opportunity ends

  6. 06

    Idempotent score writes via INSERT ... ON CONFLICT DO UPDATE, safe under BullMQ job retries

Architecture

Interactive click any node

Loading diagram…

Next project

Shopify Checkout Automation

Browser Automation