2026 · case study
Finance Dashboard UI
An analytics dashboard where the numbers animate into place instead of just appearing.

01 Overview
React 19 dashboard with Recharts and Framer Motion. A single finance context feeds every chart and card, and transitions are motion-designed rather than default.
02 The problem
Most dashboard UIs dump every chart on screen at once and call it done. Nothing guides the eye, and state is scattered across components.
03 What I built
One FinanceContext owns the data; charts and stat cards subscribe to it. Framer Motion stages the entrance so the layout reads in order, and Recharts handles the plotting.
04 Key features
Global finance state via React Context Recharts line, area and bar visualisations Framer Motion staged entrance and transitions Stat cards with trend direction Lucide icon set Responsive grid that reflows on small screens
05 Technologies
- React
- JavaScript
- Charts & data viz
- UI animation
- Tailwind CSS
- State & data flow
- Responsive design
06 Engineering decisions
Single source of truth
FinanceContext.jsx holds the numbers once. Every widget is a pure reader — no prop-drilling, no duplicated fetch logic, and theming or data swaps happen in one place.
Motion with intent
Animation is used to sequence information: header, then KPIs, then charts. It is a reading order, not decoration, and it respects reduced-motion.
07 What I took from it
- Deciding what animates — and in what order — is a design decision, not a styling afterthought.
- Context is enough state management for a dashboard this size; reaching for more would be noise.