Opendoor · Staff Content Designer · May 2025 to Nov 2025

Prototypes instead of specs

I was the only content designer at the company. The obvious move was to become a very fast bottleneck. Instead I took the component library into Cursor and Copilot and started handing engineers working front ends.

Design systems · Real estate

A prototype ends an argument that a spec would have extended

What content design usually hands over

A spec. Copy in a doc or a Figma layer, with states described in prose. Engineering interprets it, builds it, and we find out what I actually meant in review.

What I handed over

A working front end. Real components, real states, real copy, running. Engineering takes it apart and ships the parts that fit.

Built with Cursor and Copilot against our own component library.

I scaled the content component library, which the Opendoor content design team had built over about a decade before I got there, and used it as the source for prototypes I built myself. States, errors, empty states, the lot, assembled into something you could click rather than something you had to imagine.

That cut development cycles and cut the engineering time a prototype needed before anyone could react to it. It also killed an entire category of meeting, the one where four people argue about what a screen will feel like when nobody has seen it yet. Hard to argue with a thing that runs.

A new product category needs its words settled before it can exist

Cash Plus was a new category on the buy side of home transactions, expanding nationally through Agent Led Offers. New category means no shared vocabulary: not with agents, not with sellers, not internally, not in the product.

I owned the language and the lexicon for that expansion. What the thing is called, what it promises, what it explicitly does not, and how the same idea keeps its meaning from an agent conversation through to a screen. The national expansion shipped with Cash Plus conversion up 1.4 percentage points.

I put the library inside the AI tools, so teams stopped needing me

What went into the tooling
  • Component states
  • Error patterns
  • Empty states
  • Email templates
  • Terminology and lexicon
  • Voice and tone

Not a document teams were asked to read. Context the tools already had.

One person cannot review an organization’s content. You can try, and it works right up until the first day you’re unavailable. Nobody stays available forever, and a system that assumes otherwise is already broken.

So I instantiated the content design library inside the AI tools the company already used. The patterns, the lexicon, the voice, the error and empty-state rules, sitting where generation happens rather than in a document somebody has to remember to open. Product teams got their work off the ground without waiting on me, and what came out was closer to right on the first pass.

That is the whole idea I have been chasing since. Guidance nobody reads is decoration. Guidance loaded into the thing that does the writing is a system.

Pull me into a conversation →

Project details

Company
Opendoor
Role
Staff Content Designer, sole content designer
Timeline
May 2025 to November 2025
Tools and methods
CursorGitHub CopilotFront-end prototypingDesign systemsFigma librariesLexicon and terminology