Real-time matching, PostGIS + WebSockets + queues, op het tempo waarin supply en demand bewegen.
Marketplaces matchen als beide kanten tegelijk verschijnen. We bouwen de matching engine op Postgres (met PostGIS waar geografie ertoe doet), streamen matches over WebSockets, en queuen de trage paden zodat de request-loop nooit blokkeert op een leverancier-API. Het pattern overleeft groei van 50 actieve sessies naar 50.000 zonder re-platforming.
Wat we bouwen
PostGIS voor de geografische queries
Waar de marketplace een locatie-dimensie heeft (ritten, bezorging, lessen, services) handelt PostGIS de spatial queries af op dezelfde database die de rest van de marketplace gebruikt. Geen aparte geo-service, geen Elasticsearch-tier, geen managed location-leverancier.
WebSocket-subscriptions per sessie
Elke actieve koper abonneert op een topic in de vorm van 'matches in mijn buurt, binnen deze filters'. De server pusht match-updates zodra ze gebeuren; de client rendert zonder pollen. De subscription is begrensd, de pagina verlaten tearet hem af.
Queue-backed allocation, niet request-time
Als supply schaars is, draait match allocation in BullMQ-workers, niet in de request handler. Het request van de koper komt direct terug met een pending match; de worker lost de contention op tegen inventory + business rules; het resultaat landt over de WebSocket.
Tie-breaking die de operator kan configureren
Twee gelijkwaardige matches: wie wint? Configureerbaar per marketplace, recency, rating, distance, price, surge multiplier. De regels leven in het operator-dashboard, niet in de source code. Ze veranderen vraagt geen live-gang.
Match-expiry + reallocation
Een match aangeboden aan een verkoper heeft een timeout. Geen accept binnen het venster → de engine realloceert naar de volgende geranked verkoper. De state machine is observeerbaar; operationele bedrijven kunnen tijdens incidents beslissingen replay.
Operator-oppervlakken voor het rommelige midden
Het operator-dashboard toont live match-queues, huidige matchmaker-beslissingen, supply-concentratie, en de momenten waarop kopers moesten wachten. Het product-team ziet wat te verbeteren; het ops-team ziet waarop te ingrijpen.
Waar dit past
Je marketplace werkt voor de seed-cohort en breekt de eerste keer dat supply en demand ongelijk spiken.
Je matcht vandaag via polling + cron jobs en de latency begint zich te tonen in retention.
Je voegt een geografische dimensie toe aan een marketplace die voorheen alleen op filters matchte, en je huidige stack heeft geen PostGIS.
Tech stack
- TypeScript
- Postgres
- PostGIS
- Elysia WebSockets
- BullMQ
Wil je dit voor je team?
30 minuten met een oprichter of ervaren ontwikkelaar. We bepalen wat je nodig hebt en zeggen je eerlijk of Stacklane past.
Plan een gesprekVerwante capabilities

