1 / 68

↓↑ navigate · F fullscreen · click a screenshot to enlarge

TEGO Platform Ltd · BRN C26237531

The console
preview

The live quote funnel as it stands after the 23 September feedback, the travel preview, then a clickable preview of all four portals — built so the founders can decide what to keep, drop and add.

  • Live funnel
  • Travel preview
  • 4 console views
  • 55 screenshots
  • 10 decisions

Founders’ meeting · 8 September 2026 · updated 28 September 2026

02 Orientation

How to read this

Three parts, and five things that are true of them.

Three parts
Slides 5–21 are the live funnel — real code, real rate tables, deployed. Slides 22–25 are the travel preview. Everything from slide 26 is the console preview, which is mock.
Travel is a preview
Working screens with invented prices, on tego.influxe.agency only. tego.mu answers 404 to every travel page, by a switch in the Worker rather than a hidden link.
The console is mock
Mauritian, internally consistent, and checked by the test suite the way a database would check it. Nobody on these screens is a real person, nothing is saved, and every button is safe to press.
It is pinned
The console preview believes today is Sunday 7 September 2026. So “18 days left” and “14d ago” read identically whenever it is opened.
It is beside, not inside
The preview lives at /app. The live /portal and /staff are untouched by it.
It answers one question
“What would this look like” — not “it works”. Everything deliberately shown here that does not exist yet is a question for the meeting.

03 Orientation

The route

Three things, walked in this order: the funnel that is live, the travel preview, then the console preview that is not.

  1. 1 The gate /demo. TEGO is not public. A code opens it for one working day.
  2. 2 Quote Five questions about the car and the driver, then an emailed code.
  3. 3 Compare Five insurers ranked on the same answers, with the saving named.
  4. 4 Get covered Documents, a simulated identity check and card, then the proposal form — as a form or a chat.
  5. 5 Travel Four questions about the trip, five insurers ranked, a call request that sends nothing.
  6. 6 Open /app The four views of the console preview. Start as Admin.
  7. 7 Work the console Queue, a file, clients, insurers, partners, reports, logs, rates.
  8. 8 Switch to Insurer The same console scoped to MUA. Five files, not twelve.
  9. 9 Client, then Partner Policies, claims, renewals, payments — then refer a customer.

04 Orientation

Four people, four views

The front door. Pick a persona; switch at any time from the menu, top right.

  • Admin console — Rahvi Bichon. The operations desk.
  • Insurer view — Devi Naidoo, MUA Underwriting. The same console, one book.
  • Client portal — Priya Ramsamy. What a policyholder gets.
  • Partner showroom — Coastal Motors, Phoenix. The dealer and agent view.
  • The persona is a URL parameter (?as=), not a login. That is the whole of the preview’s “auth”.
tego.influxe.agency/app
Screenshot: tego.influxe.agency/app

05 The live funnel

The door

Everything in this section is live code on live infrastructure, not a mock. It starts behind a gate.

  • tego.mu’s apex serves the coming-soon page, code or no code. The demo is reached deliberately, through /demo.
  • Unlocking sets a signed, HttpOnly cookie for one working day, so it has to be re-entered tomorrow.
  • Files with an extension stay open — otherwise the unlock screen would load with no CSS.
  • tego.influxe.agency is deliberately not gated, because links to it are already in circulation. This deck is on it.

The code changes per meeting. The one that sat readable at tego.mu/worker/gate.js until 8 September has been retired, and the gate can read its code from a Worker secret, so the next rotation needs no code change.

tego.mu/demo
Screenshot: tego.mu/demo

06 The live funnel

Your price in two minutes

The funnel opens on the one question that decides which other questions get asked.

  • “Where is the car today?” — brand new, recon (imported used), or already registered.
  • Above the form, the brick road: twelve bricks from this question to “You are covered”, and one percentage for the whole journey.
  • The rail on the left keeps every answer with an Edit, and any finished step opens again, forward as well as back.
  • Single-choice steps advance on pick. Come back to one already answered and it shows a Continue button instead: tapping the same answer again used to do nothing.
  • “Nothing is sent until the last step”, said on the first screen, on purpose.
tego.mu/quote · step 1 of 12
Screenshot: tego.mu/quote · step 1 of 12

07 The live funnel

Engine sizes, suggested

Name the make and the model, and TEGO offers the engines that model is actually sold with.

  • A Toyota Yaris offers four: 1.0 L · 996 cc, 1.3 L · 1329 cc, 1.5 L · 1496 cc and 1.5 L Hybrid · 1490 cc. One tap fills the engine size and the fuel.
  • A model sold with one engine fills itself in and says so: “Filled from the Aqua spec. Change it if your registration book says otherwise.”
  • 59 makes and 532 models, the Chinese brands now on Mauritian roads included, from makers’ and Mauritian distributors’ spec sheets. A model the list does not know still takes a typed figure.
  • The fuel list gains Hybrid (self-charging) for the Aquas, Priuses and Vezels that are neither plug-in nor mild hybrids. Captured, not priced.
  • Sum insured and engine size stay sliders: drag for the ballpark, type for the exact figure.
tego.mu/quote · step 2 · the car
Screenshot: tego.mu/quote · step 2 · the car

