FLAGSHIP PROJECT / DATA QUALITY

FIND THE PROBLEM.
KEEP THE EVIDENCE.

Data Detective turns a messy CSV into an inspectable workflow: profile the data, preview a recipe and export both the result and a record of the changes.

Data Detective is publicly available. This page explains the project.

01 / THE PROBLEM

Clean data,
without guesswork.

A spreadsheet can look tidy while still hiding missing values, duplicate rows and inconsistent formatting.

This tool makes those issues visible and keeps the original intact. Every recipe is recomputed from the original input, so switching off a step reverses its effect.

02 / THE WORKFLOW

Inspect.
Preview. Export.

Investigate the columns

Inspect completeness, exact duplicate copies, inferred types, distinct values and numeric summaries. Filter the table to inspect problem rows.

Build a reversible recipe

Trim and normalise whitespace, lowercase a selected column, fill missing cells or remove empty and duplicate rows. Compare the original and cleaned preview.

Keep a reproducible record

Export the cleaned CSV and a JSON quality report. Import the report on matching columns to replay the recipe; a source hash identifies whether the original input matches.

03 / ENGINEERING

Private by
data flow.

CSV rows stay in the browser. The server stores only the reports you choose to save.

React and TypeScript power the workbench. Pure functions handle parsing, profiling and transformations. A Cloudflare Worker validates reports and checks account ownership, while D1 stores aggregate statistics, recipes and timestamps.

The parser supports quoted commas, escaped quotes, multiline fields and CRLF. Malformed files are rejected with actionable errors instead of being silently repaired.

04 / VERIFICATION

Prove the
transformations.

Automated checks cover CSV edge cases, malformed input, missing-value definitions, reversible cleaning, export round-trips and formula handling. SQLite-backed API checks cover report save/reopen and cross-user isolation.

TypeScript checks and the production build pass. Real-browser visual and hosted sign-in verification remains outstanding.

05 / LIMITS

Honest about
what it knows.

Types are inferred for inspection; values are not automatically converted. Missing means empty or whitespace-only. Completeness is not a measure of factual accuracy.

This release handles UTF-8 CSVs up to 2 MB, 10,000 rows and 50 columns. It does not process XLSX, infer business rules or use machine learning. Saved reports are aggregate snapshots, not stored datasets.