Torspan — software for the trades that install the work Company
We publish what the software isn't allowed to do.
Every line carries who said it, or the sheet it came from. Where nobody said it, it's blank — and it says so. That rule holds for anything we build, and what follows is the machinery that holds it.
One rule, and it holds for anything we build.
Every line carries who said it, or the sheet it came from. Where nobody said it, it's blank — and it says so.
That is the whole standard. It was written for AirOrchestra and it is not about AirOrchestra — it's a rule about what a record is allowed to contain, and it holds for the next thing we build the same way it holds for this one.
A fact in the record came from a person or from a document. A person, a date and his own words — or a document, a revision and a page.
A gap stays a gap. The day is blank, the app says it's blank, and nothing gets filled in to make a screen look finished.
Two sources that disagree resolve to nothing. It files neither one, names both, and asks.
Nothing about the job is generated. Not a summary that adds a fact, not a plan nobody described, not a name on a form for a man who wasn't there.
It tells you what it hasn't read. That's why you can believe the rest.
You can check that in about a minute.
Three places the rule is already visible. None of them needs us in the room.
A man asks about a detail on a sheet, and the answer is that it hasn't read M-403 — which sheet, when it came in, and then it stops. Watching it refuse tells you more about a record than watching it answer.
The read log puts the unread documents on a job at the top, not the bottom, each with the reason it's still there. There is no filter that hides them.
A week of hours as a spreadsheet, with the sentence the foreman actually said sitting in its own column beside the numbers. It opens in anything and it doesn't ask you for an email address.
We'd rather you checked than believed. That is the difference between a standard and a slogan, and it is the only difference that survives a bad week on a job.
What the machine is not allowed to do.
Everyone in this business will tell you what their software can do. This is the other list. It is shorter to write and much harder to publish, and it is the one that decides whether the record is worth anything in November.
Your jobs, your people, your hours, your photos, your documents, your messages. Each one through a written entry on a list, and nothing that isn't on the list.
Time entries. Photos filed to a job. Pre-task plans. The day's report. Tomorrow's plan. A question for the foreman. A material order. A review item. Each one with its own rules about what has to be in it and who it belongs to.
Decide who you are.
Reach your records on its own.
Write itself a new way in.
Put words in a man's mouth.
Fill a blank with something that sounds right.
Answer off a document it hasn't read.
It files nothing, names both possibilities, and asks. That's a review item, and it sits there until a person settles it. Nobody has to notice a silence.
This is a written contract, in plain words. It's a file, it has a version, and the software cannot step outside it.
It can't put words in a man's mouth.
When it quotes somebody, the quote is cut out of his stored message by the server. The part that writes the sentence never gets to hold the words — it points at where the quote starts and where it stops, and the cutting happens somewhere it can't reach. A quote that isn't in the message can't come out of it.
It can't reach your records on its own.
The part that writes has no way into the database. It asks for what it needs through a written list of the ways it is allowed to read, and it cannot read in a way that isn't on that list. There is a second list for writing, and the same rule.
It can't decide who you are.
Who you are comes from your account, never from the text. It can't read a name in a message and file a man's hours under it. Who said a thing is a fact about the message, not a guess about the sentence.
It can't pick between two answers.
The schedule says one building and the man's words say another. Nothing gets filed. It makes a review item, names both, and asks — and the photo sits unfiled until a person says which one it was.
It can't quietly fill a hole.
Anything written that nobody said is marked as made up, in a column in the database rather than a word buried in the text. So all of it can be found and pulled back out in one pass, by us or by you, months later.
It can't answer off a sheet it hasn't read.
It says which sheet, when it came in, and why it's still unread. Then it stops. That refusal is the load-bearing part of all of this — every other line on this page depends on it holding.
Everything it's read, and everything it hasn't →
None of that makes it right every time. It makes it checkable every time, which is the promise worth making. A wrong line with a source under it gets found and fixed by the man who said it. A right line with nothing under it is a thing you're guessing at.
There is no accuracy percentage anywhere on this site. We haven't measured one, so we don't print one. When you see a figure like that on somebody's page, ask what was counted, who counted it, and against what — and if the page doesn't say, it's decoration.
Why there are two of us, and why the software is this size.
Everybody gets to this question eventually, so here is the plain answer.
A lot of the code is written by machine, under rules we wrote. That is why two people have a system this size and why it's still moving. It is also exactly why the checks on this page matter more here than they would somewhere else: a machine writes fast, it writes confidently, and it never gets tired of being wrong. So nothing it writes reaches a phone without going through something that can refuse it.
About a hundred automated checks run against every change before it can ship. One fails, the change doesn't ship. There's no override and there is nobody to ask for one.
- The rules are files, in the same place as the code. The ones we work to are the ones the machine reads before it writes anything.
- Nothing ships that we don't use ourselves.
- One thing at a time. The list of what AirOrchestra still can't do gets shorter before anything else gets started.
- In continuous development since spring 2026, and everything that changed carries the day it changed.
- There's no overnight desk. If it breaks at eleven at night, it gets looked at in the morning.
- Email gets answered the same day. Not the same hour.
- Nothing is built in parallel. A second product doesn't start before the first one is finished.
That's the trade, in both directions. It buys you a company that keeps one thing good instead of four things half-built, and it costs you the hours between eleven at night and six in the morning.
How a change happens.
Somebody on a job says the thing is wrong, or missing, or slower than doing it by hand. Right now that somebody is one of us, because we're the ones using it. When it's you, the path is the same one.
It gets written down in the words he used, not in a summary of them.
It gets built — most of the lines by machine, under the rules.
The checks run. One fails, it doesn't ship.
It's on the phone, and what changed carries the day it changed.
No ticket portal. No account manager. No quarterly release. Two people, one email address, and a short distance between the man who noticed and the change — which is the one advantage of this size and the reason we don't intend to lose it.
Every site and application you can see from here — this one included — we designed, built, deployed and keep running ourselves.
What this rules out.
No work for hire.
We don't build software for other companies, by the hour or by the job. A tool built for one company stops getting better the day it's handed over — there's nobody left whose product it is. Everything we build, we keep, and that is the only reason it keeps getting fixed.
No second thing before the first one is finished.
That isn't modesty, it's the safety mechanism. The list of what AirOrchestra still can't do is published with a date on it, and that list gets shorter before anything else gets started.
No roadmap.
We publish what shipped and the day it shipped. We don't publish what's coming. A missed date is the only credit a two-person company has, spent.
No number nobody measured.
No accuracy figure. No certification we didn't earn, and no badge for one. No count of photos or jobs or people to make the thing look bigger than it is. If it isn't measured and dated, it doesn't go on the page.
The company's whole list of what it won't take on is on the company page.
See it work.
If you want the list of what we've actually put out, with dates on it, it's here.
If you want to watch the standard do its job, start with what it's read.