Architecture
Technology stack
One TypeScript application from the browser to the database: Apiko’s stack cut to a 1–2 day demo. The server lives inside Next.js, with no separate backend; PostgreSQL and a job queue keep the walkthrough and a running interpretation through a reload; the suppliers’ documents sit in a store of their own, never on a customer screen.

Next.js16
The web application: every party’s screens, the presenter’s switch, and the server side that calls the AI.

React19
The interface, built from the components on this site.

TypeScript5
Types from the screen to the database, so a field of the label is named the same everywhere.

Tailwind CSS4
Styles written from the design tokens; no raw values allowed.

TanStack Query5
Loads the walkthrough’s state and follows it in place: a step that turns interpreted, an answer that lands.

React Hook Form7
The Setup form and the clarification note: entry, validation, the error next to the field.

Zod4
The rules every form and every AI answer is checked against: a mandatory field without its value or unit fails here.

Lucide
The icon set.

Node.js22
Runs the server side.

Next.js route handlers16
The demo’s API — setup, upload, interpretation, review, queries, export; every rule is checked here, whatever the screen allows.

PostgreSQL
The walkthrough’s state — the example, the requests, the transactions, the review outcomes, the answers — kept through a reload until a new setup or a start-over.

Drizzle ORM
Typed access to the database, and its migrations.

S3-compatible storage · MinIO
The suppliers’ response documents, each kept with its supplier’s response and never served to a customer screen; MinIO on a developer’s machine.

Claude
Generates the prepared example, reads each response document into the label and answers the queries with citations; it proposes, the product checks.
Background jobs kept in PostgreSQL: a running interpretation or generation goes on through a reload and lands where it would have.
Writes the Excel file of the export; CSV and JSON are written by the server itself.

Docker
One image of the application, the same on a laptop and on the host.
One installation with a managed PostgreSQL and S3 storage; no hosting or data-location requirement, so the provider and the region are chosen when the work is cut.

GitHub Actions
Runs every check on every change before it is merged.

Vitest
Unit and integration tests: the label’s checks, the roll-up, the citations.

Playwright
End-to-end tests in a real browser: the whole walkthrough, from setup to export.

ESLint9
Code rules, including one that refuses a raw design value.

Prettier3
One code style for everyone.
The marks are their owners’ trademarks, shown to name each technology; the files come from Simple Icons and the projects’ own sites and are kept in this folder.