ROLE/SERVICES
Product Design Lead ·
UX Engineering
LOCATION
USA 🇺🇸
YEAR
2024
Summary
90% faster builds, 2× throughput.
A governed CSV → JSON Python
compiler (deterministic keys, i18n) plus
a dual-path admin flow and Forms UI upgrades; Search, Download sample, Upload CSV, standardize hand-offs and open the editor pre-assembled.
SaaS Blockchain platform
The Challenge
Solution & Impact
Product design
UX engineering
Python scripting
React admin flow & Forms UI
Scope
Teams assembled large, multilingual forms manually, retyping labels, keys, options, and conditionals across 5+ languages. Specs arrived in mixed formats, so IDs drifted, logic was inconsistent, and review meant long clarification loops. For a platform where these surveys drive compliance evidence, data lineage, and on-chain auditability, the process was slow and brittle;
We needed a governed, single source of truth that produced consistent, drift-free schemas.
I built a Python CSV-to-schema script and designed the admin flow; engineering integrated it so a governed CSV compiles to canonical JSON and the editor opens prebuilt.
Compiler: governed CSV → JSON (deterministic keys, i18n, logic mapping, diagnostics).
Flow: dual-path (manual for edge cases; automated for scale).
Forms UI: top-bar Search / Download sample / Upload CSV, row statuses + inline Edit/Download.
Results: ~90% faster builds to ~5–10 min, 2× throughput, fewer naming/logic defects and tickets, stronger data lineage for on-chain audit.
Client
A headless Python converter ingests a governed CSV, uses a deterministic name builder and a governed type allowlist, and runs in strict/lenient modes. It fails closed on invalid rows (skip + report) and emits two artifacts: canonical JSON for the UI and an auditable corrected CSV; giving repeatable builds and zero ID drift.
Gates unsupported types (allowlist).
Requires EN title Flags/skips missing.
Generates deterministic JSON keys.
Builds locale labels (i18n).
Parses options; maps logic/visibility.
Emits canonical JSON + corrected CSV.
Python 3.x, csv / json stdlib
Governed type allowlist
Deterministic name builder
Dual outputs: JSON + corrected CSV
Diagnostics & skip reports

Specs arrived in mixed formats (Word, Slides, CSVs, PDFs- even diagrams). Forms ran 5–600+ fields across 5+ languages with conditionals. Required columns lived in separate files or were missing, so teams retyped, chased clarifications, and reconciled translations; yielding weeks of manual work, ID drift, and inconsistent logic.
We standardized hand-off to a governed CSV contract: one file, known headers, clear rules. A compiler validates types, localizes, maps conditionals, and emits canonical JSON + corrected CSV. Work shifts from typing to review; fewer fixes, faster launches, 0 ID drift.

Two paths by design. Manual covers edge cases. The preferred path: upload a governed CSV → compiler opens the editor pre-assembled.
Fields configured one-by-one; repeated many times and per language.
.png)
Upload CSV → compiler validates/compiles → editor opens pre-built.
.png)
We improved the entire form-building experience. Standardized hand-offs, a compiler that pre-assembles editors, and UI shortcuts moved work from typing to review.
Search on Forms: find or filter large libraries fast
Download sample: shows the governed CSV contract up front
Upload CSV template: jumps straight to compiled, pre-built editor
Status badges (Draft / Needs fixes / Compiled) for triage
Diff-able downloads: corrected CSV + canonical
JSONShortcut actions: Edit / Download from the table
~90% faster builds: 2–3 days → <4h (100 fields)
2× throughput with the same team
0 ID drift after standardization–60% rework 70–85% typing (keys, options, i18n pre-filled)
Added search, filters, and CSV upload to cut navigation and pre-assemble builds.
.png)
NEW: Search – Global search across name/ID (debounced). Press / to focus.
NEW: Filtering – Quick filter next to search. Defaults: Status (Draft / Needs fixes / Compiled) and Owner (All / Mine). Selection persists while you browse.
NEW: Upload CSV – Top-bar action that opens the Form Uploader and returns you to the same search/filters.
Drag-and-drop CSV upload (or choose file).
“Download CSV sample” — shows the governed contract up front.
“See required headers” — quick link to the schema rules.
Compiler integration — validates, compiles, and opens the editor pre-built in a single pass (≈ 1–3 min).
CSV-only + size limit (e.g., up to 10 MB) for predictable performance.
.png)