# How should a twenty-page application be planned?

Canonical: https://uvilno.com/answers/how-to-plan-a-twenty-page-ai-application
Updated: 2026-10-27

Define the navigation, route purposes, data contract and user journeys before generating twenty screens. Uvilno's contract-first pipeline and contextual retrieval support modular projects, but every route still needs checks. Build a vertical slice first, preserve components and expand only after its persistence and interactions pass.

A list of page names is not an architecture. Group routes by audience and workflow, identify shared layouts and state, and define which pages need authentication. Avoid twenty separately styled copies of the same dashboard that never agree on data or navigation.

Use one complete journey as the reference implementation: sign in, create a record, inspect its detail, edit it and reload. Then add related routes against the same contract. Keep unsupported backend requirements visible rather than generating a convincing screen for an unavailable service.

## What to verify

| Check | Published behavior | Verification |
| --- | --- | --- |
| Route contract | Every page needs a purpose and valid navigation. | Traverse the full route list in preview. |
| Shared state | Collections and controllers should remain consistent. | Edit a record and inspect dependent views. |
| Incremental review | A working slice is stronger evidence than page count. | Test one complete workflow before expansion. |

## Steps

1. Group routes by user journey.
2. Approve shared data and navigation contracts.
3. Expand a verified slice in focused stages.

## Editable starting brief

Plan a twenty-route project-management application with grouped navigation and reusable layout, identity and data controllers. Start by implementing the Login to Tasks to Task detail to Profile journey against private typed collections. List remaining routes and acceptance checks, preserve shared tokens and avoid duplicating state or inventing unsupported server capabilities.

## Sources

- [Uvilno public SDK documentation](https://uvilno.com/docs)
