Under the Hood: The Architecture of Online CSV Editor
Google Sheets and Excel Online are the default “CSV editors,” which means customer lists sit on a vendor disk. This online CSV editor parses with Papa Parse in the tab, renders an editable grid, and can download CSV or a simple PDF table via pdf-lib. Paste is the primary path; a file drop is optional.
Memory Allocation & Browser Threading Mechanics
Rows are string[][]. Parse is O(cells). Each keystroke in a cell copies the outer array (immutable update). Huge CSVs will feel the React reconciliation; this is an editor for support-sized tables, not a 2 GB warehouse. PDF export walks cells sequentially and paginates so you do not hold one giant canvas.
Algorithmic Deep-Dive: Code Snippet & Logical Analysis
const rows = Papa.parse(text, { skipEmptyLines: true }).data;
const csv = Papa.unparse(rows);
// PDF: pdf-lib drawText per cell, new page when y < 50Width is normalized so every row has the same column count. Add row/column appends empty strings. Unparse uses Papa so quotes and commas round-trip better than a naive join. PDF is a monospace-ish dump with a 40-character cell clip—not a designed report.
The Local Storage Sandbox & Volatile Data Pipelines
Raw textarea + grid state. Downloads are Blobs (text/csv or application/pdf) with revoked object URLs. No autosave.
Verifying True Privacy: How to Audit Your Browser's Network Tab
F12, Network, clear, paste a unique name column, download CSV/PDF. Search HAR for that name. Zero payload hits.