All projects

Case Studies / Full-Stack Business Software

Relay Client Delivery

Relay manages the full path from a client contract to delivered work. Contracts move through draft, approval, active, renewal, and termination; issued documents export in English and Arabic; and delivery projects run on real-time Kanban boards linked to contract milestones.

Verified delivery

Real-time
Socket.IO boards after each saved change
EN / AR
Bilingual PDF and DOCX documents
Public
Source repository
Relay Client Delivery workspace with contracts and a delivery board
Exhibit A · Interface captureRelay preview mode with the fictional seed data from the repository.

01 / Challenge

The workflow before the system

Service companies often track contracts, renewals, client documents, and delivery work in separate files, so commitments and execution drift apart.

02 / Approach

How I designed the response

I built a Next.js frontend and an Express + MongoDB API where REST is the only way to change data, and Socket.IO with a Redis adapter broadcasts each saved change to authorized board rooms. Contracts, documents, and delivery boards share one data model.

  • Client directory with versioned compliance documents and expiry warnings
  • Contract lifecycle: draft, approval, active, renewal, termination
  • Bilingual English/Arabic PDF and DOCX export
  • Proposals, addenda, and exact VAT line-item calculations
  • Real-time Kanban delivery boards linked to milestones
  • Role-based access and invitation-only team membership

03 / Outcome

A working end-to-end product with a seeded demo mode: contracts, bilingual documents, signed-PDF storage, delivery receipts, and live boards, covered by backend integration tests against a disposable MongoDB.

Exhibits B–E / Screens

From contract to delivered work.

Captured from the repository's preview mode, which runs on an in-memory database with fictional seed data.

Relay contracts list with active, pending approval, expiring, and draft contracts
Exhibit BContracts in four lifecycle states.
Relay active contract with clauses, milestones, renewal and termination actions
Exhibit CAn active contract with renewal, milestones, and history.
Server-generated English and Arabic addendum PDF with VAT line items
Exhibit DServer-generated English/Arabic PDF with VAT totals.
Relay client directory at phone width
Exhibit EClient directory at phone width.

04 / Workflow

Before

  • Contracts and renewals tracked in spreadsheets and folders
  • Client licences and certificates expire unnoticed
  • Delivery work disconnected from contract milestones

With the system

  1. Add a client and upload compliance documents
  2. Draft a contract from a template and send it for approval
  3. Issue the approved contract as an English/Arabic PDF
  4. Link a delivery project and run its work on a live board
  5. Renew or terminate with full history kept

05 / Engineering proof

Architecture

  • Next.js + Redux + Ant Design frontend
  • Express + Mongoose API on MongoDB; signed PDFs stored in GridFS
  • Socket.IO + Redis adapter for real-time board updates after each save
  • Optimistic version checks prevent overwriting newer changes

Verified evidence

  • Public source on GitHub
  • Backend integration tests run against a disposable MongoDB
  • Seeded preview mode with fictional data, used for these screenshots

06 / Judgment

Tradeoffs

  • Uploaded signed PDFs record an external signature; Relay does not do cryptographic e-signatures
  • Email reminders, billing, and a client portal are planned later

Why it matters

  • Keeps commitments and delivery in one system
  • Bilingual documents fit UAE business needs

What this proves

I can build real-time, document-heavy business software with careful data integrity across a Next.js frontend and a Node.js API.

Signed · Mohamed Abdelwahab