Selected work · Phoenix

How work moves through Phoenix

A design system, CLI and form platform serving 50 applications and 300+ developers. Four kinds of work arrive at it. They run the same seven stages — at four very different speeds.

The pipeline

The stages never change. What changes is which ones a scenario skips, who holds the decision inside them, and how long the whole thing takes — from a patch out the same day to a migration measured in quarters.

Choose a kind of work

A new feature request

WeeksShips in the next scheduled minor

A consuming team needs a component or an API the platform does not have yet. The full pipeline, and the only one of the four that spends real time in design.

Where the shape breaks The stage that costs the most is the one before any code exists — most of what arrives is one application’s problem wearing a platform costume, and design is where that gets settled.

  1. Intake

    ~2 days

    How the work arrives and gets recorded

    A team files a component or API request against the central queue, with the screen it is blocked on attached.

    Decided by Platform intake

  2. Triage

    ~1 week

    Severity, priority, and who owns the call

    Weighed against the roadmap, and against the harder question: does this belong in the platform at all, or in the application that asked for it?

    Decided by Platform lead

  3. Design

    ~2 weeks

    The API shape and its trade-offs, settled before code

    The expensive stage. API shape, accessibility acceptance criteria, and a tech-feasibility session with the requesting team’s designers — non-standard usage gets caught here rather than in review.

    Decided by UX + platform architect

  4. Build

    ~2 weeks

    Implementation, tests, and the migration path

    Implementation against the agreed API, with tests and the documentation entry written alongside it rather than after.

    Decided by Owning engineer

  5. Verify

    ~1 week

    Accessibility, visual regression and contract checks

    Accessibility audit, visual regression across both themes, and the contract tests every consuming application leans on.

    Decided by QA + accessibility

  6. Release

    Scheduled

    The version that carries it, and to which supported lines

    Additive by definition, so it rides the next scheduled minor and nothing downstream has to move.

    Decided by Release manager

  7. Adopt

    At their pace

    How consuming applications take it up

    Teams pick it up on their next version bump. No migration, no deadline, no chasing.

    Decided by Consuming teams

Everything runs this way

Phoenix, Phoenix-Loom, the Copilot context layer and Griffin all move through the same seven stages. The pipeline is the product as much as the components are.

Back to selected work
© 2026 Nikhil Hukkerikar