vinitium · writing

How I show work I can't show

Every case study on this site describes confidential work, and none of them contains a screenshot, a customer name, or a real metric. This essay is the system that makes that possible — the grammar of abstraction I'd argue every NDA-bound designer should build instead of apologizing.

The standard advice for designers with confidential work is a menu of retreats: blur the screenshots, rename the client, recreate a fictional version, or password-gate the whole thing and hope the recruiter asks for the key. I tried the apologetic version of that for a while. The case studies read like redacted police reports — true, defensible, and lifeless.

The reframe that changed this site: the abstraction is itself a design problem. Not a compliance step after the writing, but a system with rules, components, and a visual language — one I could build once and every future piece inherits. If I can’t show you the work, I can show you a designed way of not showing it. That system is now the most personal thing on this site, and this essay is its documentation.

Rule one: withheld information introduces itself

Nothing on my case studies is silently missing. Where a number or a name can’t appear, a typed redaction appears instead — a small veiled chip that says exactly what kind of thing it’s hiding: withheld: adoption metric, withheld: customer name, withheld: conversion target. The structure of the argument stays fully visible, the way a declassified document keeps its paragraphs.

This is a trust device, borrowed deliberately from how intelligence agencies release documents: a typed redaction is evidence the material is real. A vague sentence could be hiding anything, including nothing. A redaction that names its category has committed to something checkable — there is a specific number, it exists, and I chose not to print it.

Rule two: magnitude is geometry, not digits

Impact sections are where NDA-bound case studies usually die — either the numbers leak, or adjectives (“significantly improved!”) take their place and the reader’s trust leaves with the digits. My rule: outcomes render as proportional drawings. Two silk threads whose thickness compares before and after. A funnel whose narrowing IS the finding. Captions carry the claim in words — “roughly a third,” “seven in ten.”

A ratio communicates more honestly than a context-free number anyway. “Reduced build times by four thousand hours” impresses until you ask: out of how many? A drawn proportion answers the only question the number was ever standing in for.

Rule three: everything is drawn, nothing is captured

There are no screenshots anywhere on this site — a rule enforced by a pre-push hook that rejects raster images outright. Every visual is SVG, drawn in the site’s own design language, and deliberately NOT a faithful recreation of any product surface. Abstract dashboards with the load-bearing design decision annotated; system maps with the real names swapped for roles.

The constraint turned out to be a gift. A screenshot shows what shipped; a drawn abstraction shows what was decided. Recruiters have told me the annotated abstractions read faster than the real interface would — the drawing has an argument, the screenshot only has evidence.

Rule four: honesty is a tier, not a caveat

The corpus distinguishes case studies (work with outcomes) from field notes (research that hasn’t earned an outcome section yet) — and the distinction is enforced by the site’s build, not editorial discipline. A flagship without an outcome fails to compile. A field note ends in open threads: the unresolved tensions, stated plainly, trailing off the page like loose silk. In-flight work says “where it stands” instead of “outcome.”

This exists because the fastest way to lose a senior reviewer is a fabricated result — and because research-stage work, presented honestly, is a stronger signal than padded case studies. The threads I haven’t resolved are the best interview questions I can hand you.

Rule five: the machine checks what discipline forgets

Under all of this sits enforcement: a denylist of every name and codename that must never appear, an allowlist of every number that may, both checked by git hooks that fail closed before anything becomes public. Every figure on this site passed a deliberate review; every draft was written knowing the gate exists. The abstraction rules aren’t aspirations — they’re mechanically impossible to forget at the worst moment, which is always the push at midnight.

The gate catches literal leaks. Judgment still owns the semantic ones — an “anonymous” customer described with enough surrounding detail stops being anonymous. That’s why every piece also declares its abstraction in a legend up top: what kind of material was hidden, and how to read what remains.


The system’s real output isn’t safety — it’s that confidentiality stopped being the reason my best work was invisible. The case studies in the work index are all children of these five rules. If you want the versions with the names and the numbers: that conversation happens in interviews, where NDAs are respected and walls have doors.