Back

UXgage — Behavioral Analytics

Enterprise usability platform

Reconstructing real user workflows from raw behavioral data.

Stack

PHPNeo4JCassandraJavaScript

Built at UXgage (Co-founder)

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

₹5L

seed funding

0→1

from idea to product

6 mo

to funded MVP

~3

engineers hired

Architecture Review

System design · Pipeline · Decisions

How It Works

  1. 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. 2

    Storage

    Cassandra handles the high write throughput of raw event data. Events are partitioned by session for efficient replay and aggregation.

  3. 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
  • Fewer, sharper insights

Get in Touch

Let's build
something great.