Overview

CleanSheet solves the friction of ingesting irregular tabular data. Built with React, TypeScript, and high-performance in-browser parsing (PapaParse), CleanSheet turns messy customer exports into reliable, strictly validated datasets without uploading raw files to external servers.

The Problem: Fragile Ingestion Pipelines

Every engineering and operations team deals with messy spreadsheets:

  • Missing required headers and swapped column positions.
  • Invalid email formats, irregular dates (DD/MM vs MM/DD), and unescaped commas.
  • Inconsistent casing and trailing whitespace that breaks database uniqueness constraints.
  • Sensitive customer data accidentally sent to third-party cloud transformation services.

CleanSheet intercepts this data at the client level, allowing operators and developers to validate and clean data in an isolated browser sandbox before it enters production databases or CRMs.

Verified 5-Step Workflow

  1. Select or Import File: Drag and drop any CSV or spreadsheet export into the browser window.
  2. Inspect Columns & Structure: Automatically detect delimiters, headers, and column data types.
  3. Configure Schema & Rules: Select a preset (e.g., Stripe Customer Import, CRM) or define custom field constraints (required, email, number, date, string).
  4. Review & Auto-Correct: Review detected invalid rows with highlighted syntax issues, and apply one-click automated fixes.
  5. Export Clean Data: Download sanitized CSV or structured JSON files directly from memory, or dispatch directly to a configured webhook.

Verified Implementation Features

Capability Implementation Details Technical Verification
Client-Side Engine PapaParse in-browser parser with streaming support Zero network requests during file upload and parsing
Schema Validation Strict type checking (String, Number, Email, Date, Boolean) Unit tested in cleansheet.test.ts
Presets Engine Stripe Customer Import preset with predefined schema rules Verified in cleansheet.ts
Freemium Quota 200 rows/day free tier tracked in localStorage Enforced client-side before processing
Webhook Dispatcher Direct browser-to-endpoint POST with structured payload Dispatches directly from client fetch API
Local Downloads Browser blob generation for CSV and JSON outputs Direct download links created via ObjectURL

Privacy Architecture & Data Boundaries

Unlike conventional SaaS spreadsheet cleaners, CleanSheet does not require you to upload proprietary files to an Oomph Labs backend.

Architecture diagram showing in-browser processing and direct webhook dispatch

Exceptions to Local-Only Processing

To maintain transparency, the following actions involve external network communication:

  • Webhook Dispatch: If you explicitly enter a webhook URL (such as a Zapier, Make, or custom API endpoint) and click "Dispatch", your browser will send an HTTP POST containing the sanitized data directly to your designated destination. Oomph Labs does not proxy or inspect this traffic.
  • Static Assets: Loading the application downloads static JS, CSS, and font bundles from the hosting origin.
  • Billing Checkouts: Upgrading via the Stripe payment link redirects to Stripe's secure checkout page.

Quotas & Billing Model

CleanSheet operates on a freemium model:

  • Free Tier: Process up to 200 rows per calendar day at no cost. Quota is tracked locally in your browser storage.
  • Unlimited Plan: An unlimited processing tier is available via Stripe checkout. Note: Payment configuration and live billing activation require verified merchant credentials before commercial launch.
Stripe Integration Status

The current implementation connects to a Stripe Payment Link endpoint configured for review and testing. Live payment activation is subject to completed business registration and merchant account approval.

Repository & Technical Documentation

The source code and test suite for CleanSheet are maintained in the official repository:

Repository: github.com/mojo-jojodev/cleansheet-csv

For questions regarding CleanSheet deployment, enterprise customization, or webhook integrations, contact [email protected].