Skip to content
production / main000%
All writing
ENTRY-044Product decisions4 September 2026 · 3 min read

SER-07 · SER-07.02 · Problem Before Product

A Feature List Is Not Product Architecture

A feature list explains what exists. Product architecture defines domains, state ownership, flow, boundaries and acceptance before implementation invents them.

DEC-PRODUCTFind the first correct intervention before increasing the next cost.

It is easy to describe a product as a list of capabilities.

Tasks. Notes. Calendar. AI. Notifications. Sharing. Search. Offline mode. Mobile app.

That list can explain what exists. It cannot explain how the product is supposed to behave.

Two teams can implement the same list and produce completely different systems. One grows coherently. The other becomes a collection of screens with local rules. The difference is rarely the number of features. It is how early the important decisions were made.

Architecture starts before the technology choice

When I say product architecture, React, Supabase or Cloudflare are not my first questions.

I start with:

  • What is the primary user decision?
  • What are the real domains?
  • Where do those domains intersect?
  • Which state is durable and which state is derived?
  • Who owns each piece of data?
  • Which behaviours must remain consistent across platforms?
  • Which platform differences should intentionally stay different?
  • What happens during error, offline and conflict states?
  • What other surfaces change when this capability changes?

You can choose a stack before answering those questions. You have not yet designed the product architecture.

Why an Ordovia feature list is insufficient

Ordovia contains tasks, notes, habits, rituals, planning, calendar context and personal knowledge. At feature level they can look like independent modules. For the user, they belong to the same day, account and personal context.

The architectural questions are different:

Does moving a task into planning create a second object or change the same one? Is a note-to-task relationship a reference or a copy? Do web and mobile read the same canonical data? How are offline writes reconciled? From which time model is today’s habit state derived?

Those questions are invisible in a feature card, but they determine whether the product stays trustworthy.

Kurmaca has the same problem in a different domain

“Long-form editor, scenes, characters, clues, timeline and continuity checks” sounds like a complete specification. It is not.

The central product decision is that the manuscript remains primary. Narrative logic, AI and timeline systems must support writing rather than displace it.

Likewise, cloud revision and local recovery are not implementation details. If the recovery layer becomes a second authority, a safety feature can become a data-loss risk.

A build contract is different from a feature spec

A feature spec mostly answers what will be added. A build contract also fixes:

Problem — what constraint are we removing? Scope — what are we deliberately not solving? Domain — which product model owns the behaviour? Flow — in what order does the user move? State — what happens during loading, empty, error, offline and conflict? Data authority — which source is canonical? Platform behaviour — where do web, mobile and desktop differ? Acceptance — what observable behaviour proves the work is correct?

Without those decisions, implementation becomes the place where architecture is invented accidentally.

AI-assisted development makes this more important, not less. Generating code is cheaper. Expanding ambiguity at high speed is cheaper too.

Architecture is also a boundary system

Good product architecture does not only say what to build. It says where a capability must stop.

An AI layer should not silently invent domain rules. A local cache should not become the authority. A mobile exception should not fork the shared product model. A settings screen should not redefine the core flow. A new module should not become an unrelated island.

These boundaries make change safer.

A feature list answers “what is in the product?” Architecture answers harder questions: why these things belong together, who owns state, how change propagates, where failures are diagnosed and where the system can expand next.

A product is build-ready when its key decisions are clear, not when its feature list is long.

  • Product Architecture
  • Build Contract
  • Domain Design
  • FORGE
  • Ordovia
  • Kurmaca

SER-07 · SER-07.02

Problem Before Product

Diagnosing the real constraint, decision point and build contract before a feature request turns directly into implementation.

NEXT / APPLY / FROM READING TO ACTION

If your product has this problem, do not leave it as theory.

Diagnose the bottleneck with four short questions, then enter only the system or implementation layer you actually need.

Chat