All projects
AIProfessional

Bolka Embed — AI Chat Widget

Built Bolka Embed as part of the Bolka platform — a self-contained embeddable AI widget that can be added to any website with one line of code. Supports both voice and text interaction, streaming AI responses, and full visual customisation through a configuration API.

RoleSoftware Engineer (Frontend)
TypeProfessional
Stack
React.jsTypeScriptWebRTCWebSocketsAPI StreamingTailwind CSS

Problem / User need

Businesses wanted to offer an integrated AI voice/chat experience on their websites without building custom infrastructure or requiring visitors to install anything.

Solution & design decisions

Built a self-contained React widget bundled as a minimal embeddable script. Voice mode uses WebRTC for browser-native audio. Text mode uses WebSocket-streamed responses. The widget exposes a configuration API for host pages to set colours, agent personality, and backend endpoint.

Technical implementation

  • Built and bundled the widget as an isolated React application with scoped CSS.
  • Implemented WebRTC audio capture and streaming for browser-native voice interaction.
  • Built streaming response renderer that progressively displays AI output in real-time.
  • Created the configuration API for host-page customisation of branding, widget behaviour, and agent endpoint.
  • Handled session persistence and WebSocket reconnection logic for reliable embedding across page navigations.

Constraints

  • Must be deployable with a single script tag and require zero configuration from the host page's engineering team.
  • Widget styles must be isolated from host-page CSS to prevent visual conflicts.
  • Must support both voice (WebRTC) and text chat modes with streaming AI response rendering.

Outcomes

  • Enabled non-technical teams to embed a fully functional voice/chat AI in minutes.
  • Browser-native WebRTC removed all telephony dependencies from the deployment path.
  • Adopted by enterprise clients across healthcare, insurance, finance, and customer support verticals.