Four years inside a compliance system. Six versions out.
CLEEN is Leucine's cleaning-validation platform for pharma manufacturers. I joined in 2020, took CLEEN as the only designer in 2021, and led design through six versions across four years — from inherited architectural debt to a Feb 2026 structural rebuild used by 60+ pharma enterprises across 250+ GMP facilities.

ROLE
Product Designer → Lead Designer
TIMELINE
2020 – Present (primary work 2021 onward)
TEAM
1 designer (2021–2023) → 5-person design team (2023–2025) → Lead designer (2025 onward)
SCOPE
Enterprise SaaS, Regulated Workflows, Design Systems
Leucine in 2020 was a 15-person startup with two products: CLEEN (cleaning validation) and DWI (digital work instructions). CLEEN was the flagship — built in 2019 from founder vision, served by a UI designer who pushed pixels, with no UX discipline and no research. I spent year one on DWI; in 2021, when Leucine's first design hire took DWI off me, I moved to CLEEN as the only designer.
I had no internal docs and no pharma context. I Google-searched my way into HBEL-based limits, MACO, ARL, 21 CFR Part 11, and GAMP 5, and sat in on customer calls. The users weren't optimising for productivity — they were optimising for defensibility. A wrong decision in the interface leads to a wrong decision in cleaning, and a wrong decision in cleaning leads to an FDA 483 or worse. That constraint shaped every later decision.
CLEEN ran on the founder's 2019 visual system through 2021; from 2021 onward I rebuilt the design language module by module. The codification of those four years is the system shipped in five days as the Leucine Design System (Aug 2025) — not the system CLEEN was built on.
CLEEN had a vision. It didn't have a model.

The founder knew what CLEEN needed to do. Modules were already defined — Master Data, Production Data, Limit Policies, Risk Assessment. Customers were onboarding. But the interface was built top-down from vision, not bottom-up from how a QA reviewer actually moves through a cleaning lifecycle.
Screens had the right fields. The fields had the wrong relationships. A QA reviewer validating a protocol would hit six modals, three modules, and two URL schemes to answer one question: is this limit defensible?The product was growing; the mental model hadn't caught up.
What CLEEN had was a complexity ceiling — a point past which adding features made the product worse, not better. Six versions between 2021 and 2026 are the record of moving it.
The fields were right. The relationships were wrong. The product was built on storage order, not the reviewer's reasoning.
The easy diagnosis was “the UI looks dated, refresh it.” That misses the actual gap. CLEEN's screens already had every correct field — the data was complete. What was broken was the model: the interface mirrored how data was stored, not how a QA reviewer reasons toward a defensible cleaning limit. The reviewer isn't optimising for speed or delight; they're assembling an argument they can defend to an auditor. A product organised by its database schema forces them to reassemble that argument across six modals every time.
That's the reframe the whole four years ran on: in a regulated product, the interface isn't a convenience layer over the data — it's where defensibility is preserved or lost. So the design constraint was never “is this usable?” It was can a reviewer defend this live, to an auditor, without a spreadsheet open beside the screen? Every module redesign across six versions was an answer to that one question.
Four years, six versions. I shipped what CLEEN needed next, and the work accumulated.
Version arc: v2 (2020 founder build) → v3 (Custom Reports) → v4 (On-Demand Studies, audit-trail primitive) → v5 (Validation Tracker timeline, offline studies, module rebuilds) → v6.0 (Feb 2026 structural rebuild) → v6.3 (current).
2021 · First ship — Custom Reports.
Pharma QA lives and dies by reports, and CLEEN had no way to design reports that matched a customer's own templates. I designed a modular, block-based report builder with drag-to-reorder and variable binding against live data. Two months. The first module I owned end-to-end.
2021 → 2022 · On-Demand Studies.
Cleaning validation isn't a one-off event — verification, monitoring, bracketing, recovery, each with its own protocol structure and acceptance criteria. I designed a study-design workspace that treated the study as a first-class object instead of a one-off form.

2022 → 2023 · Validation Tracker rebuild.
The original tracker was a flat list. Real work doesn't live in a list — it lives in a timeline, across campaigns, against equipment, with approvals halfway through. I rebuilt the tracker around the validation study, with every protocol run, sample result, and sign-off linked to it. (I kept the flat list as a parallel view for one release after customer push-back; three months later customers asked for it to be removed — see Process.)

2023 onward · Offline Studies + module rebuilds.
Customers run cleaning studies on the plant floor, often without network. I designed an offline-first sampling flow that syncs back when connectivity returns, with conflict resolution and field signature capture — then rolled through the older modules: Master Data, Limit Policies, Process Train Mapper.
Feb 2026 · v6 — the ceiling raised.
Five structural shifts, not a re-skin: status-as-region (not column), analytical surfaces alongside transactional, AI-recommended worst-case selection scoped narrowly (see Process), and a cross-referencing audit portal. Eight surfaces shipped post-rebuild on the same primitives drawn in 2021 — master/instance, formula-as-UI, structured diff, status-as-region. New modules. Higher ceiling.

