---
title: "Decide before you build · Builder's guide · Chappell AI"
description: "A few business decisions shape the console more than any technical choice. Write them down first; a page of notes is enough."
url: https://chappellai.us/guide/04-decide-before-you-build/
---

Builder's guide · Section 4

# Decide before you build

A few business decisions shape the console more than any technical choice. Write them down first; a page of notes is enough.

## The owner's worksheet

| Question | Why it matters | Example (coffee roaster) |
| --- | --- | --- |
| Which activities have an accounting consequence? | These are the screens you need. Activities with no accounting effect stay in your own tools. | Buying green coffee, roasting, selling wholesale and online, payroll summaries, equipment |
| Which companies are on the books? | Each is a separate company in GAAPcore. Related companies can form a group for intercompany trade and consolidated statements. | The roastery, plus a sister café that buys from it |
| Who uses the console, and in which roles? | Roles are your console's, not GAAPcore's. Start with three: viewer, bookkeeper, administrator. | Owner (administrator), bookkeeper, outside accountant (viewer) |
| Which actions need a second person? | Approvals are your console's to enforce (section 10). | Purchase orders over $5,000; any credit memo, write-off or refund |
| When do you go live? | You start from opening balances on a cut-over date (section 12). | Close of business on December 31 |
| What other systems will write? | Each gets its own writer and key, scoped to the companies it needs. | Online store payouts; a bank feed |
| Where will it run? | The operator runs PostgreSQL, the API and TLS (section 5). | One small cloud server plus managed PostgreSQL |

## Keep the console general

Build screens around accounting objects (orders, receipts, bills, invoices, recipes, periods), not around one company's quirks. The reference console was built for a roaster, but nothing in it is specific to coffee: the roaster is only its data. A general console is easier to test, and easier to reuse when the business adds a second company or line of trade.

## Choose a stack

Any language that speaks HTTP and JSON will do. The reference console uses React and Vite in the browser and a small TypeScript server built with Hono, plus its own PostgreSQL database for people and audit records. It generates typed API calls from GAAPcore's `openapi.yaml`. Use that combination unless you have a reason not to; it lets you copy patterns from the reference console directly.
