Build status

What is built and what is not

Every capability this website mentions, marked built, partly built or not built. Where something is partly built, the row says which part. This page is the authoritative one: if any other page on this site implies more than this, this page is right.

RoadmapWhat it can and cannot tell you

Current as of version 4.0. The first live release found six real faults. A contrast audit found nine more, an alignment pass found 120 places where figures did not line up, building the breaking point found that every what-if this software had ever run was being answered at the wrong value, and a performance pass found a decorative picture putting thirteen hundred elements on a single page. Building the knowledge engine found the supplier share of costs overstated. All of it is fixed and listed in the changelog. It has not yet carried heavy traffic, and the section at the bottom says exactly what that means.

revenueprofitcashcustomersmarginchurngross margincontract lockcompetitor reactioncost per headswitching cost21%35%38%22%24%28%how far each figure moves when one assumption is pushed to the edge of its band

Built

Works today, end to end

Each row here is code that runs and can be exercised from the interface.

CapabilityStateWhat that means in practice
Extraction rulesBuiltRules read tables by their column headings and prose by the shapes numbers take in business writing, sentence by sentence, including figures written as words ("sixty two percent"), the share of revenue under contract and on time delivery. Supplier lead times are weighted by spend. Every fact carries its source, chunk, the sentence it came from and method. Runs every time, with no language model involved.
Knowledge graphBuiltFacts merged on normalised names with aliases kept, nodes for customers, suppliers, competitors, departments, products, salespeople and partners, with sizes and edges and importance as a share of the node type. Drawn as a globe that turns, searchable, filterable by kind, and every node opens to what it touches, what the record says about it and the files that name it.
Fifteen agent classesBuiltCustomers, competitors, suppliers, salespeople, executives, employees, investors, regulators, partners, lenders, distributors, the labour market, carriers, landlords and analysts. Twelve are generated for every twin with objectives, constraints, visibility, personality, relationships and history. Lenders, landlords and carriers appear only when the record supports them, because inventing a rent or a debt would double count a cost the company's own operating figure already contains.
The analysis layerBuiltA complex question read into an intent and its entities, planned into typed investigations, run inside a time budget, reconciled against itself, and written up with a computed confidence, the conflicts between its own findings, and everything it could not determine listed with the reason.
Industry knowledgeBuiltTwenty industries, each with how money moves through a business of that kind, the levers that matter, three or four ways such companies get into trouble with the month each first shows, a seasonality shape, rules of thumb with what breaks them, quartile bands for nineteen figures, and a written statement of where this simulator models that industry badly. All of it stated as this model's own prior rather than as a finding, and all of it editable.
The simulationBuiltMonthly, arithmetic, seeded and reproducible, with Monte Carlo over the bands in your ledger. No network calls, no key required.
Adaptive managementBuiltExecutive agents acting when their own numbers cross a line, gated on authority, personality and a cooldown. Switchable per run.
ScenariosBuiltFifteen templates and twenty four levers, or build your own combination. Each scenario runs against the same twin doing nothing, on the same seeds.
SweepsBuiltOne lever across a range with the whole Monte Carlo behind every point, returning a response curve with a best point.
CompareBuiltUp to six scenarios against one baseline on one set of seeds, in one table.
The briefBuiltAnswer, path, mechanism with the agent that caused it, bad case, tripwires with months and thresholds, and the assumption list with defaults at the top.
SensitivityBuiltEach load bearing assumption moved to its own low and high and re-run, so the ranking is measured rather than asserted.
Ask, the knowledge engineBuiltAny question about the company read against thirty three concepts and every name on the graph, then worked through the ledger, the graph, every line of every file, the industry profile and the runs on record. Returns a headline with every figure marked, the figures that carry it, the steps with their sources, a confidence computed from where the numbers came from, the upload that would firm it up with where it goes, and what to ask next. A decision is answered from the record and handed to Analysis. No key required.
Readiness by questionBuiltEight families of question, each scored by how much of what it stands on is your own record, weighted by leverage, with a grade and the one upload that would raise it most. When the file is already on record but silent on a figure, it asks for a fuller one.
The assumption ledgerBuiltEvery number with origin, band, confidence, source, chunk and quote. Editable and lockable, with band width scaling by origin and defaults widest.
The worked exampleBuiltHarborline Components, invented, with its files, its twin and the scenarios already set up on it.
The networkBuiltA graph neural network trained on your own twin: twenty nine inputs per node, two rounds of message passing, twelve hidden units, and three heads for risk, impact and structure. Labels come from running the engine with and without every node it can remove, so it is trained on your own simulator rather than on anybody else's data. Checked by four fold cross validation against guessing the average, trained with Adam, seeded so training twice gives the same weights, and drawn thinking, layer by layer, from its real weights.
Explanation chainsBuiltEvery assumption, metric, agent property and network score has a Why chain that ends at a quoted line in one of your files or at a plain statement that an industry default is being used. Network scores add integrated gradient attribution over the inputs and neighbour ablation over the relationships.
Readiness and file reportsBuiltEvery upload returns what it recognised, what it ignored and why, the facts produced and the assumptions settled. Readiness is scored overall and per area of the company, and the blockers table ranks the documents you have not sent by how much each would move an answer.
Plan gatingBuiltFive plans, including a free tier, with limits on twins, files, runs, sweeps, replications, horizon and seats plus feature flags for the network, exports, the API and language model use. Resolved from the subscription or set by hand, enforced on every request, metered per calendar month.
Your dataBuiltDownload everything gives one file with every twin you own, and each uploaded file downloads as it was given. An account closes in thirty days with a way back, or at once, and accounts past their date are deleted on the background tick.
HardeningBuiltSecurity headers on every page, nothing in the page source that names the software underneath, remote publishing switched off, no public list of accounts, private pages kept out of search engines, mail sent in the product's own name, and a security.txt that says where to report a fault.
Settings and themesBuiltForty three options in four groups, saved against the account rather than the browser and applied the instant they are changed. Twenty six generated themes plus one built from two colours of your own, twenty five accents or any hex colour, eleven typefaces, and a text size everything scales from. Line height, letter spacing, density, corners, card style, six wallpapers, chart weight and palette, sidebar side and width, motion and speed, contrast, number, currency, date and time formats, and the working defaults.
Command paletteBuiltControl K, or Command K. Every screen, twin, scenario and setting in one list that narrows on letters in order. Built fresh each time it opens from what the account can do.
Interaction analysisBuiltA question naming two or more decisions is run four ways: neither, each alone, and both together. The gap between doing both and adding the two effects up is reported as the interaction, with a verdict of amplify, fight or independent, and a note when doing both is worse than doing the better one alone.
Answers that rememberBuiltEvery analysis is checked against the stored analyses on the same twin. Same decision and opposite direction is reported as a disagreement, with the date of the earlier answer, rather than the new answer quietly replacing it.
The breaking pointBuiltEvery analysis bisects each number it depends on between its current value and three times its own band, and reports the value at which the recommendation reverses, or states that nothing tested could overturn it. It also names the numbers that have no bearing on the question at all, which on a typical question is most of the ledger.
Two lever sweepsBuiltA grid over two levers, one square per combination, shaded from the worst to the best with the best square ringed and the square you are on now marked. The reading beside it compares the best square against the best each lever can do alone added together, so the grid says whether they amplify each other, fight, or can be decided one at a time. The form prices the grid as you type it, because steps times steps times replications is the arithmetic people get wrong.
TimingBuiltThe same decision started in month one, a quarter into the window, halfway and three quarters, each against the same company doing nothing on the same seeds. What comes back is the price of a month of delay, or the statement that waiting costs under five percent of the decision and the timing is not what this rests on.
The bad case, taken apartBuiltNot the width of the band. What is inside the worst tenth: the lowest cash on the path and which month it falls in, the share of runs that ended out of money, the month the band is widest, and which severe events show up in the bad runs and not the rest. Where no single event drove them it says so, because ordinary bad luck accumulating is a different situation from a named risk.
The record of changesBuiltEvery change to a twin, most recent first, with the name of whoever made it. A number changed by hand shows what it was before. This was written to the database from version one and nothing read it until now, which was a strange omission for a product whose argument is that you can check its working.
What a screen costs to drawBuiltNodes built, markup bytes, first paint, layout shift and longest script block, measured on all 80 pages of this site and every tab of the application, against budgets set close to where the product already sits. The first run found the heaviest thing on this website and it was decoration.
AlignmentBuiltA row of figures, cards or plans is one grid rather than a row of independent columns, so a heading that wraps moves every body in the row together. Measured on every page and every screen at two widths, with a tolerance of a pixel and a half.
ContrastBuiltMeasured rather than intended. Every text pair in the application in all twenty six themes and with a drawer open, and every page of this site at two widths in both themes, read back from the browser and failing the build under the standard.
Showing its workingBuiltEvery analysis carries a coverage score weighted by how far each number can move the answer, a six layer lineage from files to conclusion drawn as a picture, a reasoning trace with a method sentence and the inputs per step, and the sources with lines quoted. Confidence moves with coverage, and no answer standing on a default is ever one hundred percent covered.
The upload guideBuiltA card for each of the thirteen kinds of file: where it goes, formats, columns, what it looks for, an example, the usual file names and what it unlocks. Readiness comes with a path in order, with the points each file would add, and a matrix of kinds against the five areas.
Network explanationsBuiltAttribution to inputs by integrated gradients, to neighbours by removal, plus the propagation path through both rounds of message passing drawn layer by layer, and the training label for the node with the rule that produced it.
The decision registerBuiltDecisions recorded from an analysis or a run with the band the model gave and the assumptions they stood on. Five statuses, signatures with roles, a snapshot frozen at approval, outcomes with a verdict, a calibration score across every closed decision, and a board pack assembled from the register.
Monitoring and driftBuiltThe baseline pinned at the first month with actuals over eight figures. Months pasted, dropped, typed or posted with a key. A card per metric with the band, the months as dots, a state, and the ledger row most likely behind any drift with the value the actuals imply, applied in one click.
Stress testsBuiltFourteen shocks against the twin doing nothing on the same seeds, scored on the profit hit, the cash floor and the share of runs out of money. One resilience figure with a history, a grade per shock, the weakest point drawn, every shock openable as a scenario.
Roles, snapshots and the recordBuiltOwner, reviewer, analyst and viewer checked on every twin route. Snapshots by hand and at every approval, with a diff between any two. The record of changes read back on one screen with the people and the snapshots.
One currency for the bookBuiltA base currency per account and a rate per other currency, kept with the house view. Every row with a rate is converted and marked; a row without one is summed unconverted and named in the sentence at the top.
Upload receiptsBuiltAt every rebuild each file is handed a receipt: the ledger numbers that cite it, the ones that changed in that rebuild, and readiness before and after. Shown in the record beside the file.
Evidence bundle and deck exportBuiltAn analysis as one JSON file with every citation and a plain reading; a deck as one self contained HTML page with print rules, one slide per sheet.
Compound questions and the case againstBuiltA question with more than one question in it is split on the joins people use, each part answered in its own time box with the decisions the others named, then the whole. One investigation per analysis reads every fact on file for the load bearing numbers and names the ones more than fifteen percent off, with the file. Earlier answers to the same decision are listed with how much of the ledger has moved since.
Across seeds, and what to upload to tighten itBuiltA single decision is run three more times on three sets of seeds at forty replications and the three figures are drawn on one axis with a verdict: firm, fair, loose or chance. The sign changing between seeds costs the confidence ten points. Under the coverage figure, the defaults the answer leans on are grouped by the one file that would replace them, with the coverage it would reach.
Present mode and the vitalsBuiltAny analysis or run as a deck: question, answer with confidence, numbers with bands, parts, what it stands on, the case against, sources, next. Four vitals on the overview from a twelve month glance at the model, drawn as sparklines with their bands.
The portfolioBuiltEvery twin a person owns or holds a seat on in one book. Totals summed from the ledgers, burn and runway from a twelve month glance at the model, the share of the book each company is, and monitor states and resilience grades across the book. An attention list ranked by the weighted sum of every reason. A house view of the world kept per account and applied to any ledger with a snapshot first, and one question put to every company with a sentence on whether they agree.
AlertsBuiltEight rules with thresholds per twin: drift, a decision past review, a short runway from the model, resilience below the line, an outcome outside the band, a proposal waiting, readiness below the line, nothing uploaded. Raised once by fingerprint, closed by the sweep when the condition clears, acknowledged, snoozed or resolved by hand. Email on a new alert, a daily or weekly digest, and the alert.raised event on hooks.
Four eyesBuiltProposals to change a ledger number, with the reason required, the old value and band kept, the twelve month impact computed before anybody signs, self approval refused, a snapshot before every approval, and a switch that turns an analyst's direct edit into a proposal. Every analysis carries the track record from the register and the monitor, and widens a drifting metric's band.
Keys and hooksBuiltFeed keys, hashed at rest and shown once, that let a machine post a file or a month of actuals. Hooks on thirteen events, signed with HMAC SHA-256, every delivery logged, paused after ten failures.
What would it takeBuiltName a target, such as a margin, a profit, cash at the end, revenue or customers, and every lever that moves it is walked across its range on the same seeds as the year you are on. The smallest move that reaches the target comes first, with how often the year makes it, what else it changes and the ledger numbers it rests on. When no single lever gets there, the three strongest are moved together. Asking a goal in Ask takes you straight there.
Two step sign inBuiltA code from any authenticator app, set up by scanning a picture on the account screen, with ten single use recovery codes shown once and kept only as hashes. The secret is sealed with the site keys. The operator can require it for everybody, and can sign out anybody who has been idle for a set number of minutes. The account screen lists every place the account is signed in and ends the others with one button.
Working togetherBuiltA seat sends the person an email. Somebody with no account yet gets a link that fills in their address, and the seat is theirs the moment they make the account or sign in. Decisions, analyses, runs and every row of the ledger each carry a discussion; naming somebody on the twin with an @ sends them a note, and nobody else hears about it.
NotificationsBuiltA bell in the top bar with a count: mentions and replies, alerts raised, proposals waiting and decided, decisions approved or rejected, watched scenarios that changed, connections that failed and seats given. Each opens the thing it is about. Only people who can open the twin hear about it, never the person who did it, and each list keeps ninety days.
Watched scenariosBuiltAny saved scenario can be watched, to run again when new actuals arrive or once a week. The new run is laid against the last one, and a change of sign, a move of a fifth or more, or ten more points of cash risk goes on the record, into notifications and out on the scenario.changed hook.
A script policy on every pageBuiltEvery page tells the browser which scripts it may run, with a fresh one time value on each request, so a script slipped into a page by anybody else is refused. No other site can frame a page of this one.
Spreadsheet exportsBuiltThe ledger, a run month by month, the decision register and the record of changes each download as a CSV that opens in any spreadsheet. A cell that could run as a formula is made safe first.
This websiteBuiltEvery page held as structured content alongside the software rather than as editable posts, so it re-renders from source and cannot drift. Every section has an id made from its own heading, so any part of any page can be linked to directly.

