Lead design work sits upstream of components: deciding which patterns earn a place, writing the rubric teams reason with, and setting the design-to-engineering contract so work ships without ambiguity. Four threads where I set the convention, each now adopted product-wide.
Every creation flow had drifted into its own layout: split-screen workbenches, centered single-column cards, floating card grids. New surfaces had nothing to build against, so the product felt like several products stitched together.
I established the split-screen workbench as the standard: scrollable form on one side, sticky live preview on the other, responsive breakpoints instead of a rigid ratio. A variant switcher pinned atop the preview, a summary tab replacing the old review page, and inline error indicators on any tab with validation issues turned the layout into a system. Bringing the outlier flows into line made the convention hold platform-wide, so teams across the product now build against it instead of reinventing it.
Teams relitigated the same question on every flow: stepper or tabs? With no shared rule, a flow that supported saving partway through would still force users down a rigid linear path because that's what the last flow used.
I authored the rubric the team now builds to: steppers for strictly linear flows where steps must be completed in order, tabs for non-linear, save-as-draft flows where users move between sections freely. Usage data grounded it; one flow forced every user through a multi-step stepper even though sixty percent created just a single item. Applying it where steppers fought save-as-draft behavior fixed the misfits, and teams across the product carried it forward as their default reasoning, so the same debate doesn't restart on every flow.
Design decisions lived in scattered chat threads and verbal agreements, so engineering tickets carried ambiguity and rework. The same questions resurfaced at handoff because no single reference defined what a surface should be.
I made the design file the source of truth, with tickets anchored to it and the reasoning behind each decision documented alongside the work. The bar for a good ticket: specific affected-area paths, explicit expected behavior, a design reference. That gives engineering what it needs to build without coming back to ask, and the contract gave the team a reusable definition of done.
Design, research, and content kept entering after scope was set. Engineering kicked off with open questions, mid-build cuts had no path upstream, and the same handoff failures repeated. Everyone felt it; nobody had named it.
I audited the handoff against real projects, from meeting transcripts to tickets to shipped work, and named five recurring failure patterns. The audit made the case for lifecycle checkpoints: discover, plan, and build gates with explicit entry criteria and named owners, so engineering starts from documented design and research instead of assumptions. A gate only catches what a team brings to it, so “Designin’ With Dani” came next: a biweekly design × engineering sync where in-flight work is reviewed while it’s still shapeable, with deep dives when a decision needs the full room.