Not a live product

Three people, three shells

A business owner, an accountant and a claims handler used to share one strip of six links, so no screen could say whose screen it was. Each of them now has their own, and this is where you pick which one to be.

What signing in means here

Everything on this page is reachable signed out and belongs to nobody: four fictional businesses, and the choice of which person to look as living in the address bar. That is what the three cards below describe, and it is still exactly how the demo works. There are also accounts now, and three things change when a business is on one. Its register is kept against it rather than in a link. A ledger read against it leaves behind what it proved: the run rates, and the register lines it found, carrying the date they were true. And it can connect FreeAgent, which is the one accounting integration that exists, so the books can be read again without anybody choosing a file. A bank export is still read in the request that carried it and thrown away, which is the promise that does not move and which a connection did not change, and the only rows of one that outlive the request are the ones that bought something you own. What a connection does keep, and nothing else here ever has, is a credential: a FreeAgent refresh token, encrypted, which you delete here and revoke at FreeAgent.

Choosing a person and a subject is what signing in means here, and both live in the address. Send somebody a link and they arrive as the same person, looking at the same company, with the same register edits. Coming back to this page is signing out.

Open one without a company and it redirects to the default rather than picking one quietly. An implicit subject is how the old navigation changed company without anyone clicking on a company.

Navigation is built per request, not from a constant, so the company and the edits ride on every item in the strip. A list that is the same on every request cannot do that, which is why splitting the shells needed more than swapping an array.

The shells

One sentence per screen, naming the person and the one thing they came to do. These sentences are the registry the navigation is built from, so a screen cannot exist here and be missing from the product, or the other way round.

Signed in

3 screens

One person, and the businesses on their account. The only shell whose subject is not chosen from a URL: it is whoever the session says you are.

ScreenWho it is for, and what they came to doRebuilt by
Home
/app
The account holder, seeing everything on their account and whether any of it needs them today. P1
Sign in
/login
Someone who already has an account, getting back to their own businesses. P1
Create an account
/signup
Someone who has seen the demo and wants the engine pointed at their own business. P1

Business owner

6 screens

One business, looking at itself. Everything here is about the company named in the bar, and every link keeps it.

ScreenWho it is for, and what they came to doRebuilt by
Audit
/audit
The business owner, finding out what their own books say they need and what it would cost. WS3
Register
/register
The business owner, keeping the list of what they own straight, because a claim is paid against it. WS4
Needs a company in the URL
Ledger
/connect
The business owner, connecting the books the audit runs on and seeing when they were last read. P5
Needs a company in the URL
Claim
/claim
The business owner, reporting a loss against the register they already keep. WS5
Needs a company in the URL
Your cover
/dashboard
The business owner, seeing where their cover stands today and what moved since anyone last looked. WS7
Needs a company in the URL
Agent
/agent
The business owner, letting an assistant act for this business and deciding what it may do. WS8
Needs a company in the URL

Accountant

2 screens

One practice, looking at its whole client book. A client opened from here stays in the accountant's chrome, because reading a client is not the same job as being one.

ScreenWho it is for, and what they came to doRebuilt by
Client book
/practice
The accountant, working out which client to phone first. WS6
Client
/audit
The accountant, reading one client's findings before making that call. WS3
Needs a practice in the URL

Claims handler

2 screens

A queue of open cases and the one being worked. WS5 built the queue the shell was promised: it holds four, one per seeded business, because four is how many the engine produces.

ScreenWho it is for, and what they came to doRebuilt by
Queue
/claims
The claims handler, deciding which open case to pick up, which is the one they can finish rather than the one worth most. WS5
The case
/handler
The claims handler, deciding a claim that arrived with the facts and the items already attached. WS5
Needs a case in the URL

Nobody in particular

9 screens

The pages that belong to no one person: the way in, the way to change person, and the two surfaces built for whoever is building this.

ScreenWho it is for, and what they came to doRebuilt by
Home
/
Someone who has never heard of Pickle, deciding whether to run an audit. no rebuild planned
Search
/search
Someone who typed a company name and has to say which of the companies with that name is theirs, before anything is audited. no rebuild planned
Views
/map
Anyone, choosing which of the three people to look as. This page is what signing in means here. no rebuild planned
Design
/design
Whoever is building the next screen, deciding what it should be made of. no rebuild planned
Address book
/book
Anyone with a postcode and no permission, seeing which companies file at one address, reading what each of their own accounts filed, being told who may contact each of them and on what footing, and, signed in as a practice, getting the message about one of them to send itself. P8
Needs a postcode in the URL
Run sheet
/run-sheet
The presenter, driving the demo in order with every figure read from the engine. no rebuild planned
Sample product page
/sample-product
The presenter, needing a product page to paste into the register when no real shop will answer. no rebuild planned
Partner embed
/partner-demo
A partner, seeing what the audit looks like dropped into their own page. no rebuild planned
Embedded audit
/embed/audit
The partner's own customer, reading an audit inside a frame that is not ours and says so. no rebuild planned
Needs a company and a partner in the URL

What is deliberately not here

There are accounts, at /signup, and a business that signs in keeps its register, what its ledger proved, and the keys it hands out. What the four shells above deliberately do not have is a login, because they are about fictional businesses that belong to nobody: the URL is the session, and choosing a person and a company is the whole of what signing in means here. That is why a key for one of these is a signed sentence naming the business, good for twelve hours, which nobody can take back: nothing writes it down, and there is nobody it belongs to. A key for a business on an account is the other thing. It is a row that account holds, it says when it was last used, and its owner ends it whenever they like.

None of these three people has enough screens to need one, and building a console frame because consoles have console frames is how the last three deleted layouts got built. The strip fits, so the strip stays.

Prototype. The four businesses and the practice are fictional and their transactions are synthetic. Any link on this page opens the same engine every other surface runs on.