Skip to content

Case study · 2025

FinTrack Dashboard

Rebuilding a personal-finance cockpit for 300,000 people — from a four-second first paint to a dashboard that answers questions before you finish asking them.

Role
Lead Frontend Engineer
Timeline
Mar — Nov 2025
Team
4 engineers, 2 designers
Stack
Next.js · TS · D3 · tRPC
Live
fintrack.uz

01 / The problem

Four seconds is an eternity

FinTrack had grown by accretion. Six years of features had turned the overview page into a 2.4MB bundle that took 4.1 seconds to paint on the mid-range Android phones most of its users actually own.

Worse, the numbers people came for — balance, spend, what is due this week — appeared last, after three skeleton states and a layout shift that moved the button you were about to tap. Support tickets described it as "the app that lies to you".

The brief was blunt: make it fast, make it honest about what it knows, and do not ask 300,000 people to relearn where anything is.

02 / The approach

Three moves, no rewrite

A full rewrite was never on the table. Instead we moved the dashboard to the server, rebuilt the chart layer, and drew a hard performance budget that CI enforces on every pull request.

Server components render the shell and the four headline numbers on the edge, so the page is useful before a single kilobyte of chart code arrives. The D3 layer was replaced with a 9kb custom renderer that draws to canvas and only hydrates on interaction.

Every state the old app faked — loading, stale, partial — now has a real visual language. If a number is twelve minutes old, the interface says so instead of pretending.

  1. 01

    Server-first shell

    Edge-rendered overview with streamed chart islands.

  2. 02

    9kb chart runtime

    Canvas renderer replacing 180kb of D3 modules.

  3. 03

    Honest states

    Stale, partial and offline data labelled, never faked.

03 / Results

Eight months later

Largest contentful paint
1.2s
down from 4.1s
JavaScript shipped
−81%
2.4MB → 460kb
Weekly active users
+34%
same marketing spend
Lighthouse score
98
mobile, throttled 3G
Asadulloh did the thing nobody wanted to do: he measured everything, then deleted most of it. The dashboard our users complained about for three years is now the feature they mention in reviews.
DRDilnoza RakhimovaHead of Product, Paynet
Keep exploringAll projects