Team project (3 developers): Core ownership: Embeddable Widget, Dashboard Implementation, Firebase Setup
Overview
Onboarding Tour App (OTA) is a guided onboarding platform and product-adoption system that lets teams create, deploy, and measure in-app step-by-step tours. It is composed of three integrated surfaces: marketing web pages, a React-based admin dashboard for configuring tours, and a framework-agnostic embeddable widget that delivers those tours inside any website.
My role and ownership
I led the architecture and implementation of the embeddable widget, building a lightweight vanilla JavaScript SDK that runs safely on arbitrary websites and modern SPAs. Implemented the dashboard UI in React based on designs provided by a teammate, translating product requirements into reusable components and clean data flows. I als set up and structured the Firebase backend, including Authentication, Firestore data models, and Cloud Functions, establishing the shared foundation used by both the dashboard and the widget.
I also defined the analytics event schema and ensured consistent event emission from the widget and ingestion on the backend for reliable reporting.
Key features
- Dashboard-driven tour creation, editing, previewing, and publishing.
- Configurable tour steps using DOM selectors, triggers, and placement rules.
- Lightweight embeddable widget installed via a single script tag.
- SPA-safe execution with retry logic, route awareness, and graceful degradation.
- Built-in analytics for tour starts, step views, skips, completions, and drop-off rates.
Skills demonstrated
- Frontend engineering: Building a React-based dashboard with reusable components, predictable state management, and clean data flows. Developing a framework-agnostic embeddable widget that safely interacts with arbitrary DOM structures and SPA routing.
- Backend and platform engineering: Using Firebase (Authentication, Firestore, and Cloud Functions) to implement multi-tenant data models, secure access rules, and serverless APIs without managing infrastructure.
- Product engineering: Translating onboarding requirements into configurable systems, designing intuitive builder workflows, and enabling non-technical users to ship product tours independently.
- System design: Separating concerns between dashboard, widget, and analytics while maintaining a cohesive data model and deployment strategy.
- Analytics and data modeling: Designing event schemas, collecting high-volume interaction events, and aggregating them into meaningful completion and drop-off metrics.
- Collaboration: Working in a small team with explicit ownership boundaries and shared data contracts.
Tech stack
- React, Typescript, HTML, CSS
- Firebase (Authentication, Firestore, Cloud Functions)
- Lightweight vanilla JavaScript SDK for the embeddable widget
Project type
- Full-stack SaaS-style product
- Admin dashboard + embeddable client SDK + analytics pipeline