As a part of the founding engineering team, I developed the majority of the architecture for ServiceBell, a live video and voice chat widget that customers can embed into their website to have low friction meetings with propsective and existing customers.
Beyond just the chat capabilities, ServiceBell also gives you a view of the visitor’s screen, and the ability to draw or control their screen and guide them through your website. Both parties can also share their entire screens, to be able to debug or demonstrate in real time.
Calls on ServiceBell can be recorded for sharing and viewing. This was achieved using a combination of the latest browser media APIs for capturing video streams and uploading them, as well as. The synchronized playback is pixel perfect because it renders the actual DOM the user had, and is synchronized perfectly with the video.
All of this interactivity is done in realtime through a combination of server communications via WebSockets and peer-to-peer communications via WebRTC. The React-based widget connects to our central backend server via a WebSocket, and has the visitor show up in a list. Once an agent clicks on a visitor, a WebRTC connection is established to do the heavy lifting of communications.
While I focus primarily on the engineering above, I was also heavily involved in a lot of product and design decision making. Whether I built it or not, most product features received a polishing pass from me to ensure it was up to snuff for our customers.
- TypeScript w/ React.JS & React Native
- Python w/ Flask & Sqlalchemy
- PostgreSQL via AWS RDS
- AWS API Gateway, Lambdas, and MediaConvert
- Cloudflare Workers