08 The live funnel

Electric cars

An electric car has no engine size, so the question stops asking for one.

  • Pick a BYD Dolphin and Engine size becomes Motor power, in kW, with the three motors it is sold with: 70, 130 and 150 kW.
  • The kW is what the insurer receives and what the printed comparison shows, as “Motor power”.
  • Priced as a 1,500 cc car until the insurers send their electric rules — a placeholder decided on 23 September, one constant in the rating code.
tego.mu/quote · step 2 · an electric car
Screenshot: tego.mu/quote · step 2 · an electric car

09 The live funnel

Cover level

Third Party, TP Fire & Theft, or Comprehensive — the single biggest lever on the price.

  • A sum insured over Rs 600,000 with Third Party selected raises a nudge, not a block.
  • The nudge names the actual risk: Third Party covers damage to others, not your own car.
  • A car on finance never sees this step: the bank requires Comprehensive, and its brick is laid for it, marked “Set by your bank”.
  • The same three levels are re-selectable on the results page, which re-prices without asking anything again.
tego.mu/quote · step 3 · cover
Screenshot: tego.mu/quote · step 3 · cover

10 The live funnel

The main driver

Age, years licensed, claims in the last five years, and whether anyone else drives it.

  • A count people know — “Number of claims in the last 5 years” — in place of a no-claim figure they had to work out. TEGO derives the no-claim years from it.
  • The discount still shows in rupees as the answer changes: “Your claims record saves you about Rs 3,769 a year.”
  • Any claim opens one more question: an accident in the last 3 years, whether the driver was at fault, and when. Only an accident the driver caused changes the price.
  • Additional drivers is yes or no — “how many” was a number people guessed at, and every extra driver loaded the premium on the guess.
tego.mu/quote · step 4 · the driver
Screenshot: tego.mu/quote · step 4 · the driver

11 The live funnel

Where should we keep them?

Reframed from a contact wall into a save step. The prices are promised first, unconditionally.

  • “Your five prices are ready” sits above the form, before a single detail is asked for.
  • Personal or business. A business quote asks for the company name and BRN; a personal one asks the occupation, which the proposal form needs later anyway.
  • Phone is marked optional, in the label, not in the small print.
  • One tick, two lines: data consent under the Data Protection Act 2017, and the Section 81, Insurance Act 2005 acknowledgement that the customer is free to choose their own insurer and no bank, dealer or agent may require otherwise.
  • Step 6 is a six-digit code emailed to that address. While it is sent and checked, the button builds TEGO bricks instead of spinning.
tego.mu/quote · step 5 · your details
Screenshot: tego.mu/quote · step 5 · your details

12 The live funnel

One road, twelve bricks

The whole journey in one strip, from the first question to “You are covered”.

  • Situation, car, cover, driver, details, email code · Compare · documents, identity, payment, proposal, covered: twelve bricks under three labels, one percentage.
  • On a phone it rides under the nav. Tap it and Your answers opens: every finished step, its answer, and an Edit that goes straight back.
  • The brick you are on hovers; a finished one snaps into place. With reduced motion switched on, nothing moves.
  • Where the customer really waits — sending the code, checking it, 3-D Secure — the TEGO brick build plays instead of a spinner. Nothing waits on purpose.
  • It replaces three progress systems that disagreed: a bar out of six, nothing at all on results, and “Step 3 of 3” at checkout.
tego.mu/quote on a phone · Your answers
Screenshot: tego.mu/quote on a phone · Your answers

13 The live funnel

Your prices, ranked

A 2026 Toyota Yaris at Rs 500,000, driver aged 35, five clean years. Five insurers, same answers.

  • MUA Rs 9,244 · Sanlam Allianz Rs 9,957 · Eagle Rs 9,997 · Sicom Rs 10,149 · Swan General Rs 10,349.
  • The yellow band states the number the product exists for: “You could save Rs 1,105 a year.”
  • Fees included on every price. Excess, windscreen, courtesy car, roadside assistance and agreed value line up as rows.
  • Sort by cheapest, lowest excess, or most benefits. Download the whole comparison as a PDF.
  • “Same car, same cover level, five different rate tables.”
  • Best Rs 9,244
  • Dearest Rs 10,349
  • Save Rs 1,105
  • Valid 30 days
tego.mu/results · step 7 of 12
Screenshot: tego.mu/results · step 7 of 12

14 The live funnel

The same answer, as cards

Columns for a comparison on a laptop; cards for the phone the customer is actually holding.

  • Both views render from the same offer objects, so a price cannot differ between them.
  • The view is a display preference, so it gets its own storage key and never rides along in the quote payload.
  • Email me this quote saves it under a reference for 30 days and sends the link.
  • Five columns on a phone is a table nobody reads. That is the whole reason the second view exists.
tego.mu/results → List
Screenshot: tego.mu/results → List

15 The live funnel

Change the cover, and the ranking changes

