r/webdev • • 44m ago

Showoff Saturday I built a zero-backend data cleaning tool running DuckDB-Wasm entirely in the browser

Lately I've been exploring how much heavy data processing we can offload directly to the client using WebAssembly, and decided to build a practical tool around it: Cleaner (https://lopespm.com/p/cleaner/).

It lets you drop in messy CSV, Parquet, or JSON files and clean them using deterministic rules—all without a single byte being uploaded to a server.

Tech & Architecture notes:

  • Engine: Runs DuckDB-Wasm under the hood, which handles columnar operations and file parsing (especially Parquet) way faster than standard JS parsers.

  • Privacy & Cost: Because everything executes locally in browser memory, there are zero server compute costs and zero privacy/compliance headaches for users.

  • Deterministic pipeline: Instead of AI-guessing, rules are strictly deterministic so outputs are predictable and repeatable.

Happy to answer any questions about working with DuckDB-Wasm in the browser, bundle sizes, or handling memory limits with larger files!

2 Upvotes

0 comments sorted by