fix broken websocket sync on our bunker fuel trade blotter (react/fastapi)
Category: Web Development
Budget: 2350–2350 USDC
- We run a marine bunker fuel (VLSFO / MGO) spot matching desk with 8 brokers between Rotterdam and Houston.
- Current stack: React frontend on Vite, FastAPI backend, Redis pub/sub handling the live order blotter.
- Problem: WebSockets disconnect randomly during heavy volume spikes—mostly when the Singapore window opens—and state falls completely out of sync.
- Right now brokers think an RFQ went through, it didn't, and they end up double-booking barge delivery slots. Lots of screaming on the phone.
- Past attempt: Hired an agency dev three weeks ago who tried replacing our state store with Zustand. He introduced race conditions, broke order status filters, and disappeared before writing tests.
- What needs doing:
- Fix WebSocket reconnect & heartbeat logic so stale order books never show on trader screens.
- Put a clear visual connection indicator on the header (green/amber/red) so guys stop paging me at 3 AM.
- Stop RFQ cards from duplicating in the blotter table on browser refresh.
- Clean up FastAPI async Redis listeners that are leaking connections.
- Need this sorted before our bank compliance audit next Thursday for our credit facility review.
- Skip the AI cover letters. Tell me what WebSocket library you prefer for fast tabular UI updates and when you can look at the codebase.
Skills required
- React
- FastAPI
- WebSockets
- Redis
- Python
Milestones are funded into USDC escrow on Polygon before work begins.