Same car, same driver, one control moved. This is the clearest argument the product has.

  • On Comprehensive: MUA is first at Rs 9,244, Sicom is fourth at Rs 10,149.
  • On Third Party: Sicom is first at Rs 4,571 and MUA is last at Rs 5,475.
  • The saving band re-computes with it — Rs 904 a year instead of Rs 1,105.
  • No insurer is “the cheapest”. Cheapest is a function of the answers, and that is the entire business.
  • MUA 1st → 5th
  • Sicom 4th → 1st
  • Save Rs 904
tego.mu/results → Third Party
Screenshot: tego.mu/results → Third Party

16 The live funnel

The demo control nobody expects

After the code is accepted, a second screen asks which insurer to present as “Not yet on TEGO” instead of a price.

  • With Eagle held out the page says so out loud: “4 Mauritian insurers on the same answers. Eagle is not connected yet.”
  • The column stays in the table — greyed, badged Not yet on TEGO, no rank, no Choose button.
  • It rides in a readable cookie and in the demo link’s query string, so a phone scanning the QR code in the room inherits the setting.
  • The travel preview honours it too: the insurer in the room sees an empty seat there as well.
  • It was built for exactly one conversation: showing an insurer what their own absence looks like beside four competitors.
tego.mu/demo → “Not yet on TEGO”
Screenshot: tego.mu/demo → “Not yet on TEGO”

17 The live funnel

Get covered

The selection, the price, and everything that happens next, before a card number is asked for.

  • Your selection now wears TEGO purple with the TEGO mark; the insurer’s logo keeps its white plate.
  • MUA · 2026 Toyota Yaris · Comprehensive · Rs 9,244 a year · excess Rs 10,000.
  • Six steps, said up front: documents, identity, card, proposal form, the file to MUA the same day, then the documents in the portal.
  • Policy fee and FSC levy included · quote valid 30 days · payment by card via SBM.
  • The card step is simulated. Fake 3-D Secure, fallback reference, nothing is charged — a decision, not an oversight, until M2 turns this into “Request cover”.
tego.mu/checkout · step 8 of 12
Screenshot: tego.mu/checkout · step 8 of 12

18 The live funnel

Documents, then identity

The papers the insurer needs, then a check that the person paying is the person on them.

  • Six for this car: both sides of the National ID, the driving licence, the horse power card, a proof of address and the no-claims letter from the previous insurer. A clear phone photo is enough.
  • The identity check scans the ID and takes a selfie. It says Simulation, beside “Identity check by Didit”, the provider chosen for the live product.
  • Payment unlocks only when both are done.
  • Nothing is uploaded yet. The files stay in the browser tab until the FSC licence and a data-processing agreement allow sending them.
tego.mu/checkout · documents and identity
Screenshot: tego.mu/checkout · documents and identity

19 The live funnel

The proposal, recap first

“Here is what goes on your MUA proposal form.” Everything TEGO already knows, before a single question.

  • Every value says where it came from — From your quote, Our suggestion, check it, or the document it was read from, as in Read from your National ID (simulation). Each has an Edit except the five answers that priced the policy, which take a correction note.
  • The document values are a simulated read: sample NIC, plate, chassis and licence numbers in the right Mauritian formats, labelled as samples. The live product reads them from the files.
  • One form for four insurers — MUA, SICOM, Swan and now Eagle. All 242 printed questions are mapped; none is dropped.
  • For a personal customer who added every document: 26 answers instead of 66.
  • New: the cover start date, the day after payment unless the customer picks another.
tego.mu/checkout · proposal form
Screenshot: tego.mu/checkout · proposal form

20 The live funnel

Or answer it as a chat

The same remaining questions, one at a time: a Form | Chat switch, Form by default.

  • Scripted from the same schema as the form, in the same order. No AI and no free text to interpret: “predefined questions”, taken literally.
  • Yes/no and options are buttons, text and amounts one field, dates day, month and year. An optional question can be skipped.
  • Grouped questions work the Eagle way: tick what applies, or “None of these”. Silence is never taken as a No.
  • Switch to the form half-way and it opens at the same question; tap an earlier answer to change it.
  • Both views fill the same Proposal brick on the road, answer by answer.
tego.mu/checkout · proposal form · Chat
Screenshot: tego.mu/checkout · proposal form · Chat

21 The live funnel

Covered, at 100%

The last brick goes down when the proposal is signed.

  • “You are covered.” Twelve bricks, 100%, a policy reference and the receipt line.
  • Then three cards: payment received, the cover note from MUA expected today, the certificate and schedule within 24 hours in the portal.
  • The signed proposal sits underneath, summarised: a group reads “None” rather than nine lines of No.
  • Still a simulation end to end: no money moves, and nothing reaches MUA until the FSC licence.
tego.mu/checkout · confirmation
Screenshot: tego.mu/checkout · confirmation

22 Travel preview

Travel insurance, previewed

The second product as a working mockup: “Five insurers price your trip. One form.”

  • Tagged Travel · Preview on every page, with “Illustrative prices for a product preview, not an offer.”
  • Three cover levels compared on six limits: medical expenses, evacuation and repatriation, cancellation, baggage, travel delay and personal liability.
  • A Schengen section: the certificate a visa appointment asks for, and the plans that meet the rules marked Schengen visa-ready.
  • It exists on this demo host only. tego.mu answers 404 to every travel page and file, by a switch in the Worker, not by a hidden link.
  • The prices are invented: one rate file per insurer, each marked “Illustrative mock rates for the demo, not insurer-signed.”
