I built ColumnLens because I wanted to stop uploading sensitive data to SaaS tools just to run a GROUP BY. It's a native C++ desktop app that opens 5GB+ CSV, JSONL, Parquet, and Excel files in about 3 seconds, then lets you query them with DuckDB's full SQL engine — JOINs, CTEs, window functions, all running on your machine.
The idea is simple: your laptop is a perfectly good analytics workstation. You shouldn't need a cloud pipeline to look at your data.
Some things I learned building it:
- DuckDB's columnar engine is absurdly efficient. 12M rows, sub-second queries, under 1 GB RAM. On hardware that fits in a backpack.
- ImGui + OpenGL is a great stack for data-heavy desktop apps. No DOM, no layout engine overhead — just raw GPU rendering. The data grid scrolls 12M rows without a single frame drop.
- I added a "3D City View" that maps rows to buildings (height = one column, color = another). Sounds gimmicky, but outliers and clusters are immediately visible in ways they aren't in tables or charts. Our brains are good at spotting the tall building in a skyline.
- Lua scripting turned out more useful than expected. People write small scripts to fetch data from APIs, run queries, and configure charts — repeatable analysis without leaving the app.
- Everything runs locally. Zero telemetry, zero network calls. The binary is 33MB, statically linked.
Free download at https://columnlens.com
Would love to hear from anyone else building local-first data tools — I think the "ship everything to the cloud" era is starting to swing back.
hilti•1h ago