case_study
KrispCall
Cloud telephony SaaS for high-growth teams
Senior product engineer — frontend & real-time call platform
- React
- TypeScript
- GraphQL
- WebRTC
- GCP

problem
The problem
Cloud telephony is unforgiving: a call either connects instantly or the product has failed in front of a customer. The interface had to surface live call state — ringing, on-hold, queued, transferred — across a whole team in real time, without the UI stuttering or drifting out of sync with the voice backend.
On top of that, the surface area was large: dialer, contacts, call logs, queues, and analytics all sharing the same live data. The challenge was keeping that data consistent and the UI fast as the account and call volume grew.
approach
What I engineered
- Built the React/TypeScript call interface against a GraphQL API, with subscriptions driving live call, presence, and queue state instead of polling.
- Designed a normalized client cache so call logs, contacts, and active sessions stayed consistent across every view without redundant refetching.
- Integrated the WebRTC voice layer with the UI state machine so call controls (mute, hold, transfer) reflected real device/session state, not optimistic guesses.
- Kept the dialer and call surfaces responsive under load by virtualizing long lists and deferring non-critical work off the interaction path.
- Hardened the real-time layer with reconnection and resync logic so a dropped socket recovered cleanly without a full reload.
result
The result
A telephony interface that holds up in daily production use for high-growth teams — live call state stays in sync, the dialer stays responsive, and the real-time layer recovers from network blips without losing the agent's place.
The platform shipped and continues to serve real call traffic. Quantified outcome metrics are being confirmed with the client before publication.
- 100+
- countries · live numbers
- 340+
- verified G2 reviews
- Real-time
- calls · queues · presence
Public product figures (KrispCall), verified June 2026. Internal performance metrics from the engagement are available on request.krispcall.com ↗
work_with_me
Have a project like this?
Tell me the problem on a 20-minute call and I'll tell you how I'd approach it — the same way KrispCall started.
Discuss your project