GetBujo — Founding Engineer, Three Product Surfaces

End-to-end ownership across three product streams: live video and dashboards, a browser extension, and AI-assisted workflows—shipping iteratively with a small team.

Founding engineer · 2023 — 2025 · Remote · GetBujoEarly-stage product

Engagement overview

GetBujo needed a senior engineer who could move fast across and build cost effective scalable platform. I joined as a founding engineer to turn ambiguous problems into shippable product: live collaboration, distribution through the browser, and AI-assisted workflows tied back to clear dashboards.

Product surfaces

Live Video Call Platform

B2B
Powered by Bujo — live video and co-browsing embedded in retailers’ SSR storefronts; more at getbujo.com.
Live video call experience embedded in a retailer storefront: rep and shopper connected in-browser during guided selling.

Impact Metric

Stage

YC-backed (Seed)

Daily reach

~100k/day

Revenue

$0 → $10,000 MRR

Overview

A multi-tenant, cross-platform live video call consultation platform which connects a shopper to a company's sales representative. An owner for the e-commerce business gets an AI Powered Dashboard—a very clean, easy way to understand how sales reps performed and evaluate their sales pitch.

Problem

Buying a high-ticket product online is not easy. There is a lot of information available in a typical store. An interested buyer can easily get confused. Wingman helps the company solve this problem by removing the clutter and providing the offline store experience online.

My role

End-to-end product development and platform building.

Built the first uninterrupted, cross-platform in-browser video calling experience on a Server-Side Rendered e-commerce site. The hard part was not the first paint—it was guided selling: a rep walks a shopper across PDPs, collections, and checkout-style sections, but classic full-page navigations rebuild the whole document, which repeatedly tore down the call surface and created a jarring disconnect mid-conversation.

Designed the experience so the video layer survives those SSR route changes: the call stays attached and continuous while the storefront content around it updates, instead of forcing a re-join after every click.

Created a wrapper on top of the existing third-party video stack so we could deliberately reshape the out-of-the-box UX: instead of two disconnected entry points, both embed surfaces route through our own central launcher icon, so every visitor sees one consistent way to start or join a call.

Refined real-time session state and the operator dashboard so hosts and internal teams can read live and historical usage without digging through noisy raw metrics.

  • E-commerce + SSR navigation: addressed full-page rebuilds that broke sales-led flows when users moved between sections.
  • Multi-tab experience for widget users.
  • Dashboard for mulitiple tenants.
  • Configurable brandable UI for the widget.
  • Cross-platform in-browser video that stays coherent for “rep guides shopper” sessions—not only landing → call.
  • Single launcher UX across two legacy widgets—shared affordance, shared telemetry hooks, less user confusion at join time.
  • Reduced ambiguity in the live session lifecycle (join, active call, wrap-up).
  • Tightened dashboard summaries so success metrics are scannable in under a minute.
Skills

ReactNext.jsTypeScriptWebRTCReal-time stateDashboard UXCross-browserMulti-tenantAPI developmentFastAPI (Python)Prisma ORMProblem solvingAsset and bundling optimizationSystem buildingCI/CDMonitoring and loggingVertualised Tables

AI Copilot + Dashboard

B2B
No separate public product page for this copilot (company site: getbujo.com)—it ran as an iframe inside Sprinklr with an in-house AI backend.

Impact Metric

Stage

YC-backed (Seed)

Daily reach

~80 agents · ~30k conversations/month

Revenue

~$20k MRR

Designed and developed an iframe-based copilot embedded in Sprinklr, wired to an in-house AI backend. The rollout supported about 80 sales agents handling on the order of 30,000 conversations per month, with company revenue on the order of $20k MRR from this line.

Migrated the integration from v1 (RESTful API–driven) to v2 (WebSocket-based) architecture in about four calendar days—reducing chat latency and connection churn for agents under load. That delivery window helped the company secure a long-term contract with LG US.

Built a proxy path on AWS API Gateway so the iframe widget could work inside Sprinklr’s embedding constraints—routing traffic safely without fighting the platform’s same-origin and widget sandbox rules.

Shipped an AI evaluation dashboard plus an AI QA workflow/system so teams could review model behavior, regressions, and production quality in one place. Reused the same streamable UI architecture used elsewhere in the stack to keep UX consistent and delivery fast.

  • Sprinklr-embedded iframe copilot + in-house AI: ~80 agents, ~30k conversations/month, ~$20k MRR.
  • v1 REST → v2 WebSockets in ~4 days; cited as a factor in winning a long-term LG US contract.
  • AWS API Gateway proxy to bypass iframe/widget restrictions inside Sprinklr.
  • AI evaluation dashboard + QA workflow; streamable UI reused for speed and visual consistency.
Skills

TypeScriptReactWebSocketsREST APIsAWS API GatewayIframe embeddingSprinklrStreamable UIAI evaluationQA workflowsCross-browserMulti-tenantAPI developmentFastAPI (Python)Prisma ORMProblem solvingAsset and bundling optimizationSystem building

AI Shopping Assistant — Chrome extension

B2C
Bujo AI Shopping Assistant Chrome extension in the browser, showing in-page shopping help.

Shipped Bujo AI Shopping Assistant as a consumer-facing Chrome extension listed on the Chrome Web Store—bringing in-page help into everyday browsing without a heavy install story. I architected the extension and built out the frontend layers so the product felt cohesive across surfaces rather than bolted on.

The experience leans on a streamable UI over WebSocket with durable client state, guarded by explicit error paths and timeout handling when the network or host page misbehaves. An LRU-backed cache keeps repeat interactions snappy, and I contributed to shared extraction and parsing logic so the assistant could reason over real page content safely.

  • Extension architecture and multi-layer frontend for a B2C Chrome Web Store product.
  • Streamable UI on WebSocket with persistence plus explicit error and timeout handling.
  • LRU-backed client cache to keep interactions responsive.
  • Shared webpage extraction and parsing library contributions for in-context assistance.
Skills

Chrome extension APIsTypeScriptWebSocketsStreamable UILRU cachingPersistent storageContent scriptsWebpage content parsingRelease disciplineReactFastAPI (Python)Prisma ORMProblem solvingAsset and bundling optimizationSystem buildingCI/CD