Demo tenant data
Everything the demo tenant holds is invented. This page lists it — every company, person, customer requirement, project and commercial number a client sees during a walkthrough — so anyone presenting the demo, or reviewing it, can read the world without opening the code.
The world is Orrery Software: a fictional mid-market B2B SaaS vendor. Orrery sells its own software to mid-market customers across Northern Europe, and its services organisation handles the implementation, integration, migration, optimisation, training and specialist product work around that software. The demo is designed to feel like a SaaS vendor with a growing installed base, a lean internal services team, and more customer demand than it wants to fulfil entirely with permanent headcount. That is the same customer profile the marketing site addresses, so the demo argues for the pitch rather than against it.
Two rules hold for everything below, and both are enforced in code:
- Fictional only. No real prospect or client name appears anywhere in the demo tenant.
- Fully authored. Nothing is randomised. Every company, person, title, value and score is written down, so a reset reproduces exactly the world described here.
The source of truth is the storyline module — packages/services/src/db/services/demo-data/storyline/saas-vendor.ts, exported as demoStoryline. It is the only storyline; there is no second world to switch to. This page describes what that module produces; the Demo environment guide covers how it is seeded, reset and presented.
Demo terminology
The walkthrough uses one vocabulary throughout, and this page follows it.
| Term | Means |
|---|---|
| Customer requirement | A customer need identified before services work has been accepted. |
| Qualified-out requirement | A requirement rejected before entering delivery. No project is created. |
| Project | A defined unit of services work created from an accepted customer requirement. |
| Bid | An expert’s response to a project that needs delivery capacity. |
| Leading match | The strongest current expert match while a project is still bidding. |
| Preferred expert | The expert selected while the commercial quote is with the customer. |
| Lead expert | The person responsible for leading an assigned project. |
| Quote | The commercial offer made to the customer. |
| Milestone | A controlled delivery checkpoint. |
| Invoice | Billing against project delivery. |
| Revenue | The services revenue generated through completed work. |
The journey reads: Customer requirement → Qualification → Project → Bid → Quote → Delivery → Completion → Revenue.
At a glance
Orrery uses EUR as its tenant reporting currency, and all service values are normalised into EUR regardless of the customer’s local currency.
| What | How many |
|---|---|
| Sign-in seats | 20 |
| Customer companies | 10 |
| Delivery experts | 6 |
| Current records | 25 across all nine journey stages |
| Completed projects | 36 over the last 18 months |
| Product platforms | 4, with 12 product modules |
| Services | 8 |
| Skills | 10 |
| Expert evidence items | 9 |
| Current services pipeline | €794k |
| Completed services revenue, 18 months | €1,012k |
| Licence ARR across the base | €3,100k |
Sales regions covered: Benelux, DACH, Nordics, UK & Ireland. Languages: Danish, Dutch, English, French, German, Swedish.
The scale is deliberate. Individual pieces of work run €22k–€48k, and the completed projects behind them €20k–€39k. That is enough workload to create a real capacity, revenue and customer-success problem without turning Orrery into an enterprise systems integrator.
The people
The demo has 20 sign-in seats — four internal, ten customer contacts, six delivery experts. Every one is a real login, so any of them can be signed in as or viewed as; none of them is a real person.
The Orrery team
| Name | Role | What they do in the demo |
|---|---|---|
| Alex Rendell | Admin | The presenter’s seat. Administers the tenant, runs the demo data controls. |
| Sofia Almeida | CSM | Owns the customer portfolio — health, blockers, renewals. |
| Ben Hartley | SDM | Owns supply — expert coverage, outreach, the bid pool. |
| Orrery Software | Vendor | The vendor account itself — revenue, delivery and satisfaction analytics. |
Customer contacts
One named contact per customer company. Each signs in to their own company’s workspace.
| Name | Company | Country | Language |
|---|---|---|---|
| Anneke Vos (walkthrough seat) | Havenbrook Retail Group | Netherlands | Dutch |
| Elsa Håkansson | Nordstral Energy | Sweden | Swedish |
| Ruth Delaney | Bellweather Insurance | United Kingdom | English |
| Jonas Brandt | Kaltbach Manufacturing | Germany | German |
| Siobhan Kerr | Vireo Health Group | Ireland | English |
| Pieter Claes | Dalmore Logistics | Belgium | Dutch |
| Mads Kjeldsen | Stellan Bank | Denmark | Danish |
| Camille Renard | Aubrec Pharma | Belgium | French |
| Dev Raghunathan | Thornhill Utilities | United Kingdom | English |
| Elaine Merrivale | Merrivale Legal | United Kingdom | English |
Delivery experts
| Name | Position | Languages |
|---|---|---|
| Elin Bergqvist (walkthrough seat) | Implementation lead, Orrery Core | English, Dutch, Swedish |
| Chidi Okafor | Data migration and analytics | English, Dutch, Danish |
| Anders Lindberg | Integration and API engineering | English, Dutch, Swedish, Danish |
| Margot Duval | Security and compliance | English, French |
| Stefan Reinhart | Platform performance | English, German, Swedish |
| Nina Whitlock | Training and change enablement | English, Dutch, Danish |
Language is not decoration: matching treats it as a hard filter, so an expert only ever appears against a customer whose language they speak.
Sign-in addresses
Addresses and credentials are not published here. Every seat follows one convention, jamie.nisbet+<lastname>.<role>@sustentus.com, and the twenty are derived from the storyline rather than kept as a second list. Passwords live as environment variables on the Vercel project. See Login credentials.
Customer companies
Ten fictional Northern-European companies, deliberately mid-market — none of them should feel like a global enterprise transformation account. They spread across sectors, countries, regions and languages so every filter and grouping in the platform has something to show. Sofia Almeida owns the whole portfolio.
| Company | Sector | Country | Region | Language | Contact |
|---|---|---|---|---|---|
| Havenbrook Retail Group | Specialty retail | Netherlands | Benelux | Dutch | Anneke Vos |
| Nordstral Energy | Renewables | Sweden | Nordics | Swedish | Elsa Håkansson |
| Bellweather Insurance | Insurance | United Kingdom | UK & Ireland | English | Ruth Delaney |
| Kaltbach Manufacturing | Industrial manufacturing | Germany | DACH | German | Jonas Brandt |
| Vireo Health Group | Private healthcare | Ireland | UK & Ireland | English | Siobhan Kerr |
| Dalmore Logistics | Freight and logistics | Belgium | Benelux | Dutch | Pieter Claes |
| Stellan Bank | Retail banking | Denmark | Nordics | Danish | Mads Kjeldsen |
| Aubrec Pharma | Pharma CRO | Belgium | Benelux | French | Camille Renard |
| Thornhill Utilities | Water utility | United Kingdom | UK & Ireland | English | Dev Raghunathan |
| Merrivale Legal | Legal services | United Kingdom | UK & Ireland | English | Elaine Merrivale |
Three of them carry a story the walkthrough points at.
Havenbrook Retail Group — the anchor account
An eighteen-store specialty retailer, and the seat a demo is usually presented from. It has the most history of any account: a completed phase 1, a live and blocked phase 2, a supplier onboarding integration in quoting, a store-rollout requirement awaiting qualification, and five more completed projects behind it. It is the account that shows how an established SaaS customer keeps generating paid services demand long after implementation.
Thornhill Utilities — the customer experience risk
A regional utility whose satisfaction responses run 6, 7 and 6 — well below Orrery’s target and below the platform’s low-CSAT cutoff, so it surfaces as a genuine failing-CSAT row rather than one more green line. It shows up naturally in customer health, renewal risk and delivery-quality views, and it also carries one qualified-out requirement.
Merrivale Legal — the contraction risk
A 140-lawyer firm whose completed project values decline as time runs forward — €28k, then €22k, then €21k — and which has closed nothing in four months, so it lands on renewals and revenue-at-risk. Its new €24k matter billing requirement is the realistic opportunity to reverse the decline.
The executive account read
Every account opens on one card at /vendor/customers/[id], in three parts: the licence they hold, the services work in play, and how the account is tracking. Only the first is stored; the rest is computed from the seeded projects, requirements, invoices and satisfaction responses, which is why a reset reproduces it exactly.
Licence — authored. ARR, renewal date and licensed platforms are the one part of the account the platform cannot derive: this tenant’s money is services money, so no invoice or quote in it is licence revenue. The storyline authors all three. ARR is held in thousands and the renewal as an offset in months rather than a calendar date, so a reset next year still opens on renewals ahead instead of a page of lapsed contracts. Licensed platforms, not products — a customer buys the suite, and each account licences the platforms whose modules its projects actually touch.
Services — derived. Services pipeline is every requirement and project on the account that has not been qualified out, valued at its accepted quote where one exists and its budget midpoint where none does. Active projects, new requirements, qualified out and the engagement count are counts over the same leads. The budget the seeder writes brackets each authored value symmetrically, so the midpoint is that value exactly and an account’s pipeline adds up to the figures listed further down this page.
Tracking — derived, and shared with the metrics surface. Account health is metric M5: a 0–100 score from satisfaction (40 points), engagement recency (25), delivery reliability (20) and commercial trend (15), banding Green at 70 and above, Amber 45 to 69, Red below 45. Revenue at risk is metric M10 — the contracted value of in-flight work carrying a risk flag — built tenant-wide and then filtered to this account. Both are read rather than recomputed, so this page and /vendor/metrics can never band the same customer differently on the same day.
Descriptive scale — eighteen stores, a 140-lawyer firm, eleven renewable sites — stays prose, and lives in the requirement text where it belongs.
Licences by account
Ten accounts, €3,100k of ARR between them, each €190k–€450k. The two accounts carrying a risk story renew soonest, which is what makes them urgent rather than merely unhappy.
| Company | ARR | Renews in | Licensed platforms |
|---|---|---|---|
| Havenbrook Retail Group | €420k | 7 months | Orrery Core, Orrery Connect |
| Bellweather Insurance | €400k | 11 months | Orrery Core, Orrery Analytics |
| Stellan Bank | €400k | 12 months | Orrery Core, Orrery Analytics |
| Nordstral Energy | €350k | 9 months | Orrery Field, Orrery Analytics |
| Thornhill Utilities | €320k | 4 months | Orrery Field, Orrery Analytics |
| Vireo Health Group | €300k | 5 months | Orrery Connect, Orrery Field |
| Kaltbach Manufacturing | €280k | 6 months | Orrery Core, Orrery Field |
| Dalmore Logistics | €240k | 8 months | Orrery Core, Orrery Connect |
| Aubrec Pharma | €200k | 10 months | Orrery Core, Orrery Connect |
| Merrivale Legal | €190k | 3 months | Orrery Core, Orrery Connect |
| Total | €3,100k |
Renewal is an offset from the seed run, not a fixed date — storyline.test.ts holds every account inside the coming twelve months and pins Merrivale and Thornhill as the two soonest.
Delivery experts
Six consultants, between them covering every product module, skill and language combination the seeded projects need.
Elin Bergqvist
Implementation lead, Orrery Core
Leads Orrery Core implementations end to end — discovery, configuration, migration and cutover. Twelve years in enterprise software delivery, the last six on Orrery, across retail, logistics and manufacturing rollouts in the Nordics and Benelux.
- Skills: Implementation management, Platform configuration, Change enablement
- Products: Ledger, Billing, Workflow Studio, Scheduler, Mobile Field
- Languages: English, Dutch, Swedish
- Projects: 3 current, 4 completed
- Evidence on file: 2 items (see Expert evidence)
Chidi Okafor
Data migration and analytics
Moves data onto Orrery and makes it answer questions once it is there. Specialises in high-volume migrations from legacy ERP, reconciliation of historical records, and standing up the reporting layer customers actually use in their first quarter.
- Skills: Data engineering, Reporting and analytics
- Products: Data Hub, Insight, Forecast
- Languages: English, Dutch, Danish
- Projects: 3 current, 9 completed
- Evidence on file: 2 items (see Expert evidence)
Anders Lindberg
Integration and API engineering
Builds the connections between Orrery and everything around it — ERP, CRM, warehouse and finance systems. Works API-first, and is usually the person called in when an integration built by somebody else has stopped behaving.
- Skills: API integration, Solution architecture
- Products: Integration Hub, API Gateway, Partner Portal
- Languages: English, Dutch, Swedish, Danish
- Projects: 4 current, 2 completed
- Evidence on file: 1 item (see Expert evidence)
Margot Duval
Security and compliance
Takes Orrery deployments through security and compliance review. Handles access models, audit trails, data residency and the evidence packs regulated customers need before they will sign off on a go-live.
- Skills: Security and compliance, Platform configuration
- Products: Ledger, Partner Portal
- Languages: English, French
- Projects: 2 current, 6 completed
- Evidence on file: 2 items (see Expert evidence)
Stefan Reinhart
Platform performance
Performance and scale. Profiles slow Orrery deployments, tunes the workloads behind them, and sizes environments for customers whose volumes are about to change — usually before the customer has noticed there is a problem.
- Skills: Performance tuning, Solution architecture
- Products: Scheduler, Asset Register, Forecast, Mobile Field
- Languages: English, German, Swedish
- Projects: 3 current, 7 completed
- Evidence on file: 1 item (see Expert evidence)
Nina Whitlock
Training and change enablement
Gets people to actually use what has been implemented. Designs the training, the champion networks and the floor-walking plan for the first weeks after go-live, for audiences from finance teams to field engineers.
- Skills: Technical training, Change enablement
- Products: Mobile Field, Workflow Studio, Scheduler
- Languages: English, Dutch, Danish
- Projects: 2 current, 8 completed
- Evidence on file: 1 item (see Expert evidence)
Service catalogue
Orrery sells services around its own software rather than third-party platforms, which is what makes the demo read as a software vendor selling services around its own product. The hierarchy is four tiers: platform → product → service → skill.
Platforms and product modules
| Platform | Product modules |
|---|---|
| Orrery Core | Ledger, Billing, Workflow Studio |
| Orrery Analytics | Insight, Forecast, Data Hub |
| Orrery Connect | Integration Hub, API Gateway, Partner Portal |
| Orrery Field | Scheduler, Mobile Field, Asset Register |
Services
Core services, attached to every product — Rapid implementation, Team training, Premium support.
Specialist services, rotated across the products — Ongoing optimization, Data migration, Integration build, Custom extension, Compliance review.
Skills
Each skill is linked to the services it delivers, so every product → service path resolves to at least one expert who can do the work.
| Skill | Delivers |
|---|---|
| Implementation management | Rapid implementation, Premium support |
| Change enablement | Team training, Rapid implementation |
| Platform configuration | Rapid implementation, Custom extension |
| API integration | Integration build, Custom extension |
| Data engineering | Data migration, Integration build |
| Performance tuning | Ongoing optimization, Premium support |
| Solution architecture | Custom extension, Integration build |
| Security and compliance | Compliance review, Ongoing optimization |
| Technical training | Team training, Compliance review |
| Reporting and analytics | Ongoing optimization, Data migration |
Services pipeline
Orrery currently holds €794k of services pipeline across twenty-five records: 3 new customer requirements, 20 active or recently completed projects, and 2 qualified-out requirements. The individual pieces of work run €22k–€48k, which is deliberate — they should feel meaningful to a mid-market SaaS vendor without looking like enterprise transformation programmes.
The spread is chosen so every one of the nine journey stages has something in it and every dashboard opens on a populated queue.
| Stage | Records | Value |
|---|---|---|
| Pending customer requirements | 3 | €104k |
| Backlog | 3 | €91k |
| Bidding | 3 | €111k |
| Quoting | 3 | €103k |
| In progress | 4 | €153k |
| Delivered | 3 | €110k |
| Survey | 2 | €74k |
| Completed | 2 | €48k |
| Qualified out | 2 | — |
| Total | 25 | €794k |
Values are in thousands, as the storyline authors them. Seeded quotes carry EUR.
What each stage carries
A record’s stage decides which supporting documents the seed writes with it, so the demo never shows a quote with no bid behind it or an invoice with no milestone.
| Stage | Bids | Quotes | Milestones | Invoices | Also |
|---|---|---|---|---|---|
| Pending | — | — | — | — | Status history |
| Backlog | — | — | — | — | Status history |
| Bidding | 3 (2 submitted, 1 draft) | — | — | — | 4 matched experts |
| Quoting | 3–4 (1 accepted, the rest rejected) | 1–2 | — | — | 4 matched experts |
| In progress | 1 accepted | 1 accepted | 4 (2 done, 1 live, 1 upcoming) | 2–3 | Blockers, customer actions, scope changes, project messages |
| Delivered | 1 accepted | 1 accepted | 4, all done | 4, all paid | Resolved blockers, scope changes, project messages |
| Survey | 1 accepted | 1 accepted | 4, all done | 4, all paid | As delivered, plus the customer’s satisfaction response and an expert rating |
| Completed | 1 accepted | 1 accepted | 4, all done | 4, all paid | As survey |
| Qualified out | — | — | — | — | Status history and the qualify-out reason |
Every record — including the ones that never reach a bid — carries its own authored proposal title and summary, four milestone names, blocker labels, customer actions, scope changes and both sides of the project conversation. The stage decides how much of that becomes a document.
Pending customer requirements — 3 records · €104k
Customer needs identified but not yet qualified. Nothing has gone to the expert pool, so the proposed project and milestones below are authored content rather than records anyone can open.
Rollout to remaining 17 stores
Havenbrook Retail Group · €48k · No expert assigned yet
Customer requirement — Head office and one pilot store are live on Orrery Core. We want the remaining seventeen stores moved onto the platform without disrupting trading.
Requirements — Rollout in controlled groups. Each store needs a rollback plan and an overnight cutover.
Proposed project — Complete the Core rollout across the remaining estate. Seventeen stores in controlled groups, each group proven before the next, with an overnight cutover per store.
Milestones
- Two-store proving wave
- First five stores
- Remaining ten stores
- Estate hand-over
Asset records migration
Nordstral Energy · €32k · No expert assigned yet
Customer requirement — Asset records across our eleven renewable sites sit in legacy exports and spreadsheets. We want them in Asset Register with the history intact.
Requirements — Move the history into Asset Register with an exception report for anything that fails to map.
Proposed project — Asset Register migration and reconciliation. Profile first, map second, load third — with every unmappable record surfaced rather than quietly discarded.
Milestones
- Source profiling
- Mapping
- Trial load
- Production load
Matter billing migration
Merrivale Legal · €24k · No expert assigned yet
Customer requirement — Matter billing still sits in a legacy practice system that no longer fits how the firm works. We want it on Ledger, with the history intact.
Requirements — Move active matters and seven years of billing history into Ledger with appropriate confidentiality controls.
Proposed project — Ledger implementation for matter billing. Billing on Ledger with a migrated history that stands up to a regulatory inspection.
Milestones
- Discovery
- Ledger configuration
- History migration
- Parallel run
Backlog — 3 records · €91k
Qualified and accepted, waiting on requirements sign-off before the pool sees them. As with pending, the proposal below is authored but not yet a record.
Customer shipment portal
Dalmore Logistics · €29k · No expert assigned yet
Customer requirement — Our customers contact depot staff for basic shipment status because they cannot look it up themselves.
Requirements — Provide self-service shipment status through a branded, mobile-friendly portal.
Project — Partner Portal for customer shipment visibility. A branded shipment-status portal built on Partner Portal, designed for a phone in a yard rather than a desk.
Milestones
- Status model
- Portal configuration
- Customer pilot
- Release
Production scheduling rollout
Kaltbach Manufacturing · €27k · No expert assigned yet
Customer requirement — Scheduling across our four production lines is managed through spreadsheets that only two people understand.
Requirements — Prove Scheduler on one line, against the spreadsheet, before extending to the remaining three.
Project — Scheduler implementation across four lines. Prove Scheduler against the incumbent spreadsheet on one line, then extend to the remaining three.
Milestones
- Line analysis
- Configuration
- Parallel scheduling
- Rollout
Regulatory reporting automation
Stellan Bank · €35k · No expert assigned yet
Customer requirement — Our small finance team assembles the quarterly regulatory reporting by hand, and the assembly is where our errors come from.
Requirements — Automate the main submission pack through Insight, with every figure traceable to its source data.
Project — Regulatory reporting automation. Insight generates the submission pack end to end, with lineage from every figure back to its source record.
Milestones
- Measure definitions
- Data lineage
- Report generation
- Dry run
Bidding — 3 records · €111k
Open to the expert pool. Each carries a shortlist of four matched experts and three bids — two submitted, one still in draft, which is what a bid pool mid-flight looks like.
Claims intake automation
Bellweather Insurance · €42k · Leading match: Anders Lindberg
Customer requirement — Our claims teams re-key first-notice information by hand from email and web forms, and it is the slowest part of our claims journey.
Requirements — Automate intake and integrate it with the existing claims platform. Must pass our security review.
Project — Automated first notice of loss. Workflow Studio takes intake from email and web, with a clean exception path for anything it cannot parse.
Milestones
- Intake analysis
- Workflow build
- Claims integration
- Security review
GxP validation pack refresh
Aubrec Pharma · €38k · Leading match: Margot Duval
Customer requirement — We need the Orrery validation pack refreshed for the current software release. Study start-up is being held up by it.
Requirements — Update the controlled documentation and audit evidence without rebuilding the existing operating model.
Project — Current-release GxP validation refresh. A validation package for the release you actually run, written to survive an inspection.
Milestones
- Gap assessment
- Protocol update
- Evidence collection
- Pack hand-over
Mobile Field rollout for 85 engineers
Thornhill Utilities · €31k · Leading match: Elin Bergqvist
Customer requirement — Around eighty-five field engineers still work from printed job sheets for part of their work and re-key everything at the depot.
Requirements — Deploy Mobile Field with offline working, and prove the process with one regional team before going wider.
Project — Mobile Field rollout. Mobile Field on the handsets your engineers already carry, with offline working proven on one regional team before rollout.
Milestones
- Device and coverage review
- Configuration
- 15-user pilot
- Wider rollout
Quoting — 3 records · €103k
A bid has been accepted and the commercial quote is with the customer. The losing bids are on the record as rejected.
Patient scheduling integration
Vireo Health Group · €26k · Preferred expert: Anders Lindberg
Customer requirement — Appointment changes in the clinic scheduling system do not always reach the customer portal quickly enough, so patients arrive for appointments that have moved.
Requirements — One authoritative appointment feed across our fourteen clinics. Changes must reach patients within minutes, not overnight.
Project — Clinic-to-portal scheduling integration. Integration Hub makes the clinic system authoritative and pushes changes to the portal in near real time.
Milestones
- Data model
- Integration build
- Sync testing
- Clinic rollout
What this one demonstrates — a second quote sits in draft, waiting on a decision.
Supplier onboarding integration
Havenbrook Retail Group · €36k · Preferred expert: Anders Lindberg
Customer requirement — Supplier details are entered separately into three internal systems, which is most of why onboarding a supplier takes six weeks.
Requirements — Enter supplier details once and distribute them automatically. Target onboarding under one week, evidenced on real suppliers.
Project — Supplier onboarding integration. Integration Hub becomes the single entry point, fanning supplier details out to the three downstream systems.
Milestones
- Process mapping
- Hub configuration
- Downstream integrations
- Live supplier proving
Payments settlement extension
Stellan Bank · €41k · Preferred expert: Chidi Okafor
Customer requirement — Card settlement files are reconciled by hand every month by our finance operations team, and the errors are expensive.
Requirements — Automate the bulk of reconciliation while preserving a clear adjustment trail back to source.
Project — Settlement reconciliation extension. A custom extension that reconciles partner settlement files daily, with a traceable adjustment trail.
Milestones
- File analysis
- Reconciliation logic
- Adjustment workflow
- Month-end proving
What this one demonstrates — a rejected quote sent the requirement back round to another bid.
In progress — 4 records · €153k
Work under way. Four milestones each — two done, one running, one upcoming — with invoices raised against the completed ones, plus live blockers, customer actions and a project conversation.
Phase 2, stock and replenishment
Havenbrook Retail Group · €47k · Lead expert: Elin Bergqvist
Customer requirement — Finance is already live on Core. Phase 2 moves stock and replenishment, which is where the operational risk sits.
Requirements — Complete the work without disrupting store deliveries. Phased delivery with clear milestones and weekly check-ins.
Project — Phase 2, stock and replenishment. Stock and replenishment onto Core in three controlled steps, each reversible.
Milestones
- Stock data mapping
- Replenishment rules
- Despatch integration
- Go-live
What this one demonstrates — the live milestone is blocked; one invoice is in draft, awaiting finance approval.
Policy reporting data hub
Bellweather Insurance · €39k · Lead expert: Chidi Okafor
Customer requirement — Pricing and reserving both rely on policy data that lives in several systems, and the two teams use different definitions.
Requirements — A small governed reporting layer with agreed measures, signed off by actuarial before build, and a daily refresh.
Project — Policy reporting Data Hub. Data Hub consolidates four policy systems behind one set of actuarially signed-off definitions.
Milestones
- Definition workshops
- Source ingestion
- Measure build
- Daily refresh
What this one demonstrates — one invoice is disputed.
Customs API integration
Dalmore Logistics · €34k · Lead expert: Anders Lindberg
Customer requirement — Growing declaration volumes make manual customs submission through the authority’s portal inefficient.
Requirements — Submit declarations directly through the customs API, with retry and exception handling. Must survive the customs service being down.
Project — Customs API integration. API Gateway submits declarations directly, retries transparently, and queues what it cannot resolve.
Milestones
- API accreditation
- Submission build
- Exception handling
- Production cutover
What this one demonstrates — the project has sat in this stage for 70 days, breaching its SLA band; 2 overdue customer actions; one invoice was rejected.
Telemetry ingestion tuning
Nordstral Energy · €33k · Lead expert: Stefan Reinhart
Customer requirement — Telemetry from several sites drops occasional readings during high-volume periods, so availability figures are disputed internally.
Requirements — Stabilise ingestion — no dropped readings at peak load, demonstrated by test — and backfill the recoverable historic gaps.
Project — Telemetry ingestion tuning. Find where the pipeline sheds load, fix it, and prove it with a repeatable peak-load test.
Milestones
- Load profiling
- Pipeline tuning
- Peak-load testing
- Historic backfill
What this one demonstrates — 1 overdue customer action.
Delivered — 3 records · €110k
Work finished and invoiced in full. The satisfaction survey has not come back yet.
Shop-floor terminal rollout
Kaltbach Manufacturing · €45k · Lead expert: Stefan Reinhart
Customer requirement — Production data from our four lines is still captured on paper and keyed in later, so our live view of the plant is hours old.
Requirements — Fixed terminals on every line, usable with gloves on, making production data available within minutes of being recorded.
Project — Shop-floor terminal rollout. Mobile Field on fixed terminals, designed for gloved hands and a noisy plant.
Milestones
- Terminal siting
- Interface configuration
- Four-line rollout
- Operator training
Access review automation
Aubrec Pharma · €37k · Lead expert: Margot Duval
Customer requirement — Quarterly access reviews take three weeks of our internal operations team’s time and still leave leavers with active accounts.
Requirements — Automate joiner, mover and leaver controls, and generate audit evidence that satisfies our auditors.
Project — Access review automation. Access lifecycle driven from HR events, with review evidence generated rather than assembled.
Milestones
- Role model
- HR integration
- Review automation
- Auditor walkthrough
Billing exception automation
Thornhill Utilities · €28k · Lead expert: Chidi Okafor
Customer requirement — Our small billing team manages recurring exceptions through spreadsheets, and the backlog grows faster than they clear it.
Requirements — Automate the common exception types and reduce the standing backlog as part of delivery.
Project — Billing exception automation. Automate the exception types that make up most of the volume, and reduce the standing backlog on the way through.
Milestones
- Exception taxonomy
- Automation
- Backlog reduction
- Hand-over
Survey — 2 records · €74k
Delivered, and the customer has answered the satisfaction survey.
Clinic scheduling optimisation
Vireo Health Group · €44k · Lead expert: Stefan Reinhart
Customer requirement — Utilisation varies across our fourteen clinics and we do not know why. We want the scheduling rules tuned against real demand.
Requirements — Tune the scheduling rules using actual demand, without increasing patient wait times.
Project — Clinic scheduling optimisation. Analyse actual demand patterns per clinic and tune Scheduler’s rules to match them.
Milestones
- Demand analysis
- Rule tuning
- Four-clinic pilot
- Wider rollout
Satisfaction — 9/10.
Onboarding journey optimisation
Stellan Bank · €30k · Lead expert: Nina Whitlock
Customer requirement — We see material customer drop-off during digital onboarding — a fifth of applicants leave partway through — and we cannot see where.
Requirements — Identify the main abandonment points and improve completion measurably within the quarter.
Project — Customer onboarding optimisation. Instrument the onboarding journey, find where applicants leave, and change the steps that cause it.
Milestones
- Journey instrumentation
- Drop-off analysis
- Step redesign
- Measurement
Satisfaction — 8/10.
Completed — 2 records · €48k
Signed off end to end — delivered, surveyed, expert rated, paid in full.
Phase 1, finance
Havenbrook Retail Group · €26k · Lead expert: Elin Bergqvist
Customer requirement — We wanted finance moved onto Core before expanding use into the operational teams.
Requirements — Finance live with a clean first month-end close. Hand-over session for the internal team.
Project — Phase 1, finance implementation. Finance implemented first, with a clean close as the acceptance test for the whole approach.
Milestones
- Chart of accounts migration
- Ledger configuration
- Parallel close
- Go-live
Satisfaction — 9/10.
E-signature rollout
Merrivale Legal · €22k · Lead expert: Nina Whitlock
Customer requirement — Engagement letters still require too much manual handling — printed, signed and scanned — which loses us work to faster firms.
Requirements — Introduce e-signature with an evidential audit trail our regulator accepts.
Project — E-signature workflow rollout. Workflow Studio handles engagement letters end to end, with an audit trail built for the regulator.
Milestones
- Evidential requirements
- Workflow build
- Two-team pilot
- Firm-wide rollout
Satisfaction — 7/10.
Qualified out — 2 records
Requirements closed without going to the pool, with the reason on the record. Neither became a project, so the proposals below exist only as authored content.
AR work-instruction pilot
Kaltbach Manufacturing · No expert — closed before the pool saw it
Customer requirement — We explored augmented-reality work instructions on one production line.
Requirements — Pilot on one production line, with a view to wider rollout.
Why it was qualified out — No budget in the current financial year.
Proposed project — Augmented-reality work instructions pilot. A single-line pilot to establish whether AR instructions reduce assembly errors enough to justify a rollout.
Milestones
- Line selection
- Content build
- Pilot and measure
Drone inspection trial
Thornhill Utilities · No expert — closed before the pool saw it
Customer requirement — We explored drone inspection for several remote assets, to reduce manual site visits.
Requirements — Trial across three remote asset sites.
Why it was qualified out — Outside Orrery’s current service catalogue.
Proposed project — Remote asset drone inspection trial. A three-site trial to establish whether drone inspection data can replace routine manual inspection visits.
Milestones
- Site selection
- Trial flights
- Data assessment
Completed project history
Thirty-six projects sit behind the current tenant, all delivered and paid during the previous 18 months, dated backwards in 30-day windows — window 1 is the last thirty days. They exist so the analytics have a past: without them every “vs prior period” comparison reads flat and the retention cohorts have nothing to retain. Together they represent €1,012k of completed services revenue, each project €20k–€39k, which keeps the historic services business consistent with the current mid-market project profile.
The last thirty days completed €125k against €116k in the thirty before, so the vendor analytics open on a positive movement. Thirty-two projects have a customer satisfaction response and average 8.2/10; four completed and were paid without one, which is what makes “revenue awaiting CSAT” a real number rather than zero.
| Window | Company | Project | Value | CSAT | Lead expert |
|---|---|---|---|---|---|
| 1 | Havenbrook Retail Group | Store replenishment wave 3 | €34k | 9/10 | Elin Bergqvist |
| 1 | Bellweather Insurance | Claims dashboard rollout | €32k | 8/10 | Chidi Okafor |
| 1 | Dalmore Logistics | Port terminal connector | €31k | 9/10 | Nina Whitlock |
| 1 | Thornhill Utilities | Meter-read exception handling | €28k | 6/10 | Chidi Okafor |
| 2 | Stellan Bank | Roaming settlement reconciliation | €33k | 9/10 | Chidi Okafor |
| 2 | Nordstral Energy | Turbine telemetry ingestion | €31k | 8/10 | Stefan Reinhart |
| 2 | Kaltbach Manufacturing | Line-side data capture | €28k | No response | Stefan Reinhart |
| 2 | Vireo Health Group | Appointment reminder service | €24k | 9/10 | Nina Whitlock |
| 3 | Aubrec Pharma | eTMF integration | €33k | 9/10 | Margot Duval |
| 3 | Havenbrook Retail Group | Cold-chain sensor feed | €27k | 8/10 | Chidi Okafor |
| 3 | Thornhill Utilities | Outage notification service | €25k | 7/10 | Nina Whitlock |
| 4 | Bellweather Insurance | Broker portal single sign-on | €30k | 8/10 | Margot Duval |
| 4 | Merrivale Legal | Client intake automation | €21k | 7/10 | Elin Bergqvist |
| 4 | Dalmore Logistics | Customs declaration validator | €28k | 9/10 | Chidi Okafor |
| 5 | Stellan Bank | Tariff engine rebuild | €39k | 9/10 | Chidi Okafor |
| 5 | Kaltbach Manufacturing | Maintenance data migration | €26k | 8/10 | Stefan Reinhart |
| 6 | Nordstral Energy | Grid-export reporting | €29k | 8/10 | Stefan Reinhart |
| 6 | Vireo Health Group | Referral routing rules | €24k | 9/10 | Nina Whitlock |
| 7 | Havenbrook Retail Group | Demand forecasting rollout | €33k | 9/10 | Chidi Okafor |
| 7 | Aubrec Pharma | Lab result ingestion | €28k | 8/10 | Margot Duval |
| 8 | Thornhill Utilities | Equipment register cleanse | €26k | 6/10 | Chidi Okafor |
| 8 | Merrivale Legal | Document retention automation | €22k | 7/10 | Margot Duval |
| 9 | Dalmore Logistics | Fleet telematics dashboard | €28k | 9/10 | Elin Bergqvist |
| 9 | Bellweather Insurance | Fraud-signal enrichment | €31k | 8/10 | Margot Duval |
| 10 | Stellan Bank | Payment provisioning API | €32k | 9/10 | Anders Lindberg |
| 10 | Kaltbach Manufacturing | Product data syndication | €27k | No response | Stefan Reinhart |
| 11 | Nordstral Energy | Maintenance scheduling | €28k | 8/10 | Stefan Reinhart |
| 11 | Havenbrook Retail Group | Store label printing | €24k | 9/10 | Elin Bergqvist |
| 12 | Vireo Health Group | Consent capture rebuild | €25k | 8/10 | Nina Whitlock |
| 12 | Aubrec Pharma | Audit trail hardening | €30k | 9/10 | Margot Duval |
| 13 | Bellweather Insurance | Legacy claims decommissioning | €29k | 7/10 | Anders Lindberg |
| 14 | Merrivale Legal | Practice reporting rebuild | €28k | 8/10 | Nina Whitlock |
| 15 | Havenbrook Retail Group | Assortment planning migration | €28k | 8/10 | Chidi Okafor |
| 16 | Nordstral Energy | Substation data capture | €24k | No response | Stefan Reinhart |
| 17 | Stellan Bank | Site survey portal | €26k | 9/10 | Nina Whitlock |
| 18 | Dalmore Logistics | Knowledge base rebuild | €20k | No response | Nina Whitlock |
Completed services revenue by window
| Window | Value |
|---|---|
| 1 | €125k |
| 2 | €116k |
| 3 | €85k |
| 4 | €79k |
| 5 | €65k |
| 6 | €53k |
| 7 | €61k |
| 8 | €48k |
| 9 | €59k |
| 10 | €59k |
| 11 | €52k |
| 12 | €55k |
| 13 | €29k |
| 14 | €28k |
| 15 | €28k |
| 16 | €24k |
| 17 | €26k |
| 18 | €20k |
| Total | €1,012k |
Expert evidence
Nine items uploaded by experts against their profiles, deliberately spread across all four verification states so the review queues, the expert’s own knowledge page and the evidence chips on a bid all have something in them.
| Expert | Item | Type | Status | What it is |
|---|---|---|---|---|
| Elin Bergqvist | Orrery Core certified implementation lead | Certification | Approved | Vendor certification covering Core configuration, migration and cutover planning. |
| Elin Bergqvist | Multi-site rollout runbook — anonymised | Work sample | Submitted | Cutover runbook from a comparable multi-site retail rollout, submitted for review. |
| Chidi Okafor | Chidi Okafor — data migration CV | CV | Draft | Draft CV, not yet submitted for verification. |
| Margot Duval | Employment history 2019–2024 | Employment history | Rejected | Employment record covering five years of compliance and security work. Rejected: Dates overlap two employers with no explanation, and the second reference could not be reached. Please resubmit with corrected dates. |
| Chidi Okafor | Orrery Data Hub certified migration specialist | Certification | Approved | Vendor certification covering extraction, reconciliation and cutover for high-volume migrations. |
| Anders Lindberg | Orrery Connect certified integration engineer | Certification | Approved | Vendor certification covering the integration hub, API gateway and partner portal connectors. |
| Margot Duval | ISO 27001 lead implementer | Certification | Approved | Certification covering information security management, access models and audit evidence. |
| Stefan Reinhart | Peak-season capacity review — anonymised | Work sample | Approved | Profiling and sizing report from a comparable deployment ahead of a fourfold volume increase. |
| Nina Whitlock | Go-live enablement plan — anonymised | Work sample | Approved | Training curriculum, champion network and floor-walking schedule for a 900-user rollout. |
Supply outreach
Four outreach dispositions, one per action state, distributed across the coverage cells the seeded requirements produce. They are what the SDM’s coverage and outreach views read.
| State | Experts already contacted |
|---|---|
| Auto outreach | Elin Bergqvist, Chidi Okafor |
| Manual escalation | Margot Duval |
| Monitoring | — |
| Covered | Anders Lindberg, Stefan Reinhart, Nina Whitlock |
Supporting records
Each record drags a supporting cast behind it, and it is all authored per record rather than pulled from a shared pool — so no two projects in the demo show the same blocker, the same customer action or the same conversation. One seed run writes:
| Record | Count | Where it shows |
|---|---|---|
| Leads | 61 | 25 current, 36 completed |
| Expert matches | 24 | The shortlist on every requirement that reached the pool |
| Bids | 67 | Accepted, rejected, submitted and draft |
| Quotes | 52 | Accepted, submitted, draft and rejected |
| Milestones | 188 | Four per project in delivery or beyond |
| Invoices | 183 | Paid, sent, draft, disputed and rejected |
| Blockers | 20 | Open and escalated on live projects, resolved on finished ones |
| Customer actions | 10 | Of which 3 are already overdue and blocking go-live |
| Scope changes | 13 | With their timeline and cost impact |
| Project messages | 195 | Both sides of the customer conversation |
| Satisfaction responses | 36 | Overall score plus seven sub-scores and written feedback |
| Expert ratings | 40 | The vendor’s 1–5 score on finished work |
Blockers, actions and scope changes only exist on projects that reached delivery, which is why the counts are small next to the invoice and message totals.
Records outside this page
The demo tenant also fills the activity feed, the audit trail and every persona’s notifications. Those are working records rather than business content — they describe what happened to the data above, they change as a walkthrough progresses, and they reset with the tenant. They are out of scope for this page; the Demo environment guide covers what the reset does with them.
The shape of the business
Taken together the tenant represents a mid-market SaaS services operation. Paid services projects sit between €20k and €50k, current services demand totals €794k, and historic completed services revenue is roughly €1m across 36 projects. The licence business behind that is €3,100k of ARR, with individual customer relationships between €190k and €450k — authored on the accounts rather than derived, because services money and licence money are different money (see The executive account read). The scale is chosen to create a real capacity, revenue and customer-success problem without turning Orrery into an enterprise systems integrator.
Keeping this page true
The world above is one module, and there is only one. If it changes, this page has to change with it — there is no generation step that keeps them in step.
- The data lives in
packages/services/src/db/services/demo-data/storyline/saas-vendor.ts, exported asdemoStoryline. - There is no second storyline and no way to select one. The seeder and the reset both read that module directly; neither takes a storyline argument.
storyline/storyline.test.tspins the totals published here — the €794k pipeline, the €1,012k completed tail, the value bands, the window figures, the stage spread and each expert’s project counts. A value edited without this page being updated fails there.