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.
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
- Public URL
- Interactive browser demo
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.
- 01Local file inputExcelJS and a constrained CSV parser read a maximum 5 MB / 10,000-row file in the browser.
- 02Validated data modelA typed seven-column schema rejects invalid dates, negative values and incomplete rows before analysis.
- 03Connected decision viewOne filtered dataset drives every KPI, comparison, chart, highlight and table row.
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.
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.
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.
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.
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
Public product walkthrough
- 01
Start with realistic data
The demo opens with a complete services-business dataset so the analytical flow is immediately understandable.
- 02
Bring a spreadsheet
A visitor can download the template and load a matching CSV or Excel file without sending it to a server.
- 03
Explore the drivers
Date, category and location filters update the complete view, while chart selections provide a faster path into a segment.
- 04
Move toward a tailored application
The same reporting pattern can be adapted to a client's terminology, calculations, recurring uploads, accounts and integrations.
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.
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