Pencil of Nature

PN.26.029. Software. Studio project, 2026.

Sieve

A working data transformer that runs entirely in your browser, with a small safe expression language and proper technical documentation.

Open full screen

The brief

Build a working data transformation tool and document it as a real product would be.

The idea

Most people clean a CSV by hand, once, and then lose the steps. Sieve keeps them: a short readable pipeline of filters, derived columns and groupings that you can change at any point, with live results.

Decisions

  • Nothing leaves the browser, which is the simplest possible privacy policy.
  • Expressions are parsed by a hand-written parser and never reach eval.
  • A bad step is marked in place, and the rest of the pipeline keeps running.
  • The documentation was written as a real reference, with an error table.

How it came together

  1. Wrote the CSV parser and type detection first.
  2. Built the expression language as a tokeniser and precedence climber.
  3. Tested pipelines by script, and caught a bug where Select left hidden columns in exports.

How it works

sieve.js has no dependencies. Expressions compile to closures. Each step is a pure function from table to table, so reordering is safe.

Want something like this?

Tell us what you are making. A few lines is enough to start.

Tell us about your project

Hanging nearby