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

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
Want the details behind this build?
Get in touch