Pages
Under App Blueprint → Pages, GenieForge stores real screens in your app: tables, dashboards, detail views, charts, embedded forms, intake QR blocks, or chat. They load without calling the AI on every visit, so everyday browsing feels like normal software. You describe who needs which screens and what they must do there; GenieForge assembles the pages. When Build mode proposes new or redesigned pages, the plan card can show a simple gray-box sketch of each screen (with highlights for what is changing) before you approve. That sketch is a preview of intent, not the finished page. After approval, use Preview as to verify the real screen.Where it lives
App Blueprint → Pages. Configured pages also appear in project navigation for end users when roles and nav allow it. A page with no roles (and no capabilities) is Owner/Admin only. A non-empty role list is exclusive: Owner and Admin must be named to open that page."*" is every custom role and does not include them. A nav item that points at a page a role cannot open is hidden for that role. Hiding a nav item is not the same as revoking page access. See Navigation.
On a builder page with a project open, use Select UI to point at a region while chatting. See Select UI on pages.
How to verify
- Open App Blueprint → Pages and confirm the title and which roles can open it.
- Check project navigation for that audience.
- Preview as each role that should (and should not) see the page.
- If a data source errors, read the message (often missing table or tool access for that role), fix in Build, then Preview again.
Limits and notes
- You cannot delete a page from App Blueprint → Pages while navigation, another page, or Required steps still point at it. Update those first, then delete. Leftover translation keys do not block delete.
- Pages get standard padding so content is not flush to the chrome. Immersive full-screen boards can go edge to edge when you ask Building chat for that layout.
- Page names must be unique across the app’s capabilities. Tables also get auto-generated model tools with the table name, so a manage screen often needs a distinct page name from the table. The title is what people see in the sidebar.
- For click-to-call (or SMS/email) that should also record that the outreach happened, say which roles may trigger that logging when you brief the outcome.
- A page can use a dialog that sits above the portal chrome when an in-page modal would feel clipped. A header or row button can open a custom panel that way (a Forge screen inside the host dialog), not only a details peek. Structured data collection still uses Forms.
- Status, priority, and similar fields should read as normal words (In progress, On leave), not computer codes. Dates should look like calendar dates and times, not a raw timestamp. If Preview still shows slugs or ISO strings, ask Building chat to format those columns. A list can show a status dropdown on each row, and a record page can do the same in the detail block, so someone changes the value without opening a form or using header buttons.
- Record-page header buttons can stay few: the main ones stay visible, quieter ones use an outline, and the rest sit under More. Extra buttons also fold into More on a phone. Ask Building chat which actions stay on the header and which belong on a specific tab (Add payment on Payments, not next to Edit).
- A board or table can open a details peek on the same page. Ask Building chat to show the row in a modal, then Edit (or Log treatment) from that peek so staff do not leave the board. Use Open visit only when they need the full record.
- A long record can split its fields into titled cards (Contact, Plan) instead of one untitled list. The top of a person or account page can be a name block plus a few numbers, then a short detail and a warning card for medical or other notes. Website and contact links can sit under that name block. A heading between two sections can include a See all action. People lists can show a photo or initials next to each name.
- Featured photos can sit in a swipeable carousel on a catalog or recap page.
- An event or launch page can count down to a date.
- Calendar pages put a date-only value (a session date, a DATE column) on that calendar day. Viewers in North America do not see it one day early. A date with a clock time still sits at that instant.
- A first-run screen can show a short empty message and one create button. An empty table, list, gallery, or photo strip can offer that same create step instead of only muted copy.
- A call-to-action row (Apply, Book) can sit in the middle of a page, not only in the header. Notice cards can use a tone and an icon.
- On a phone, a table becomes a short card per row, not a sideways spreadsheet. Each value sits under its column name (Order, Title, Published, Created), so a number or Yes is not a mystery. Facts sit up to three across and wrap when the card is tight. Extra columns stay on the card under Show more. They are not removed. If the wrong field is the title or the facts look off, ask Building chat to set which columns sit on the card.
- KPI cards follow the page width. A four-stat row becomes a 2×2 on a phone so amounts stay on one line. Ask Building chat if you need a different split (two on phones and four on a wide dashboard).
- A dashboard can offer a named time window (this week, last month, year to date). The control shows the actual dates, and marks the current week or month as in progress. Ask Building chat for a period filter when a screen should slice numbers by time. Custom Week is an extra choice that reveals a second week picker for older weeks, so year-to-date does not sit next to a week control.
- A dropdown filter can list only the choices you name, without an extra All, when every visit should pick one of those choices (Both, Bride, Groom). Ask Building chat for an exact select filter and a default. Relabel All only when you still want that extra choice.
- One page can hide a filter, tab, column, KPI tile, chatbot suggestion, or empty-state create button from some roles while others still see it. Ask Building chat who should see that control. Hiding it is not a data permission: tools must still ignore a value that role should not pick. Preview as each role to confirm.

