# UXgage — Behavioral Analytics

> Enterprise usability platform

Reconstructing real user workflows from raw behavioral data.

- **Page:** https://siddharthdeshpande.com/projects/uxgage
- **Built at:** UXgage (Co-founder)
- **Tech stack:** PHP, Neo4J, Cassandra, JavaScript

## Impact

- **₹5L** — seed funding
- **0→1** — from idea to product
- **6 mo** — to funded MVP
- **~3** — engineers hired

## Problem

- Usability testing expensive and rarely conducted
- No visibility into actual user behavior patterns
- Gap between reported usage and real interactions
- User struggles and frustrations completely invisible
- No data on where users abandon workflows
- Qualitative feedback disconnected from quantitative data

## Solution

- JavaScript instrumentation engine built in-house
- Cassandra high-throughput event data pipeline
- Neo4j workflow graph reconstruction from events
- Session replay with click heatmap overlays
- Automatic frustration signal detection algorithms
- Funnel analysis with drop-off visualization

## Outcome

- Idea to funded product in under 6 months
- ₹5L seed funding secured from investors
- Full behavioral capture system operational
- Navigation patterns made visible and actionable
- User frustration points identified automatically
- Product decisions driven by real usage data

## How it works

1. **Capture** — A lightweight JS engine captures clicks, mouse movements, text input, scroll patterns, and URL transitions. Events batch and send asynchronously with minimal performance overhead.
2. **Storage** — Cassandra handles the high write throughput of raw event data. Events are partitioned by session for efficient replay and aggregation.
3. **Analysis** — Neo4j reconstructs navigation graphs from raw events. Session replay with interaction heatmaps surfaces behavioral patterns across users and sessions.

## Key decisions

- **Graph database for workflow reconstruction** — User sessions aren't flat event logs — they're graphs of navigation paths with branches and loops. Neo4j made it natural to query patterns like "users who visited A then went back to B" without complex SQL joins.
- **Async instrumentation with minimal overhead** — The JS capture engine runs asynchronously and batches events to avoid impacting the host application's performance. A single script tag integration was the hard constraint — anything heavier kills adoption.

## What I'd change

- **Privacy framework from day one** — Built the capture engine before thinking about what shouldn't be captured. PII filtering and consent management should have been part of the initial architecture, not retrofitted.
- **Fewer, sharper insights** — Captured everything — clicks, mouse, text, scroll, navigation. In practice, customers wanted two things: where people get stuck and where they drop off.
