B2B Matchmaking Platform
Built the complete frontend for a global B2B matchmaking platform — real-time meetings, deal pipelines, and videoconferencing for hundreds of companies at international trade events.
Overview
Every year, large-scale trade events bring African and international businesses together to form partnerships. This platform digitized and accelerated that process — giving companies a space to discover matches, schedule meetings, negotiate deals, and conduct video calls, all in one place, in real time.
The Challenge
The platform had to support hundreds of concurrent users during live, high-stakes events with no margin for failure. Meeting scheduling, deal workflows, and videoconferencing all had to work simultaneously in real time — with every state change instantly visible to all relevant participants.
My Role
I owned the full frontend — matchmaking UI, meeting lifecycle, deal pipeline, real-time sync via WebSockets, and the videoconferencing module built on AWS Chime SDK. This was the most complex frontend system I'd built — multiple real-time channels, formal state machines, and a third-party SDK integration, all running together.
Architecture Decisions
WebSockets for all real-time state
Used Socket.IO to broadcast state changes (meeting confirmations, deal updates, new matches) to all connected clients — instant sync with no polling.
AWS Chime SDK for video
Chose Chime over raw WebRTC — its managed infrastructure handled ICE negotiation, TURN relay, and connection recovery automatically, reducing complexity significantly.
Formal state machine for meetings
Meetings had 6 states (requested → confirmed → scheduled → in-progress → completed/cancelled). A formal state machine made invalid UI transitions impossible and simplified event handling.
Role-based component rendering
Exhibitors, buyers, and admins had entirely different views of the same data. Built a role context provider that switched component variants by user type — one route, multiple experiences.
Hard Problems Solved
- 01
Video reconnection — dropped connections mid-meeting required reconnection without re-triggering the Chime session setup. Built a heartbeat + recovery system for transparent reconnection.
- 02
Concurrent deal conflicts — two users editing the same deal caused conflicting updates. Solved with optimistic updates + server-side conflict resolution and UI diff indicators.
- 03
Event-time load spikes — 400+ active users simultaneously during peak hours. Optimized WebSocket message batching and debounced non-critical UI updates to maintain responsiveness.
Impact
- check_circle
Processed 50,000+ corporate data points per minute during live trade events without UI slowdown
- check_circle
Hundreds of companies completed meetings and signed deals directly through the platform at the live trade summit
- check_circle
The in-house video module replaced an external Zoom integration — keeping users inside the product
Tech Stack