Selected workIndependent case study · 03
Live productBuilt independentlyData · Reporting application

03

Business Performance Dashboard

From recurring spreadsheet to a decision-ready dashboard.

A privacy-first dashboard demo that validates structured CSV and Excel files locally, then turns them into connected KPIs, filters, trends and visual comparisons.

Interactive business performance dashboard
01

Product overview

A privacy-first dashboard demo that validates structured CSV and Excel files locally, then turns them into connected KPIs, filters, trends and visual comparisons.

Product
Business Performance Dashboard
Category
Data · Reporting application
Status
Live product
Role
Independent product builder

What the product changes

A recurring file becomes a clearer operating view: leaders can see revenue, cost, profit, margin and volume changes without manually rebuilding the report each time.

Verified stack

Next.js · React · TypeScript · ExcelJS · Recharts · browser-local CSV/XLSX processing · Vitest

Build & architecture

The public route downloads only application code and demo records. File parsing, validation, filtering and aggregation run in the visitor's browser; no upload endpoint or persistent store exists in this demo.

  1. 01Local file inputExcelJS and a constrained CSV parser read a maximum 5 MB / 10,000-row file in the browser.
  2. 02Validated data modelA typed seven-column schema rejects invalid dates, negative values and incomplete rows before analysis.
  3. 03Connected decision viewOne filtered dataset drives every KPI, comparison, chart, highlight and table row.
02

What I owned

I scoped, designed, built and shipped the complete product—from UX and application flows through frontend, backend, data, deployment and ongoing maintenance.

  • 01

    Make a structured spreadsheet understandable without a training session.

  • 02

    Connect summary metrics to the detailed records behind them.

  • 03

    Keep client files private by processing them entirely in the browser.

  • 04

    Show how the same foundation can become a tailored internal application.

03

The manual workflow

Many teams repeatedly clean the same spreadsheet, rebuild the same calculations and copy numbers into slides before they can explain what changed. The data exists, but its operational meaning remains difficult to scan and share.

04

How the product responds

The dashboard converts a defined business-data format into an interactive reporting surface. Every filter updates KPI cards, comparisons, trend charts, category and location views, and the underlying table together.

05

Challenge & decisions

Engineering challenge

A dashboard can look polished while presenting inconsistent numbers if each widget performs its own filtering or aggregation. I centralised the calculations around one typed row model and one filter state, then derived every visible result from that shared source. The trade-off is a strict input template, which makes the demo narrower but substantially more reliable.

Decisions I made

  • Process files locally in the browser so the demo never uploads or stores a visitor's business data.
  • Use a strict seven-column template so every visualisation remains trustworthy and interpretable.
  • Update every metric and chart from the same filtered data instead of allowing disconnected dashboard numbers.
  • Compare the selected date window with an equally sized previous period to provide context, not just totals.
06

What is live

  • Local CSV and Excel import with row-level validation
  • Revenue, cost, profit, margin, order, AOV and customer KPIs
  • Previous-period comparisons and directional indicators
  • Interactive date, category and location filters
  • Time-series, category, revenue-share and location-profit charts
  • Click-to-filter chart interactions and series controls
  • Downloadable CSV and Excel templates
  • Responsive detail table and clear empty/error states
07

Public product walkthrough

  1. 01

    Start with realistic data

    The demo opens with a complete services-business dataset so the analytical flow is immediately understandable.

  2. 02

    Bring a spreadsheet

    A visitor can download the template and load a matching CSV or Excel file without sending it to a server.

  3. 03

    Explore the drivers

    Date, category and location filters update the complete view, while chart selections provide a faster path into a segment.

  4. 04

    Move toward a tailored application

    The same reporting pattern can be adapted to a client's terminology, calculations, recurring uploads, accounts and integrations.

08

Verified outcome

The interactive case study is available directly in this portfolio and uses browser-local file processing.

Live product evidence

Delivered as a working product demonstration with a defined import contract, calculation layer, previous-period analysis, connected visualisations and privacy-preserving local file handling.

Open the dashboard demo
09

Have software, data or a workflow that should work better?

Tell me what happens today and what should happen instead. I’ll tell you whether I can help with a product, integration, data structure or practical software problem.

Next case studyApartko