tego.influxe.agency/travel
Screenshot: tego.influxe.agency/travel

23 Travel preview

Four questions, no email code

Trip, dates, travellers, cover. The prices appear as soon as the last one is answered.

  • Single trip or annual multi-trip; seven destination regions, from Schengen Europe to worldwide including the USA and Canada; the purpose of the trip.
  • The dates only offer what the rules accept: departure within a year, a single trip of up to 180 days, both ends counted.
  • Up to eight travellers, an age each. Two adults with children get the family rate; anyone aged 81 or over is priced by phone.
  • Essential, Standard or Premium, plus winter sports and, on Premium only, pre-existing conditions.
  • The same brick road as the car, seven bricks this time: four for the trip, Compare, then your details and the call back.
tego.influxe.agency/travel-quote · step 4 of 7
Screenshot: tego.influxe.agency/travel-quote · step 4 of 7

24 Travel preview

Five insurers, one trip

One traveller aged 35, ten days in Schengen Europe, Standard cover.

  • Swan General Rs 1,380 · MUA Rs 1,450 · Sanlam Allianz Rs 1,520 · Eagle Rs 1,600 · Sicom Rs 1,680.
  • All five are Schengen visa-ready on Standard. Switch to Essential and the cheapest plan, Swan General at Rs 1,035, is not — MUA, at Rs 1,044, is.
  • The level switch re-prices in place, with the six limits of every plan side by side.
  • “You could save Rs 300 on this trip” — the car’s argument, in a smaller number.
  • Best Rs 1,380
  • Dearest Rs 1,680
  • Save Rs 300
  • 5 visa-ready
tego.influxe.agency/travel-results · step 5 of 7
Screenshot: tego.influxe.agency/travel-results · step 5 of 7

25 Travel preview

Choose asks for a call

“Choose” ends on a request for TEGO to call, and the preview says plainly that nothing was sent.

  • Name, email and phone, checked the way the live product would check them, then dropped: not stored, not even in the browser session.
  • “Preview: nothing was sent. In the live product, TEGO calls you back to confirm and Swan General emails your certificate.”
  • tego.influxe.agency is public, which is why that line is not optional.
  • The road ends at 100%: the last brick is the call the live product makes.
tego.influxe.agency/travel-results → Choose
Screenshot: tego.influxe.agency/travel-results → Choose

26 Admin console

The operations desk

Everything ops needs to know before opening anything, on one screen.

  • Four stat cards, each with a delta line underneath.
  • The file queue, filterable and paginated — 12 files, five to a page.
  • Files by status as a donut, files by insurer as bars.
  • A right rail: recent activity, document import, support.
  • One dataset behind all of it, so no two numbers on this screen disagree.
  • 7 open files
  • 7 active policies
  • 18 documents
  • 12 clients
/app/ops/dashboard?as=admin
Screenshot: /app/ops/dashboard?as=admin

27 Admin console

What the four cards actually count

Worth being explicit, because one of these four is the number Reports disagrees with.

7

Open files

Everything not yet issued, declined or withdrawn.

+3 this week

7

Active policies

Cover in force today. Expired cover is excluded.

+12% vs last month

18

Total documents

Nine attached to policies, nine attached to files.

+18% vs last month

12

Active clients

Every client on the book, whether or not they hold cover.

+2 this month

Reports counts policies differently, and gets 8. That disagreement is a decision, not a bug — slide 64.

28 Admin console

The file queue

One row is one client request, from submission to a policy or a refusal.

  • Status pills across the top double as the filter and as the count.
  • Filter by insurer, or search by reference, client or registration number.
  • Reference, client, product, insurer, status, premium, updated, created.
  • The insurer chip is the insurer the file was placed with, not the cheapest quote.
  • Row checkboxes exist. Bulk actions do not yet — that is a build, not a decision.
  • 12 files
  • Rs 6,100 – Rs 38,900
  • 5 insurers
/app/ops/files?as=admin
Screenshot: /app/ops/files?as=admin

29 Admin console

Filtered: documents needed

The one filter ops would live in. Three files are waiting on the client.

  • TEGO-2026-0003 · Aisha Mohamed · Swan General · Rs 14,650 · updated 4 Sept
  • TEGO-2026-0005 · Sandrine Lee · Eagle · Rs 7,400 · updated 5 Sept
  • TEGO-2026-0009 · Melanie Chung · MUA · Rs 12,800 · updated 6 Sept
  • The pill counts narrow with the insurer and search filters, so a pill can never promise rows a click will not produce.
/app/ops/files → Documents needed
Screenshot: /app/ops/files → Documents needed

30 Admin console

Six statuses. Five of them are real.

The database has five today. Documents needed is the preview’s one addition — and question 1.

2

Submitted

In, not yet worked.

3

Documents neededNew

Waiting on the client.

2

With insurer

Placed, awaiting a decision.

3

Policy issued

Cover on the books.

1

Declined

The insurer said no.

1

Withdrawn

The client walked away.

