How the product is put together, drawn for the customer: the system in its world, its parts, its modules, how data moves, where it runs and one request step by step.
Drawn for the customer: each diagram shows what moves between the parts, named on its arrows. Each part carries the mark of the technology it is built with; a technology without a mark shows its initials.
The system in its world
The product, the people who use it and the systems around it.
STS Exchange is one web application. The presenter plays the customer and each of the three suppliers in turn with an always-visible switch — nobody signs in. The only outside service it relies on is the AI service, Claude; the suppliers’ own systems, the BI or AI tools and any channel to real suppliers stay outside, and the export file is how data leaves.
The product
A party, in its color, or the presenter
A service it relies on, with its mark
Not part of the system
What moves, named on the arrow
No connection
Its parts
The parts the product is made of — the web app, the API, the database, the file store, the background jobs, and Claude outside — each with its technology, and how they talk.
The web app, built with Next.js and React, only shows; the API — Next.js route handlers on Node.js — checks every rule, whatever the screen allows. The walkthrough’s state is kept in PostgreSQL through a reload until a new setup or a start-over, and a running interpretation goes on as a background job. A supplier’s document is kept in the file store and shown on that supplier’s screen only: Claude reads it, the customer never sees it.
The product
A part of the product, with the mark of its technology
No official mark: initials
A service outside, called by the server only
A file that goes out
What passes, named on the arrow
The answer to a call
Never shown there
Modules
The six modules of the product and what each gives the others.
Six modules along the walkthrough: Setup prepares the example, Label and request asks the suppliers, Supplier response takes their documents, Interpretation turns each into an STS transaction, Review settles it, and Queries and export answers from the chain. All six are in the demo — the demo is the whole build. Each arrow says what one module hands to another.
The module’s code
In the demo
Calls the AI service, Claude
What passes, named on the arrow
How data moves
From the setup to the cited answer and the export, with the line the original file never crosses.
Data moves from two setup inputs — the industry and the company names — to an answer that cites its transactions, and out as an export file. The supplier’s document stays on the supplier’s side of the red line: the AI reads it there, and only the labelled values cross. Nothing to the right of the line — the transaction, the review, the chain, the answers, the export — ever shows the original file.
The privacy line
Kept in the database, PostgreSQL
No official mark: initials — S3 for the file store, XL for ExcelJS
The AI service, Claude
Becomes the next
Status back to the supplier
Where it runs
One installation in one region, how a change gets there, and what the demo does not require.
GitHub Actions checks every change and builds one Docker image, the same on a laptop and on the host. It runs as one installation in one region — the provider is chosen when the work is cut — with a managed PostgreSQL and S3-compatible storage, and Claude is called from there. The presenter opens it in a desktop browser, shown on a large screen or by screen share. The demo needs no backups or recovery, sends no email and has no sign-in.
One installation, in one region
A part of the product, with the mark of its technology
No official mark: initials
A service outside, called live
Only on a developer’s machine
Stated plainly: what the demo does not need
One request
A supplier’s upload through the parts, step by step.
Ferrovane Freight answers the request, followed through the parts: the web app, the API, the file store, a background job, Claude and the database. The document never leaves Ferrovane’s side: the customer sees the chain change in place and, in the review, the labelled values only.
A part, over time, with the mark of its technology
No official mark: initials
A step, numbered as in the list
A call from one part to another
The answer to a call
Never shown there
1The presenter, acting as Ferrovane Freight, uploads its document on the request screen; the web app sends it to the API.
2The API keeps the document in the file store with Ferrovane’s response; in the database its status reads submitted.
3The API queues the interpretation as a background job; the customer’s chain step for Ferrovane reads being interpreted.
4The job sends Claude the document, the label’s fields and Ferrovane’s place: parent STS-PR-0001, transportation, Category 4.
5The job hands Claude’s values to the API, which checks every mandatory field, its unit and the method flag of each emission figure.