// case study · data product
Raw files in. Defensible analysis out.
Sushi turns common data files into quality checks, descriptive statistics, visual analysis, and exportable reports.

Exploratory analysis often starts with the same fragile notebook loop: inspect types, count missing values, hunt outliers, generate plots, and then rebuild the useful pieces for someone else. Sushi packages that loop into a repeatable product.
Analysis flow
- Ingest CSV, TSV, Excel, JSON, Parquet, or SQLite data.
- Infer column types and profile completeness, uniqueness, and distributions.
- Compute a 0–100 quality score and flag issues that deserve inspection.
- Run descriptive statistics, IQR-based outlier analysis, and selected hypothesis tests.
- Build Plotly visualizations and export a shareable analysis record.
6
Input formats
files and SQLite
0–100
Quality score
consistent profiling signal
IQR
Outlier method
inspectable statistical rule
Product architecture
A Python and FastAPI backend owns ingestion and analysis. A Next.js interface handles the workflow and Plotly visualizations, while SQLite keeps lightweight analysis state. The boundary is deliberate: statistical behavior stays testable in Python and the browser remains focused on inspection and communication.
Why this is more than a chart gallery
Every visualization sits behind a data-quality and statistical workflow. Sushi does not pretend automated EDA replaces judgment; it makes the repetitive checks consistent so the analyst can spend more time questioning the result.