All projects

~/tgolab/projects $ cat eventtracker.md

EventTracker

Landingi

An analytics tool built into Landingi. It collects events from published landing pages automatically and shows them in a dashboard, with no setup on the customer’s side.

Clicking cursor next to a click heatmap on a landing page
Landing page overview: visits, conversions and time on page
Chart and table of click events on a landing page in Landingi
Visits by top countries and page scroll depth
1 / 4

Problem

Landingi customers needed data on how visitors behave on their landing pages, so they could understand their own customers better and choose content more accurately, which in turn means more leads and more sales. And they needed it without configuring tools or pasting code. The answer is analytics built into the platform that collects events automatically on every published page.

My role

The whole client-side architecture and the frontend implementation: the analytics dashboard and the tracking script. I designed the data flow myself; only storing the data on the backend was outside my scope.

Challenges

01 · A script that must not cost customers their scores

The script runs on customers’ pages, so every kilobyte and millisecond weighs on their Core Web Vitals. I wrote it in plain TypeScript with minimal dependencies and a Vite config tuned for bundle size; the output weighs under 25 kB. Events are sent with sendBeacon and throttled on the client so they don’t load the main thread or the visitor’s network.

02 · A dashboard for a high volume of events

Pagination instead of loading full data sets, request caching and deduplication with SWR, and optimistic UI for configuration changes so the interface responds instantly.

Outcomes

  • Events collected from over 1.2 million sessions a day.
  • EventTracker data became the basis for more than a dozen further platform features.
  • Access to the data is monetised separately in the subscription.