Partly built

Works, with a condition attached

These are the rows that get oversold by other products. The condition is stated first.

CapabilityStateThe condition
Reading PDFsPartly builtA PDF with a text layer is read by decompressing its content streams and pulling the text operators out. A PDF that is a scan has no text to find, so the source is marked as needing text and you are told plainly, with a suggestion to paste the numbers or upload the spreadsheet behind it. There is no optical character recognition in the product. Heavily formatted PDFs can also come out with the reading order scrambled, so check the parse preview.
Reading Excel and Word filesPartly builtBoth are read by unzipping the file, which most hosting supports and some does not; where it cannot, those files read as empty and say so. Excel reads the first six sheets, takes stored values rather than formulas, and handles merged cells and pivot layouts badly.
Language model extraction of prosePartly builtIt exists, it works, and it is optional. It only runs if a key is configured, only over chunks the rules produced nothing from, and is capped per pass. Everything it returns is marked as an estimate with a wider band. With no key, extraction is rules only, which is the intended floor rather than a broken state.
Brief rewriting and prose answers in AskPartly builtSame condition. With a key, the brief can be rewritten into flowing prose and Ask answers in paragraphs. Without one, the brief keeps every section in structured form and Ask shows the worked answer itself: the headline, the figures, the steps and the sources.
Connections to other systemsPartly builtStripe, HubSpot, QuickBooks, Xero and a spreadsheet link are pulled once a day, or on the button, into monthly actuals and fresh files. They read monthly totals and customer lists, not every transaction, and QuickBooks and Xero need the operator to register an app with each first. Anything else, such as NetSuite or Salesforce, still posts with a feed key or is uploaded.
Company sign inPartly builtOpenID Connect only, which Okta, Microsoft Entra ID, Google Workspace, OneLogin, JumpCloud and Auth0 all speak. The domain is proved with a DNS record first. Provisioning over SCIM covers people rather than groups, and the role comes from the connection or from a roles value the provider sends. Boardroom and Enterprise.
Other languagesPartly builtFiles and questions in Spanish, French, German, Portuguese and Italian are read, with their own words for the figures, their months, and numbers written as 1.250.000,50. The answer comes back in the language of the question only when a language model is configured; without one it is in English with a line saying so.
Learning from outcomesPartly builtClosed decisions move the confidence of the next answer through the track record, and a metric the monitor has seen drifting gets its band widened by the drift seen. The industry priors themselves are fixed values in the source, and nothing about your company trains anything outside your own server.
Machine tokensPartly builtA feed key is a token scoped to one twin that can post files and actuals and nothing else. A provisioning token lets a company's identity provider add, change and remove people on one account and cannot open a twin. Reading a twin over the API still means a signed in user session.
Group twinsPartly builtThe portfolio holds every twin in one book, in one currency, with an attention list, one house view applied across them and one question put to all of them. There is no shared overhead, transfer pricing or cross entity effect between the twins.