Six decisions that did disproportionate work.
Four years of redesigns produced hundreds of micro-decisions. These six shaped how users think about the product — and the Feb 2026 rebuild was built on top of them, not around them. Some have industry lineage (three-level inline expansion in Linear and Notion, selection-scoped FAB in Notion and GitHub, formula-as-UI in spreadsheets). The contribution isn't pattern invention; it's the cleaning-validation adaptation — what audit-trail, defensibility, and 21 CFR Part 11 force you to change about each one.
Decision
What it reveals about how Janam thinks
Render the formula as the UI for cleaning limits.
QA reviewers can't sign off on math they can't see. Inputs sitting inline inside the equation (ARL = (SF × MTD) / (MDD × SSA)) means a reviewer audits what the system computes, not what someone typed.
No-code risk-formula builder, per customer.
Customer-specific risk models belong in the product, not in engineering tickets. Letting QA compose their own weighting moved a support burden out of engineering and a trust burden out of onboarding.
Dual-pane equipment picker for Process Train Mapper.
Tests against the workaround. With 200+ pieces of equipment and 40+ trains, single-pane search forced users into Excel; dual-pane drag-to-assign made the in-product path faster. That's the pass/fail bar.
Three-level inline expansion for Productions.
Regulated review is comparative, not navigational. Expanding rows three levels keeps run / batch / product on one surface — a navigation problem becomes a scanning problem.
Quick-Actions FAB scoped by selection state.
For a 60-action product, the question isn't 'where are all the things' — it's 'what can I do right now.' One button, contextual contents, no per-row menu sprawl.
Structured field-level diff for Change Assessment.
Regulators don't ask 'did you change this' — they ask 'prove it.' Every edit produces a before/after diff, frozen into an archived PDF. Free-text reasons aren't evidence; diffs are.
The push-back I remember most — the Validation Tracker.
The tracker was a flat list and I proposed killing it. Not all push-back is to be overcome — some is to be negotiated into a sequence. I shipped the timeline as an additional view first, with the list kept for one release. Three months later customers asked for the list to be removed. A structural change customers fear is easier to accept as an addition than a replacement.
The line that validated formula-as-UI.
For the first time I can explain our cleaning limits to my auditor without opening a spreadsheet beside the screen.
Limit Policy redesign · paraphrased from session notes
That one sentence became the bar for every later module: if the reviewer can't defend it live, it isn't done. Defensibility is the design constraint, not a QA-side checklist.

AI in the rebuild — scoped narrowly on purpose.
Where defensibility lives is where non-determinism does not.
Where AI ships
Recommendation, labelled + overridable
Worst-case product selection (toxicity / solubility / cleaning-difficulty) and risk-mitigation suggestions from historical outcomes — every recommendation justified and overridable.
Where AI does not ship
Anywhere a regulator asks 'prove it'
Audit trail, signature chain, limit computation. The answer there is deterministic, not probabilistic.
Why the team scaled the way it did.Two years solo (2021–2023) was a deliberate cadence, not a resource shortage — architectural debt required one consistent mental model to be paid down; adding designers earlier would have doubled the inputs. By the time the second designer joined in 2023, the design system was legible enough that they could take modules end-to-end without me re-explaining first principles weekly. The Feb 2026 rebuild was specced and shipped by the same designer who'd lived in CLEEN for four years — every structural shift in it traces to a pattern observed earlier: a UAT session, a customer escalation, something that failed in v3 or v4.
One small typed dropdown.Residue results have three value types — Below Detection Limit, Below Quantification Limit, or numeric. The old UI treated this as free text. A typed dropdown — numeric input only when “actual” is selected — means every downstream limit comparison knows which type it's reasoning about. A small pattern that removed an entire class of data-entry error and the audit findings that came with it.
Six versions, validated by the auditor's eye.
CLEEN runs across 60+ pharma deployments and 250+ GMP facilities. Customers include nine of India's top-twenty pharma companies and multiple US/EU multinationals.
Cipla
Dr. Reddy's
Zydus
Lupin
Teva
Aurobindo
Sun Pharma
Glenmark
Torrent
60+ PHARMA DEPLOYMENTS · 250+ GMP FACILITIES · NAMES REPRESENTATIVE
Commercial frame. Most pharma still runs cleaning validation in Excel + paper SOPs. The vendor field is shallow; horizontal QMS suites (Veeva Vault QMS, ValGenesis VLMS) treat cleaning as one of many modules with 9–24 month implementations. CLEEN is cleaning-native — the primitives are tuned for HBEL, MACO, BDL/BQL, and 21 CFR Part 11 from day one, with a 2–6 month implementation.
Scope boundary — stated plainly. What I designed is the interface layer: how the product reasons visually, what gets surfaced, what gets hidden, what order users move through, and how the system explains itself to its users and the auditors who inspect them. I did not write the core product architecture — the data model, the computation engine, the 21 CFR Part 11 signature infrastructure; those belong to the founding engineers. I did not invent cleaning validation or the regulatory frameworks CLEEN implements; those belong to FDA, EMA, ICH, WHO. The boundary is the point: the credibility of everything above depends on being precise about what I owned.
60+ pharma enterprises today run their cleaning validation on the primitives drawn in 2021. The ceiling was raised because the same designer kept raising it — module by module, version by version, for four years.
Three lessons I'd apply on day one of the next regulated-domain product:build the audit-trail primitive in year one, not v4 (two years of per-module edit histories had to be retrofitted); make defensibility the design constraint from day one (“if the reviewer can't defend the screen to an auditor live, it isn't done” was the lesson — it should have been the rule); and hire the second designer only after the system is legible — two years solo wasn't a shortage, it was the time the architecture needed to harden.