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

Architecture

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.

What it does

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.

Tech Stack

Python 3.x, csv / json stdlib
Governed type allowlist
Deterministic name builder
Dual outputs: JSON + corrected CSV
Diagnostics & skip reports

Tech Stack

Standardization

Before

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.

After

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.

Manual ↔︎ Upload (governed)

Two paths by design. Manual covers edge cases. The preferred path: upload a governed CSV → compiler opens the editor pre-assembled.

Manual Build — edge cases

Fields configured one-by-one; repeated many times and per language.

Accelerated Path — Upload CSV

Upload CSV → compiler validates/compiles → editor opens pre-built.

Results

90% faster builds, 2× throughput.

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.

Product upgrades (Forms)

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

Impact

~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)

Forms Page (enhanced):

Added search, filters, and CSV upload to cut navigation and pre-assemble builds.

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.

Form Uploader (New)
Upload a governed CSV to validate, compile, and open the editor pre-assembled—no retyping.