Skip to content
Let’s talk

Operating model

Iterate

Build the fastest proof that the core value can be felt.

Manu ArizaProduct, design & buildingScroll to read ↓

A prototype should answer a question. It should not pretend to be the product.

Iterate is controlled improvisation. I want the product to become tangible quickly, but only around the question that matters. If the unknown is whether a user can feel the core value, the prototype should answer that directly instead of pretending to be a finished system.

That means using hardcoded paths, fake data, narrow flows, or disposable implementation when those choices protect learning speed. The discipline is to write down what changed, what was learned, and what still should not be trusted.

The working sequence

01 / Question

Pick the riskiest assumption.

The prototype exists to test the assumption that would most change the plan if it failed.

02 / Shortcut

Use fake plumbing when plumbing is not the question.

Hardcoded data, a single page, or a manual workflow can be correct when the goal is to feel the core interaction.

03 / Learn

Write down what changed.

The learning log preserves what worked, what broke, what should be rebuilt, and what should not survive into production.

Speed with judgment

Iterate protects speed from becoming theater.

AI makes it easy to generate screens, but screens are not learning unless they answer an actual product question.

The stage works because it constrains the build: one core feature, just enough interface, and clear notes about what is fake or temporary.

A useful iteration is a bounded slice: preserve a runnable product, avoid unrelated changes, keep risky operations idempotent, put domain rules in shared places, keep sensitive checks on the server, and update the source of truth when behavior changes.

The iteration is successful when it reduces uncertainty, not when it maximizes visible scope.
In practice / Donaya

Donaya converted pilot feedback into scoped investigations: defect, expectation gap, permission decision, or new feature. That taxonomy kept user signal actionable without turning every note into an unbounded build.

Case use

Different products need different prototypes.

For a payment product, the riskiest proof might be contribution trust. For a data product, it might be whether the analysis becomes decision-grade. For a creative tool, it might be output quality and editing control.

The verification path should increase realism in layers: static checks, rule checks, integration tests, visual checks, preview with realistic configuration, provider test events when needed, and finally narrow production smoke checks.

After each slice, the question becomes whether the learning is local or systemic. A one-off fix is right when the behavior is truly product-specific; a reusable rule is right when the same failure can appear across surfaces.

Prototype the riskiest assumption, not always the entire core feature.

Seen in the work

Donaya

Trust-heavy nonprofit operations

Public fundraising, supporter records, organization controls, payments, certificates, content operations, and launch gates in one system.

Key Models

Knowledge architecture and source-faithful systems

Searchable strategy corpus, model articles, semantic visuals, templates, protected resources, and editorial QA workflows.

Gradimio

Evidence-grade compensation decisions

Sensitive compensation workflows, compliance framing, source grounding, reviewer decisions, and human-in-loop AI boundaries.

Paliet

Creative output as a product surface

Generative artwork, poster editors, saved libraries, export readiness, checkout paths, and output-quality judgment.