Not built

Does not exist, and is not partly there

If one of these is what you need, this is not the product for you today. Some are on the roadmap, some are on the part of the roadmap headed probably not.

CapabilityStateWhat there is instead
Workflow and process simulationNot builtThe engine models a company at the level of demand, capacity, cost and cash. It does not model queues, handoffs or process steps, and that is a different kind of simulation rather than a missing feature.
Per employee modellingNot builtEmployees are modelled as capacity and cost, by department. There is no named individual with their own attrition risk.
Mobile appsNot builtThe interface is responsive and readable on a phone. There is no native application for any platform.
Optical character recognitionNot builtScanned documents are refused with an explanation rather than guessed at.
Sign in over SAMLNot builtCompany sign in speaks OpenID Connect. Where a provider only offers SAML, people sign in with an email, a password of ten characters or more and, where it is turned on, a code from an authenticator app.
Screens in other languagesNot builtThe application and this site are written in English. Files and questions in five other languages are read, as the table above says.
Any certificationNot builtNo SOC 2, no ISO 27001, no penetration test. The security page says what would change that and in what order.

The honest part

Live, and not yet under heavy traffic

Everything above has been built, tested on every release and run live. It has not yet carried heavy traffic or a large number of customers at once. That is a meaningful difference and it would be wrong to leave it implied.

Two things in particular are still unproven, in the specific way that only real use resolves.

  • Every hosting configuration. The database tables are created on the first run and checked on every start. It works on the hosting it runs on today. Whether it behaves identically on every other host is the kind of thing a private deployment finds out on day one, so we set those up with you.
  • The payment path. Plans resolve from the subscription through a configured map, and the operator screen checks every link in that chain and refuses to pretend a half working checkout is working. Nobody has yet completed a real purchase with a real card and then refunded it, which is the only test that counts.

Security and privacy

14Filesstatements, lists,contracts588Factsquoted, neversummarised41Graphaccounts, suppliers,rivals73Agentseach one decides foritself400Runshundreds of them,seeded1Briefand what it assumedevery step can be opened, edited and run againthe line is as thick as the thing it carries

This page is kept current, and the refund policy is tied to it: if the product does not do what this website says it does, say so within thirty days of paying and you get your money back. That is only a meaningful promise because this page exists and is specific.

The engine works with no key and no internet

Upload one file, run one scenario, and judge the parts marked built. The rest of this site is only worth anything if that part holds up.

Build a twinRoadmap