An organisation that learns from its own work
Organisations improve through experience. Their software rarely does. In CaseFlows, what people run into in real cases becomes a signal with context, and that signal can change the process. The people who do the work get a say in how the work is organised.
Workarounds are a signal, not poor discipline
In almost every organisation, routes grow alongside the official software: a spreadsheet, a quick message, a free-text field that was never meant for it. Usually that is called a lack of process discipline.
We read it differently. It says that reality is richer than the model we made of it beforehand. An experienced planner knows that the consultant who fits on paper doesn't fit this client. A permit officer sees a circumstance nobody planned for. That knowledge shouldn't disappear outside the system.
%%{init: {"theme":"base","themeVariables":{"primaryColor":"#FFFBF3","primaryBorderColor":"#211D18","primaryTextColor":"#211D18","lineColor":"#211D18","secondaryColor":"#FCE3D2","secondaryBorderColor":"#EC6A22","tertiaryColor":"#ffffff","tertiaryBorderColor":"#D9CFBE","clusterBkg":"#F5EFE4","clusterBorder":"#D9CFBE","fontFamily":"Instrument Sans, system-ui, sans-serif","fontSize":"15px"},"flowchart":{"padding":18,"nodeSpacing":40,"rankSpacing":45}}}%%
flowchart LR
M["The process<br/>as designed"] --> W["Real work"]
W --> X1["Spreadsheet"]
W --> X2["Quick message"]
W --> X3["Free-text field"]
X1 & X2 & X3 --> S["Signal: reality is<br/>richer than the model"]
classDef sig fill:#FCE3D2,stroke:#EC6A22,stroke-width:2px
class S sigScroll sideways to see the whole diagram.
Room for judgement, within clear limits
A professional who is responsible for an outcome needs the information and the room to act to carry that responsibility. So we don't start with the next step, but with who is responsible in this case right now. The case role brings that responsibility, the information and the possibilities together.
Some limits are hard: data that stays shielded, an amount above which approval is needed. CaseFlows enforces those. Within them, not every action has to be prescribed. And AI widens what one person can oversee: summarising a file, spotting missing information, drafting a proposal. The human measure isn't in as much manual work as possible, but in judgement at the moments it matters.
%%{init: {"theme":"base","themeVariables":{"primaryColor":"#FFFBF3","primaryBorderColor":"#211D18","primaryTextColor":"#211D18","lineColor":"#211D18","secondaryColor":"#FCE3D2","secondaryBorderColor":"#EC6A22","tertiaryColor":"#ffffff","tertiaryBorderColor":"#D9CFBE","clusterBkg":"#F5EFE4","clusterBorder":"#D9CFBE","fontFamily":"Instrument Sans, system-ui, sans-serif","fontSize":"15px"},"flowchart":{"padding":18,"nodeSpacing":40,"rankSpacing":45}}}%%
flowchart TB
subgraph hard["Hard limits, enforced"]
direction TB
J["Professional judgement"]
AI["AI widens the view<br/>summarise, spot gaps, draft"] --> J
endScroll sideways to see the whole diagram.
A signal with context
Every page has a button to flag what could be better. A report doesn't arrive on its own, but with the place it came from: which case, which role, which phase. "This doesn't work" becomes "the assessor lacks information in this phase that the decision needs".
Every day the code assistant goes through the reports that came in and proposes how to handle each one. The process owner decides on that proposal. What they accept is built and tested on the development environment, and only goes to production once they approve it. Whoever reported it hears every step, including when the proposal is turned down, and then with the reason.
%%{init: {"theme":"base","themeVariables":{"primaryColor":"#FFFBF3","primaryBorderColor":"#211D18","primaryTextColor":"#211D18","lineColor":"#211D18","secondaryColor":"#FCE3D2","secondaryBorderColor":"#EC6A22","tertiaryColor":"#ffffff","tertiaryBorderColor":"#D9CFBE","clusterBkg":"#F5EFE4","clusterBorder":"#D9CFBE","fontFamily":"Instrument Sans, system-ui, sans-serif","fontSize":"15px"},"flowchart":{"padding":18,"nodeSpacing":40,"rankSpacing":45}}}%%
sequenceDiagram
participant E as Employee
participant C as CaseFlows
participant O as Process owner
E->>C: Flags it: case, role, phase
C->>O: Proposal
O->>C: Approves or turns down, with reason
C->>C: Built and tested on development
O->>C: Goes to production
C-->>E: Hears every stepScroll sideways to see the whole diagram.
Where is the problem, really?
Not every signal calls for the same change. Maybe the execution is off: a field, a screen, a connection. Maybe the process is off: a role lacks information, a phase is missing. Or maybe the intent no longer holds: the outcome the process exists for has changed. Keeping those three apart means changing the right thing, not just the visible one.
And when the same signal keeps coming back from different people, the employee isn't the exception. The process is.
%%{init: {"theme":"base","themeVariables":{"primaryColor":"#FFFBF3","primaryBorderColor":"#211D18","primaryTextColor":"#211D18","lineColor":"#211D18","secondaryColor":"#FCE3D2","secondaryBorderColor":"#EC6A22","tertiaryColor":"#ffffff","tertiaryBorderColor":"#D9CFBE","clusterBkg":"#F5EFE4","clusterBorder":"#D9CFBE","fontFamily":"Instrument Sans, system-ui, sans-serif","fontSize":"15px"},"flowchart":{"padding":18,"nodeSpacing":40,"rankSpacing":45}}}%%
flowchart LR
S["Signal"] --> X["Execution<br/>a field, a screen, a connection"]
S --> P["Process<br/>a role lacks information, a phase is missing"]
S --> I["Intent<br/>the outcome has changed"]Scroll sideways to see the whole diagram.
Partners and suppliers learn along
Collaboration doesn't stop at your own organisation, and neither does learning. A supplier filling a case role sees things from that role the case owner doesn't: information that arrives too late, a step that is done twice.
Because such a partner takes part through a case role, they can flag things in the same way, with the same context. A supplier then becomes not only a contractor, but a source of improvement. What one organisation learns can become a proposal for the agreements the parties share, and those change only when everyone involved agrees.
%%{init: {"theme":"base","themeVariables":{"primaryColor":"#FFFBF3","primaryBorderColor":"#211D18","primaryTextColor":"#211D18","lineColor":"#211D18","secondaryColor":"#FCE3D2","secondaryBorderColor":"#EC6A22","tertiaryColor":"#ffffff","tertiaryBorderColor":"#D9CFBE","clusterBkg":"#F5EFE4","clusterBorder":"#D9CFBE","fontFamily":"Instrument Sans, system-ui, sans-serif","fontSize":"15px"},"flowchart":{"padding":18,"nodeSpacing":40,"rankSpacing":45}}}%%
flowchart TB
subgraph owner["Case owner"]
C["Shared case"]
end
subgraph sup["Supplier"]
R["Case role"]
end
R -- signal with context --> C
C -- proposal --> AG{{"Shared agreements<br/>change only when all agree"}}
R -- agrees --> AGScroll sideways to see the whole diagram.
What runs today, and where we’re heading
Runs today: a feedback button on every page, with the case, role and phase attached; proposals built and tried on the development environment, reaching production only with the process owner’s approval; whoever reported it told every step, including a refusal and its reason; hard limits enforced by the server.
Where we’re heading: recognising the same signal across many reports by itself, instead of a person having to notice it.
Want to see it on your own process?
CaseFlows is in private beta, onboarding our first customers. Start small — one process, one team — next to your existing systems.
Request early access