Currently building Endless Commerce

I'm a designer who thinks in systems, ships in code, and designs across the entire product.

I design software for complex operational problems—supply chain, underwriting, procurement, finance. I build design systems from scratch, ship production code daily, and advocate for end users across every level of the organization.

Previously at BRM, Vesta, Federato (employee 1), N26, and Apple. Based in San Francisco.

Work
Endless Commerce
Founding Designer
2025 – Present
Endless Commerce screenshot

I own design for an e-commerce infrastructure platform—from design strategy and user research through to UI and code. I built our Ace Design System from scratch, lead design partnerships with enterprise clients, and shape the product roadmap alongside leadership. I also ship React and TypeScript code to production daily—design intent doesn’t survive handoffs; it survives ownership.

Design systemsEcommerce infrastructureInformation densityEnterprise workflows

Inside the platform—three threads of the same design philosophy.

Scope
Complete enterprise design system, designed in two weeks and built in code
Outcome
Deployed across the entire commerce platform; team builds without a designer in the loop

The app I inherited had no point of view. Multiple component libraries running side by side. Hardcoded colors (#FFFFFF and #000000) and font sizes. No empty states, no spacing system, buttons that didn't do anything, and no visual language at all.

The inherited app, before.
The inherited app, before.

Ace started with a question Sam (CEO) and I kept circling: what does Endless actually look like? Nobody knows a brand better than the founder, so I spent the first month pulling that identity out of her: on whiteboards, in mood boards, on the floors of the warehouses we visited. What stayed with me was the material world of commerce: kraft cardboard, packaging tape, information-dense labels, poly bags, the warm browns of a stockroom. I wanted Ace to feel like that.

01 — A complete evolution

Brand, behavior, and the patterns Shadcn doesn't ship with

Shadcn handled the primitives so I didn't have to. It covers roughly 80% of what an enterprise app needs. That freed me to focus on what actually defines a product: brand language, interaction patterns, the small craft decisions that compound over hundreds of surfaces. A design system isn't a component library. It's a point of view, expressed consistently enough that the team builds without asking what something should look like.

Ivory tones, tested in light and dark.
Ivory tones, tested in light and dark.

The color/variable work took the longest. Several shades of ivory tested in light and dark, the way a painter tests swatches. Ivory replaces pure white because pure white is harsh and doesn't exist in nature. Forge replaces black anywhere true black would read as a hole. Bone is reserved for primary buttons in dark mode, forge in light mode. Ember is the brand red, used sparingly as an accent.

Figma variables panel, light and dark token pairs.
Figma variables panel, light and dark token pairs.
Command palette, light and dark.
Command palette, light and dark.
02 — Built for power users from day one

Built for the people who live in the product

Most of Ace's strongest decisions were small interaction details that compound. The Quick View pattern existed in the app before I arrived, but it was inconsistent: different drawer sizes and behaviors, no keyboard handling, and slow loading times. I rebuilt it as a single component for consistent behavior, applied it everywhere, and added keyboard shortcuts so power users can step through inventory items, orders, and order details without leaving the list view.

Quick View drawer in motion.

I also wanted Ace to be full of small details that add delight and quietly improve usability. Filter pills that contain the same styled badges of the rows they're filtering, so the eye connects the query to the result. Icon buttons in toolbars instead of text-heavy ones, so density doesn't translate into noise. Hover states that are deliberate rather than decorative.

Filter pills match the badges of the rows they filter.

The static decisions are subtractions. No heavy card shadows. No gradients on buttons. No cursor pointers on anything other than external links; interactivity is communicated through hover states, not by lighting up the cursor everywhere the user moves. Only primary actions get filled buttons; secondary and tertiary use ghost treatments. The result feels like a powerful native app, not a consumer tool dressed up for the web.

Keyboard shortcuts modal.
Keyboard shortcuts modal.

Keyboard navigation was built in from the start. Global navigation runs on G shortcuts: G+C for Catalog, G+I for Inventory, G+O for Orders, G+S for Supply Chain, with the full set documented in a ⌘ / help modal. Up and down arrows step between detail records inside Quick View. A command palette covers everything else. Esc steps back; Shift+Esc closes Quick View entirely.

03 — Dark mode designed alongside light

Every token defines both light and dark values at the moment of definition

That doesn't mean dark mode was right immediately. It means there was always something to tune, never something to retrofit. The badge system was the work that proved this out: every status (Full Stock, Low Stock, In Production, Shipped, Delivered, Allocated, Fulfilling, Draft, Overdue, Oversold) across the platform has tested light and dark variants that hold their meaning across both surfaces.

Badge taxonomy, light and dark.
Badge taxonomy, light and dark.

The first pass shipped. Then I audited it in production, found some contrast issues where lighter color fills disappeared against Forge backgrounds, and refined the system. That cycle—define, ship, audit, refine—is the actual story of dark mode parity. Not a decision, a discipline.

Linear update, dark mode refinement.
Linear update, dark mode refinement.
04 — Design intent survives ownership, not handoffs

Owning the code, not just the design

I designed Ace in two weeks and scoped the entire build in Linear, tickets organized by component, sorted into manageable cycles. Three months and two engineering handoffs later, the build was only half-completed. Token misuse, hardcoded values, components diverging from spec, etc.

Linear project view, fifty-plus merged PRs.
Linear project view, fifty-plus merged PRs.

So I took it over. I finished the build in the codebase myself—shipping over 50 PRs in the span of 3 weeks—then kept refining: the dark mode color refinement that brought page background, sidenav, and borders into proper luminance hierarchy. Audits like that one don't happen at handoff—they happen when the designer owns the code.

Closing

Ace is live across the platform. The team builds with it without asking what something should look like. That's what a design system is for.

Scope
Designed and shipped the product catalog, end to end. Sheet view, grid view, product detail page, and the natural language editor that sits across it all.
Outcome
A best-in-class PIM operators trust as the system of record. Bulk edits land in seconds, not spreadsheets

When I joined, the Product Detail Page had roughly a tenth of the data fields it carries today, a lackluster layout, and almost no editing experience. There was no bulk edit anywhere in the product. For a platform marketed as a PIM, that's a contradiction.

The inherited product detail page, before I joined.
The inherited product detail page, before I joined.

Operators rarely edit one product at a time. A Q4 catalog import lands and they're staring down 3,000 SKUs that all need a price update. Without bulk editing, the answer is export to CSV, edit in Excel, re-import. That's the spreadsheet tax, and it's why the original catalog couldn't function as a PIM.

The work was to fix both ends: make the single-record surface dense enough to be the source of truth, and build a bulk surface that operators would reach for first.

01 — Two views for two ways of working

Two views for two ways of working

The catalog needed to scan two completely different ways. Some days an operator is working across the catalog: updating Q4 prices on 800 SKUs, retagging a seasonal collection, or fixing dimensional data on a vendor import. Other days they're working on a single product: prepping a launch, writing channel-specific copy, or reviewing an inbound shipment.

Working closely with Pete (Head of Product), I designed and shipped two views that share the same data but optimize for opposite workflows.

Sheet View, Excel-style grid for working across hundreds of SKUs at once.
Sheet View, Excel-style grid for working across hundreds of SKUs at once.

Sheet View is the bulk surface. Excel-style grid, single-click to edit, Tab and Enter navigation, multi-cell selection, paste from clipboard, ⌘Z undo, column resize and reorder. We dropped double-click in favor of single-click because double-click is a file-system convention and operators have spreadsheet muscle memory. We dropped the edit-mode toggle for the same reason: cells are always live, with a strong selected-cell state carrying the affordance.

Grid View, visual product cards for scanning imagery, status, and channel availability.
Grid View, visual product cards for scanning imagery, status, and channel availability.

Grid View is the visual surface. Product cards laid out in a responsive grid, each one carrying primary image, title, status, stock level, and a fill-rate badge. Pattern-matched to Shopify so the mental model transfers instantly. Useful when you're scanning for missing imagery, checking which products are live and where, or just orienting yourself in a large catalog.

The two views toggle from the same toolbar position and preserve filters, sort, and selection. Mid-task view changes don't cost the operator their place.

02 — The Detail Page is for depth

The Detail Page is for depth

The Product Detail Page is where a single product gets the full 200 dimensions of attention. Sheet View is breadth. Detail Page is depth.

Product Detail Page, Inventory tab, showing days of supply, multi-warehouse breakdown, and inbound units.
Product Detail Page, Inventory tab, showing days of supply, multi-warehouse breakdown, and inbound units.

The page holds general info, attributes, pricing, inventory, supply chain data, and channel-specific fields without becoming a wall. Editing follows a different model than the sheet: a unified Edit Mode that flips the entire page into an editable state, with a single Save commit. The bulk surface auto-saves per cell because speed compounds across hundreds of edits. The detail page commits atomically because editing one product is a transaction; you want to review the whole record before saving.

Two surfaces, one mental model. Operators reach for the right tool without thinking about it.

03 — Natural language as the third gear

Natural language as the third gear

I designed and built the Natural Language Editor on top of the catalog, end to end. Select 200 products, type Set MSRP to 4X landed cost and tag as Spring 2026, preview the diff, apply.

Natural Language Editor with a diff preview before apply.

The decision worth flagging: I chose not to call the LLM. The parser uses schema-aware entity recognition against the product attribute namespace, resolves operations locally, and only escalates to a model when the prompt genuinely needs reasoning. Most edits resolve noticeably faster than an LLM round-trip, with zero token cost to the business. Knowing when an AI feature shouldn't be an AI feature is the decision that doesn't show up in a screenshot.

The same parser is the substrate for what comes next. Agents managing POs, shipments, inventory adjustments all need to translate intent into structured operations on entities the platform already knows about. Same parser, different caller. The product feature became platform infrastructure.

Closing

A catalog that holds 200+ dimensions of product data, three ways to edit that data, and one mental model. Sheet View for breadth. Detail Page for depth. Natural language for intent. The bulk layer is the foundation for agents.

Deep dive 03

Supply Chain — Suppliers, Purchase Orders, and Shipments

Coming soon
BRM
Founding Designer
2023 – 2025
BRM screenshot

First product designer at the AI-native vendor management and procurement platform. I designed dynamic tables with intelligent filtering and real-time spend analytics, plus a contract management system that pairs automation with verification: ingest from Gmail, extract with AI, confirm in one click with clear provenance.

AI product designData-dense tablesContract workflowsCompliance systems

Designing for trust and automation before agentic AI was a category.

Deep dive 01

BRM

BRM tracks company-wide spend, wrangles contracts, streamlines compliance, and wins negotiations. I joined as the first designer in 2023, before "agentic" was the word on every landing page. The hard part wasn't the AI. It was designing for trust when the product was gathering data and making decisions on the user's behalf.

Scope
AI-native procurement—tools, contracts, compliance, tasks, notifications
Outcome
Series A closed nine months after I joined; design language that survived the AI hype cycle
01 — Tools table

The dynamic table that runs finance teams' entire vendor stack

Customizable columns, intelligent filtering, real-time visualizations for spend, compliance, and departmental usage. Department leads create their own views and share them.

Compliance findings embed directly in the table—visual indicators and source citations when SOC2, HIPAA, or PCI-DSS appear in a vendor's trust center.

Tools table with departmental views and AI compliance insights
Tools table with departmental views and AI compliance insights
02 — Contract automation

Trust and automation, designed together

Buyer-seller contracts live in email. An engineer built a Gmail scraper that finds contract attachments, runs OCR, and extracts the key terms—renewal date, owner, payment terms, auto-renewal clause.

I designed the verification surface end-to-end: split view with extracted fields against the source document, highlight-to-confirm, GPT-powered summaries inline. Trust requires receipts.

Contract verification split view, field highlighted to source
Contract verification split view, field highlighted to source
03 — Tasks and notifications

Notifications can be messy. I made them quiet

The Tasks system surfaces high-priority actions in the side nav—urgent renewals first, contextual CTAs leading directly to the required action.

Per-alert-type controls for channel mix, frequency, and digest. Critical unknowns fire to Slack immediately, meeting decision-makers in the tool they use most. Minor compliance updates and renewals more than 90 days out batch into a weekly email digest.

Notifications inbox, with triaged task list
Notifications inbox, with triaged task list
Reflection

BRM closed $15M Series A nine months after I joined. What I'd do differently: I underweighted the onboarding flow. The team focused on conversion and time to value after I left, which validated the gap.

Vesta
Product Designer
2022 – 2023
Vesta screenshot

I designed core features for the next-generation, AI-native loan origination system—disclosure packages, credit score refresh, borrower assets and liabilities, undisclosed debt monitoring. Reduced the asset review process from 10 pages to a single view. Built a data table component set from scratch following Brad Frost's Atomic Design Principles that transformed how the platform displays complex financial data.

Financial interfacesAtomic design systemsComplex data tablesWorkflow simplification

Mortgage software is famously ugly. The challenge wasn't making it pretty. It was making density feel humane.

Deep dive 01

Vesta

Vesta's next-generation loan origination system streamlines the mortgage origination experience for lenders and borrowers. I worked across disclosure preview, credit score refresh, borrower assets and liabilities, undisclosed debt monitoring, and borrower affordability—confirming the borrower can cover monthly mortgage payments, closing costs, and reserves.

Scope
LOS—disclosures, assets and liabilities, credit refresh, design system
Outcome
Reduced underwriter asset review surface from 10 pages to 1; shipped data table component set used across the platform
01 — Asset review, 10 pages to 1

From paginated review to a single thorough overview

Reviewing a borrower's assets is critical: lenders confirm the borrower can afford monthly payments, closing costs, and reserves. The legacy approach required 10+ page underwriter review.

I designed a single-page summary with accounts grouped by type, totals at each level, and a verification status pill within every row. Scan top-down once, dismiss what's clean, focus on what's flagged.

Asset review single-page layout, grouped accounts, verification status
Asset review single-page layout, grouped accounts, verification status
02 — Disclosures preview

Scroll, not pagination

Loan officers review disclosure packages—Initial, Re-disclosure, Closing—that run 30 to 80 pages. I built a full-screen viewer with continuous scroll, document switcher at the top, and inline notes.

Officers can download the document locally and add notes attached to scroll positions, not page numbers. Notes survive document re-renders.

Disclosure viewer with sticky TOC and inline notes
Disclosure viewer with sticky TOC and inline notes
03 — The unglamorous infrastructure

Tables were on every screen. They needed a system

Borrower assets, liabilities, disclosures, debts, credits—every screen had a table, and every table was a one-off with different padding, sort behavior, and empty states.

I rebuilt the table system from scratch using Brad Frost's atomic design principles: table cells as atoms, table rows as molecules, complete tables as organisms.

Data table components with multiple cell types and success states
Data table components with multiple cell types and success states
Reflection

I was only at Vesta for seven months, but it was one of the sharpest product teams I’ve worked with. It taught me that in complex financial systems, the interface is infrastructure.

Federato
Product Designer
2020 – 2022
Federato screenshot

First employee. Partnered with founders Will Ross and William Steenbergen to design and build the RiskOps platform from the ground up. Our founding team conducted over 1,200 hours of interviews with underwriters and insurance leaders. I turned that research into early prototypes, intelligent dashboards, geospatial risk tools, and configurable policy workspaces that helped drive 10x revenue growth during H1 2022. Federato has since become one of the defining companies in AI-powered underwriting.

Zero to oneAI-powered underwritingGeospatial intelligence10x revenue growth

Turning 1,200 hours of underwriter research into a product that looked nothing like the legacy tools it replaced.

Deep dive 01

Federato

I joined Federato as its first employee in July 2020. With founders Will Ross and William Steenbergen, I led the user research, rapid prototyping, and design that validated the RiskOps platform pre-product. 1,200 hours of underwriter conversations turned into a product that QBE and others now use as their unified underwriting core.

Scope
AI/ML-powered underwriting—dashboards, geospatial risk, new business and renewals
Outcome
Designed the original RiskOps workflows and helped establish a research-led development culture.
01 — Dashboards

Reducing the noise

Underwriters were drowning in dashboards that showed everything and surfaced nothing meaningful. We reduced the visible metrics, color-coded the few that drove decisions, and pushed alerts into a sidebar.

AI-powered alerts highlight accounts needing attention. The screen got quieter. The work got faster.

Performance dashboard, key KPIs above the fold
Performance dashboard, key KPIs above the fold
02 — Geospatial risk

Maps are easy. Knowing what to put on them is hard

Google Maps integrated with our proprietary risk scoring. The temptation was to layer everything: hazard zones, climate exposure, nearby losses, building footprints, peer policies.

I cut the default layers to two. Hovering a property reveals an inline panel with DFM score, premium trending, and nearby loss count—three numbers that answer "should I quote this."

Map view with a property selected and the inline panel open
Map view with a property selected and the inline panel open
03 — New business and renewals

One pane of glass for the full submission lifecycle

Underwriters had been jumping between ten-plus legacy tools per submission. I designed a configurable workspace that consolidated the workflow—submission triage, risk data, portfolio context, and broker comms in a single layout.

Modular architecture, consistent interaction patterns. Cognitive load was the metric we optimized against from the earliest prototypes.

Account workspace with multi-line cards and broker rail
Account workspace with multi-line cards and broker rail
Reflection

Federato began deploying to leading carriers in late 2021. Recently, the company raised $100 million in Series D funding led by Growth Equity at Goldman Sachs Alternatives.

N26
Marketing & Brand
2018
N26 screenshot

My introduction to the world of product and design at one of Europe's leading mobile banks. I was employee six on the New York City expansion team helping launch N26 in the US market. This is where I fell in love with building software, learned what great consumer product design looks like at scale, and decided to spend my career making complex things feel simple.

US market launchContent strategyConsumer productGrowth marketing
Approach
How I work
Ship in code
I implement directly in code. Design intent survives when the designer is also the engineer.
Systems over screens
Tokens, components, patterns. Every decision should make the next one faster.
Density is a feature
Enterprise users need information, not decoration. Clarity at scale.
Design is cross-functional
I talk to customers, write specs, review PRs, and debate architecture.
Tools
Things I love
Linear
Project management as interaction design
Cursor
Prototyping at the speed of thought
Claude
The best design partner that doesn't have opinions about fonts
Wispr Flow
488K words dictated, 120 WPM. I don't type much anymore.
Things I don't
Jira
Where good ideas go to die
Asana
Complexity theater masquerading as productivity
Notion
Everything, everywhere, all at once. And none of it quickly
Sketch
Humble beginnings, but we've moved on
Elsewhere
When I'm not designing

I like to ride bikes and skis, cook dinner most nights, and photograph whatever catches my eye. I think a lot about architecture, color theory, and visual perception. And football, of course. Occasionally I'll disappear to Sonoma for the afternoon.

Clark Newlove
That's the work. What now?

Always happy to talk design, building products, and the craft of making software feel inevitable. If you're working on something great, I'd love to hear about it.

© 2026 · Design and code by Clark Newlove