Skip to content
KP
All projects
Tool·2026Live

Data Analyzer

Drop a CSV, JSON or Excel file. See per-column statistics instantly.

ReactViteTypeScriptSheetJSRecharts
highlights
  • Drag-and-drop ingestion for CSV, JSON and Excel files
  • Per-column statistics min, max, mean, median, std, null count, unique values
  • Recharts visualizations for distributions and correlations
  • Pure client-side processing, files never leave the browser
  • Deployed as a path-based route under mirekdev.pl/analyzer

Overview

Data Analyzer is a small client-side tool for fast file exploration. Drop a CSV, JSON or Excel file in, get per-column statistics and quick charts. No backend, no upload, the file stays in the browser.

Problem

When a new dataset lands on your desk, the first 15 minutes are always the same: open it somewhere, check column types, count nulls, look at distributions, find the obvious outliers. Excel is slow, Jupyter is overkill, online tools either upload your data or paywall the interesting parts.

Solution

A single-page React app built on Vite. SheetJS handles Excel parsing, native browser APIs cover CSV and JSON. Once the file is in memory, every column gets typed and summarized: numeric columns get min, max, mean, median, std, null count and unique count; text columns get distinct values and frequency.

Recharts renders distribution histograms and correlation views on demand. Nothing leaves the browser, so the same tool works for confidential data and public datasets alike.

Tech rationale

  • Vite + React: fast dev loop and tiny production bundle. No SSR needed for a single-page client tool.
  • SheetJS: most robust Excel parser in the browser. Handles the ugly multi-sheet cases.
  • Recharts: declarative charts that compose well with React state. Good enough for exploration without dragging in d3 directly.
  • Path-based deployment under mirekdev.pl/analyzer: shared infrastructure with the portfolio, no extra domain, no extra TLS cert.

Lessons learned

  • Client-side file processing is a good default for tools where privacy matters. Half the friction of "data tools" comes from upload flows.
  • Per-column type detection is most of the value. The rest is wiring it to charts.
  • Path-based deploys are cheap once you have one nginx vhost and pm2 wrangled.