The ops mockup also proposed “Under review” and “Quotation sent”. Neither is built. Decide the real workflow first — statuses are enforced in code, and a status set is expensive to change once files exist.

31 Admin console

One file, end to end

The screen ops lives in. Everything else in the console is navigation to here.

  • Aisha Mohamed · 2020 Suzuki Swift · 7735 QB 22 · Motor Comprehensive · Rs 14,650 · Swan General
  • Timeline: Submitted 28 Aug → Documents needed 4 Sept → With insurer and Policy issued not reached yet.
  • Actions: change status, issue policy, upload a document.
  • Documents: license-aisha-mohamed.jpg, driving licence, 77 KB, uploaded by the client.
  • Every status change is an audit row with an actor and a timestamp.
/app/ops/file?id=TEGO-2026-0003
Screenshot: /app/ops/file?id=TEGO-2026-0003

32 Admin console

Opening a file by hand

Ops has to be able to start a file for someone who phoned, walked in, or came from a dealer.

  • Client, insurer, product, vehicle, registration number, premium.
  • Product is a single option today: Motor. That is question 2 in one dropdown.
  • In the preview it raises a toast. In the live console it writes a files row.
  • The same drawer pattern carries every write in the console — one component, one place to add validation.
/app/ops/files → New file
Screenshot: /app/ops/files → New file

33 Admin console

Clients

Twelve people, and the least data about each of them the console can do its job with.

  • Name, contact, town, member since, and what they hold.
  • The NIC is masked everywhere it appears — R•••••••••••1F — including here.
  • Towns are real: Quatre Bornes, Curepipe, Rose-Hill, Port Louis, Flacq, Grand Baie, Vacoas, Phoenix, Mahébourg, Triolet.
  • What TEGO is allowed to store, for how long, and how it is erased, is question 10.
/app/ops/clients?as=admin
Screenshot: /app/ops/clients?as=admin

34 Admin console

Everything about one person

The answer to “what do we have on Priya?”, without opening four other pages.

  • Two policies: 2023 Toyota Yaris (MUA, Rs 16,147, to 31 Aug 2027) and 2016 Toyota Corolla (Swan, Rs 8,900, expires 25 Sept).
  • One open claim — CLM-2026-0007, assessing.
  • Two saved quotes, the earlier one expiring 10 September.
  • Contact details, town, and member since 14 August 2026.
  • This is the shape the live /staff client page should take once the layout is agreed.
/app/ops/client?id=cli_priya
Screenshot: /app/ops/client?id=cli_priya

35 Admin console

Five insurers

The panel TEGO actually places business with, and what each one is carrying.

  • MUA 5 files · Swan General 2 · Eagle 2 · Sicom 2 · Sanlam Allianz 1
  • Each carries an intake email — where a placed file is genuinely sent.
  • Active policies and premium written, per insurer.
  • “View files” filters the queue to that insurer in one click.
  • The mockup’s European names (Allianz, AXA, Generali, Zurich) were replaced by this panel on 3 September.
/app/ops/insurers?as=admin
Screenshot: /app/ops/insurers?as=admin

36 Admin console

Partners: dealers and agents

Two different businesses in one table, which is why the table has a type column.

  • Coastal Motors — dealer, Phoenix · Capital Auto Traders — dealer, Port Louis
  • Dupont Insurance Brokers — agent, Curepipe · BB Financial Services — agent, Grand Baie
  • Referrals this month, converted, and estimated commission.
  • Whether TEGO signs dealers, agents or both — and whether they get a login — is question 4.
/app/ops/partners?as=admin
Screenshot: /app/ops/partners?as=admin

37 Admin console

Reports

Six months of policies and premium, the funnel, and the book split by insurer.

  • Funnel: 34 quotes → 12 files (35% convert) → 8 policies (67% convert).
  • Premium volume by month: Rs 66,400 in August, Rs 16,147 so far in September.
  • By insurer, MUA is 42% of files and Rs 62,347 of premium.
  • The By insurer table says it plainly: “every policy issued, including cover that has since expired”. That is why it says 8.
  • Which of these numbers Vincent actually looks at weekly is question 8.
/app/ops/reports?as=admin
Screenshot: /app/ops/reports?as=admin

38 Admin console

Users

Five accounts, three roles, and one flag that already does something real.

  • Admins: Rahvi Bichon, Vincent Li. Ops: Anushka Ramgoolam.
  • Insurer users: Devi Naidoo (MUA), Patrick Li Wan Fa (Swan General).
  • Role, insurer scope, active flag, last sign-in.
  • In the live code, setting staff.active = 0 ends that person’s session on their very next request. Shipped in migration 0002.
  • Whether insurers get an account at all is question 5.
/app/ops/users?as=admin
Screenshot: /app/ops/users?as=admin

39 Admin console

Activity logs

Who did what, to which record, and when. Twelve entries in the preview.

  • Submissions, uploads, issued policies, a raised claim, a decline, a payment.
  • Every row carries an actor and a timestamp — never “the system”.
  • In the live code an audit row now carries a meta JSON that holds no PII.
  • And as of 8 September, cover_type can no longer be used to push free text into the audit log.
  • This page is the beginning of the answer to “prove what happened to this file”.
