Skip to content
Mark Daniel Edillor
Back
Case study · 2026

888Group Runner Portal

A private platform where admins post deals and a team of independent buyers commit quantities, while the system tracks what remains and closes each deal automatically.

Role
Lead developer (freelance)
Timeline
2026
Stack
Next.js 16, TypeScript, Supabase, Tailwind CSS 4, Playwright, Vercel
888Group Runner Portal landing page for buying partners

The landing page for buying partners

Problem

Deals ran through WhatsApp and WeChat threads, with no single place to track commitments against each deal's target.

Approach

Two role-based portals share one login. Admins post, edit and close deals and approve buyer sign-ups. Buyers browse deals, commit quantities, upload proof and request cancellations.

The commitment engine runs as an atomic database transaction, so concurrent commitments can never exceed a deal's target, and a deal closes automatically once it is filled.

Every deal moves through a clear lifecycle: open, filled, expired or closed.

My role

I lead development of the platform as a freelance engagement with 888Group, from architecture and the commitment engine to testing and production.

Engineering

A layered architecture (models, repositories, services and controllers) with zod-validated inputs, realtime deal notifications, an audit log and CI with Playwright end-to-end tests.

Results

  • 2Role-based portals behind one login
  • 4Deal states: open, filled, expired, closed
  • 40–50Buyers the platform was built for
Next.js 16TypeScriptSupabaseTailwind CSS 4PlaywrightVercel

Want the details behind this build?

Get in touch