/app/ops/activity?as=admin
Screenshot: /app/ops/activity?as=admin

40 Admin console

Settings

Four tabs. Three of them are placeholders for decisions nobody has taken yet.

  • Company — the workspace, the legal entity, the from-addresses.
  • Notifications — what TEGO sends, to whom, on which event.
  • Rate tables — the next slide, and the most consequential of the four.
  • Security — session policy, and eventually two-factor for staff.
/app/ops/settings?as=admin
Screenshot: /app/ops/settings?as=admin

41 Admin console

Rate tables

Where every price on the whole platform ultimately comes from.

  • One row per insurer, each on v3, published 21 Aug 2026 by Anushka Ramgoolam.
  • Try a quote runs a version. New draft is where the editor will sit (master plan M3).
  • Today the rates are static JSON the browser downloads and prices against. Server-side rating from D1 is the very next plan.
  • Which is also why every price still carries “indicative until confirmed by the insurer”.
  • Who maintains rates and who signs off a version is question 9.
/app/ops/settings → Rate tables
Screenshot: /app/ops/settings → Rate tables

42 Admin console

Switching view

The one control that makes this a demo of four products instead of one.

  • Admin console, Insurer view, Client portal, Partner showroom.
  • The console does not reload into a different app — it re-renders the same shell against a different scope.
  • That is deliberate: it is the argument for the live /portal and /staff adopting this shell.
  • In production the role is resolved from the staff table on every request, and never rides in the cookie.
Persona menu, top right
Screenshot: Persona menu, top right

43 Insurer view

The same console, one book

Devi Naidoo signs in at MUA and sees “here is what TEGO has placed with MUA”.

  • Identical layout, identical components. Only the scope changed.
  • 2 open files, 3 active policies, 9 documents, 5 clients — against the admin’s 7 / 7 / 18 / 12.
  • The sidebar loses Insurers, Partners, Users and Activity logs.
  • Files by insurer collapses to a single bar, which is the correct answer, not a broken chart.
  • The live staff API already scopes exactly this way. The preview is mirroring real behaviour, not inventing it.
  • 2 open files
  • 3 policies
  • 9 documents
  • 5 clients
/app/ops/dashboard?as=insurer
Screenshot: /app/ops/dashboard?as=insurer

44 Insurer view

MUA’s queue and nothing else

Five files: 0001, 0004, 0007, 0009, 0011. The other seven do not exist for Devi.

  • She sees status, premium, vehicle and documents on her own files.
  • She never sees another insurer’s pricing, or that TEGO quoted this client elsewhere.
  • There is no New file button — an insurer does not open files, TEGO places them.
  • Question 5, restated: does Devi log in at all, or does she only ever receive an email at underwriting@mua.example?
/app/ops/files?as=insurer
Screenshot: /app/ops/files?as=insurer

45 Client portal

Priya’s dashboard

The policyholder’s view: what she holds, what is happening, what is coming.

  • 2 active policies · 1 pending claim · 1 renewal in 18 days · 2 saved quotes.
  • Compare offers sits at the top, with the four product tabs across it.
  • Her policies, her recent claims, and an activity rail written in her language, not ops’.
  • Upcoming renewals is a card with a countdown and a Renew now button, not a line in a list.
  • Support is one click from every screen — chat, or the help centre.
/app/client/dashboard
Screenshot: /app/client/dashboard

46 Client portal

Three products that do not exist

Motor prices. Home, Travel and Health render as a “coming soon” panel so the multi-product layout can be judged.

  • “Home insurance is coming to TEGO… Tell us if you want it first”, with a Notify me button.
  • The tabs are real navigation; the panel behind them is honest about being empty.
  • This is the cheapest possible way to ask the question without building three more products.
  • Question 2: Phase 1, Phase 2, or never? It changes the shape of the database, not just the navigation.
/app/client/dashboard → Home insurance
Screenshot: /app/client/dashboard → Home insurance

47 Client portal

Five insurers, one table

The comparison that is TEGO’s reason to exist, for the 2023 Toyota Yaris.

  • MUA Comprehensive Plus — Rs 16,147/year, marked Best value, excess Rs 10,000.
  • Swan Rs 16,890 · Sicom Rs 17,420 · Eagle Rs 18,105 · Sanlam Allianz Rs 18,960.
  • Benefits listed per plan: windscreen, courtesy car, roadside assistance, agreed value, third-party liability.
  • Saved quotes sit underneath with a Resume button and a valid-until date.
  • Prices stay “indicative until confirmed by the insurer” until the rate tables are insurer-signed.
  • Rs 16,147 best
  • Rs 2,813 spread
  • 5 insurers
  • 17% cheaper
/app/client/compare
Screenshot: /app/client/compare

48 Client portal

My policies

What she holds, and what is about to stop being true.

  • 2023 Toyota Yaris · MUA/PC/2026/48117 · Rs 16,147 · active to 31 Aug 2027 (358 days).
  • 2016 Toyota Corolla · SW/MO/2026/30144 · Rs 8,900 · expires 25 Sept 2026 — 18 days.
  • Expired cover stays on the list. It is history, not clutter, and it is what a claim is made against.
  • That “expired cover stays visible” choice is exactly why Reports counts 8 policies and the dashboard counts 7.
/app/client/policies
Screenshot: /app/client/policies

49 Client portal

The Toyota Yaris

One policy, with the three documents that prove it and the claim raised against it.

  • Policy number, cover type, premium Rs 16,147, excess Rs 10,000, start and expiry, insurer.
  • Cover note, certificate and schedule — three PDFs, downloadable.
  • CLM-2026-0007 is shown against this policy, with its current status.
  • In the live portal those downloads are ownership-checked server-side, not merely hidden from the page.
/app/client/policy?id=pol_0001
Screenshot: /app/client/policy?id=pol_0001

50 Client portal

Claims

Raised, assessing, settled — each with its own event trail.

  • CLM-2026-0007 · minor collision, Rose-Hill · incident 29 Aug · assessing.
  • Its trail: lodged by Priya 29 Aug 16:45 → assessor assigned, awaiting garage estimate, 30 Aug 11:00.
  • The mock set also carries a raised claim and a settled windscreen claim, so all three states are visible.
  • The status the client sees and the status ops sees are the same row. There is no second truth.
/app/client/claims
Screenshot: /app/client/claims

51 Client portal

Raising a claim

Policy, incident date, what happened, photos. Then a reference.

  • Short by design: a claim is filed by someone who has just had a bad morning.
  • It ends on a confirmation screen with a reference, and a link into Claims.
  • Nothing is routed anywhere today. The form submits into the preview and stops.
  • Question 6: who at the insurer receives this, in what form, and what is TEGO’s obligation once it is submitted?
/app/client/claim-new
Screenshot: /app/client/claim-new

52 Client portal

Renewals

The Corolla expires 25 September. The page counts down and offers two ways out.

  • 18 days until 25 Sept 2026 · Rs 8,900 a year · SW/MO/2026/30144 · Swan General.
  • Re-compare now runs the full comparison again. Renew with Swan General keeps the incumbent.
  • The page states the promise out loud: “30 days before expiry we re-run the comparison across all five insurers.”
  • Question 7: is that promise real — an automatic re-comparison — or is it a reminder and a button? The page currently claims the former.
/app/client/renewals
Screenshot: /app/client/renewals

53 Client portal

Documents

Everything she uploaded and everything TEGO issued, in one list.

  • Kind, filename, size, date, and who put it there.
  • Cover notes, certificates and schedules on one side; NICs, licences and registrations on the other.
  • One list rather than two, because the client does not think in terms of “file documents” and “policy documents”.
  • Downloads are ownership-checked in the live portal — the R2 object is never addressable by guessing.
/app/client/documents
Screenshot: /app/client/documents

54 Client portal

Payments

Premiums paid and due — a real page, not a placeholder, because the model has to be decided.

  • Rs 25,047 paid this year, two payments settled.
  • Rs 8,900 due 25 Sept 2026 on the Corolla, with a Pay now button.
  • History carries the method: card, bank transfer, or not paid yet.
  • Overdue is its own state and it is coloured like one.
  • Paid Rs 25,047
  • Due Rs 8,900
  • 3 movements
/app/client/payments
Screenshot: /app/client/payments

55 Client portal

The payments question, on one screen

Pay now opens the decision the meeting has to take, phrased as the customer would meet it.

  • Card via TEGO — “Visa, Mastercard. Secured by 3-D Secure.” TEGO holds the money.
  • Pay the insurer directly — “Bank transfer or at a branch. TEGO records the payment.”
  • Continue raises: “Payments open with TEGO’s FSC licence.” Nothing is charged.
  • Question 3: one of these, or both? And the timing is not ours — it is the licence’s.
/app/client/payments → Pay now
Screenshot: /app/client/payments → Pay now

56 Client portal

Profile

The page where the data-protection wording stops being abstract.

  • Name, email, phone, address, town. NIC masked, with a Show toggle.
  • Language preference: English / Français — a stored preference, not a translated preview.
  • Contact consent per channel: email and WhatsApp on, SMS off.
  • “You agreed to TEGO’s privacy notice v1 on 14 Aug 2026”, with Download my data beside it.
  • Migration 0002 added the consent and erasure columns. The wording on them is question 10.
/app/client/profile
Screenshot: /app/client/profile

57 Client portal

Erasure, end to end

The one flow that has to be right before a single real customer signs up.

  • It is a destructive action, so it is styled as one and it asks again.
  • The hard part is not the button. It is what TEGO is obliged to keep after it is pressed.
  • A policy that was in force is a financial record. A quote is not. Those two have different answers.
  • Retention and erasure wording sits with the partner’s counsel. Until it comes back, this drawer is a question.
/app/client/profile → Delete my account
Screenshot: /app/client/profile → Delete my account

58 Partner showroom

Coastal Motors

A showroom’s entire view of TEGO: “your customers’ cover, from showroom to certificate.”

  • 2 referrals this month · 1 converted (50%) · Rs 4,200 estimated commission, paid monthly.
  • Recent referrals with status and, once converted, which insurer took it.
  • “How it works” in three lines: send a quote link, they buy on their phone, you see the status and earn.
  • A named account manager with an address — a dealer relationship is a person, not a portal.
/app/partner/dashboard
Screenshot: /app/partner/dashboard

59 Partner showroom

Refer a customer

Two minutes at the counter, while the customer is still standing there.

  • Customer name, vehicle, contact. Nothing else is asked for.
  • It ends on a confirmation with a reference, and a link into Referrals.
  • The commercial terms behind it — rate, when it is earned, when it is paid — are not modelled.
  • Question 4: do partners get their own login, and do they keep seeing file status after the handover?
/app/partner/refer
Screenshot: /app/partner/refer

60 Partner showroom

Referrals

What the handover turned into. Four states: new, quoted, converted, lost.

  • Vikash Sooben · 2024 Toyota Yaris · converted to MUA · 20 Aug.
  • Leeladevi Callychurn · 2022 Suzuki Swift · quoted, no insurer yet · 28 Aug.
  • How much a partner is allowed to see about a customer after the referral is a privacy decision, not a UI one.

One action cannot be demoed. Resend link only appears on a referral still in new, and Coastal Motors has no such row. The button exists and works — there is simply nothing here to click it on. Not a fault.

/app/partner/referrals
Screenshot: /app/partner/referrals

61 Decide

Everything above was context

Ten decisions.

Each one is already visible on a screen you have just seen. None of them can be answered by more building.

62 Decide

Questions 1–5

  • 1 File statuses Keep documents_needed? Add under_review and quotation_sent? Slide 30
  • 2 Home, Travel, Health Phase 1, Phase 2, or never? It changes the database, not just the tabs. Slide 46
  • 3 Payments Card via TEGO, pay the insurer direct, or both? Timing follows the FSC licence. Slide 55
  • 4 Partners Dealers, agents, or both? Own login? How much status do they keep seeing? Slide 59
  • 5 Insurer users Does an insurer log in to TEGO, or only ever receive an email? Slide 44

63 Decide

Questions 6–10

  • 6 Claims Raised in the portal — then what? Who at the insurer receives it, and how? Slide 51
  • 7 Renewals Automatic re-comparison 30 days out, or a reminder only? The page promises the former. Slide 52
  • 8 Reports Which numbers does Vincent actually look at, weekly? Slide 37
  • 9 Rate tables Who maintains them, and how does a version get signed off? Slide 41
  • 10 Client profile NIC, address, consent, retention and erasure wording. Slides 56–57

64 Decide

And one more: “policies” means two things

Both numbers are correct. Neither is wrong. They are not the same measure, and today they share a name.

7

Active policies

Dashboard · Insurers page

Cover in force on 7 September 2026. Excludes the Toyota Aqua, whose Third Party cover expired 1 August.

8

All policies

Reports · By insurer

Every policy ever issued, including cover that has since expired. Says so in the table’s own subtitle.

The meeting should decide which one is “the” policy count, and what the other one is called on screen. This is a naming decision that becomes a reporting decision the first time someone screenshots a number.

65 Decide

Left out on purpose

Absences in the preview that are decisions, not gaps.

Sign-in

The preview has none. The live portal’s OTP and server-resolved roles are untouched by it.

Saving

Nothing persists. Every write raises a toast, so the demo cannot be walked into a broken state.

French

The EN/FR overlay is live on the public funnel. It is not applied to /app, where only the preference control is shown.

The checkout

The simulated card flow is unchanged and out of scope. It stays until M2 replaces it.

The marketing site

tego.mu’s public pages are not part of this. Different audience, different decisions.

Bulk actions

The queue has checkboxes and no bulk operations. Build, not decision.

66 Decide

What is already real behind it

The preview is mock. The foundation shipped underneath it on 8 September is not.

295

Tests passing

Zero dependencies, node:sqlite-backed, every migration applied in order.

0002

Migration applied

Additive only, on both databases. Insurers, quotes, counters, audit meta, consent and erasure columns.

Security headers

HSTS, nosniff, Referrer-Policy, X-Frame-Options, Permissions-Policy on every response. CSP in report-only.

Fails closed

The OTP secret now refuses to fall back to a default on a production host, exactly as the session secret already did.

Sessions can be ended

A session epoch is mixed into the cookie signature, and staff.active = 0 ends access on the next request.

Source is not served

Worker source and the SQL migrations returned 200 to anyone who asked. They now return 404.

67 Decide

Next, once the ten are answered

The plan that is written and not started. Roughly in this order.

Server-side rating

A real /api/rate reading D1 rate tables, and the deletion of the public /data/insurers/*.json the browser prices against today.

Quotes into D1

Out of KV, into the quotes table that already exists, with unguessable references and an ownership check on reads.

CI and staging

GitHub Actions on every push, and a staging environment that is not the demo.

Backups and alerting

Nightly D1 export to a private bucket, and an error-rate alert that reaches a person.

PUBLIC_MODE

One switch that decides what an unauthenticated visitor is allowed to reach.

M2: Request cover

The simulated checkout becomes a real request that writes the first genuine files row.

Ten answers,
then we build.

The console preview is at tego.influxe.agency/app. Mock data, no sign-in, nothing is saved — open it and press everything.

TEGO Platform Ltd · BRN C26237531 · 8 September 2026