Dashboard

Prototype · demo data
Companies
8
6 active · 2 pending
Total users
742
of 1,000 licensed
Tokens consumed this month
2.4 M
across all companies
Alerts
2
companies past 90% consumption

Token consumption — top companies

This month · tokens are the single billing unit for all AI services

CompanyConsumedMonthly pool
Kee Wah Bakery612,000640,000
96% — alert sent
K. Wah Group418,000800,000
52%
Luk Fook Jewellery377,500500,000
75%

Recent activity

From the audit log — every carrier action is recorded

WhenWhoAction
11-Aug 14:20ops.chanAdded ad-hoc tokens: Kee Wah Bakery +100,000
11-Aug 11:02ops.wongEnabled service "AICC" for Nan Fung Group
10-Aug 17:44ops.chanOnboarded company "Nan Fung Group" (pending)
10-Aug 09:15systemMonthly pools reset for 6 active companies

Companies 8

A company is created as Pending and becomes Active once it has a Company Admin

CompanyStatusUsersEnabled servicesContractsTokens remaining
Kee Wah BakeryActive128 / 150AI Summary AICC Insights228,000
K. Wah GroupActive342 / 400AICC1382,000
Luk Fook JewelleryActive201 / 250AICC AI Summary1122,500
Nan Fung GroupPending0 / 100AICC1

Onboard a new company — 2 steps

Only Company Name is mandatory; everything else can be completed later. Bulk CSV onboarding is all-or-nothing.

1
Company profile
Name (required) · code · user limit · enabled services · SIP numbers · ingestion folder
2
First Company Admin
Name + email · invitation sent · company turns Active when the admin activates
i Programmatic provisioning. After onboarding, a Provision button appears for the company. Clicking it makes the Carrier Portal backend create the client's app stack on the target VM (same machine or another, over SSH) — no manual deployment. See the Capacity page for where each stack runs.

Kee Wah Bakery Active

Everything about one company in one place — 7 tabs, per the Stage 1 specification

ServiceStatusNote
AI Summary (phone + meeting)EnabledDelivery by email; portal access included
AICC (AI Call Center)Enabled2 SIP numbers attached
Insights (User Portal / 360)EnabledDashboards + AI analysis

Access control is by enabled services only — the old "subscription" concept is retired. What a company has not bought, its users never see.

Token rates — platform-wide iEditing a rate affects every company at once, and the change applies immediately. Insights analysis jobs are assumed to cost a flat token amount per job (e.g. 10 tokens) — HKT to confirm.

Tokens are the single unit of consumption; money never appears inside the platform — HKT invoices outside

ServiceMeterRateBilling step
AI Summary — phone callper minute100 tokens/min5 min
AI Summary — Teams meetingper minute120 tokens/min15 min
AI Voicebot — call centerper minute0.5 tokens/min1 min
Insights — AI analysis jobper job10 tokens/job (assumed flat — HKT to confirm)

Per-company usage report

Drill into one company's ledger — every charge shows which pool paid; refunds flip the row in place · export CSV

EventCompanyServiceDurationBilledTokensPoolStatus
E-99120Kee WahAI Summary (phone)4:125 min500MonthlyCommitted
E-99119Kee WahInsights (analysis)423 records12,450Monthly → Ad-hocCommitted
E-99114Luk FookAI Voicebot2:053 min1.5MonthlyRefunded
! This page is our proposal, beyond the agreed Stage 1 scope. The reference specification tracks consumption in tokens only, with no GPU or server screens. We need one place where sales commitments meet hardware reality — treat this page as the conversation starter.
GPU pool
3× L40
Server 1 (Notetaker 8B) · Server 3 ×2 (Voicebot 30B)
Live voice capacity
~10 calls
5 per voicebot instance (measured)
App stacks on Server 2
4
one per client company
Planned
4× L20
AliCloud reservation, pending

Per-company deployment

GPU is one shared pool; the app layer is one stack per client company

CompanyApp stackSIP numbersIngestion folderGPU dependency
Kee Wah BakeryRunning Server 22OK 214 filesShared pool (30B + ASR)
K. Wah GroupRunning Server 21n/aShared pool (30B + ASR)
Nan Fung GroupNot provisioned0n/a

The Carrier Portal is HKT's control room for the AI platform. HKT staff use it to sign up client companies, switch services on and off for each of them, watch how many tokens (prepaid AI credits) each company burns, and get alerted before a company runs dry. Client companies never see this portal — they have their own.

How it works — three pictures

1. Bringing a new client company onto the platform

From signed deal to working service — provisioning is one button, done by the portal itself.

sequenceDiagram
    participant H as HKT staff
    participant CP as Carrier Portal
    participant A as Company admin
    participant S as Servers
    H->>CP: onboard company, enable services, set token pools
    CP->>A: invitation email
    A->>CP: activates account - company turns Active
    H->>CP: press "Provision"
    CP->>S: create the company's app stack (over SSH)
    S-->>CP: stack running - service live
          

2. One login for everything

Users sign in once; the Carrier Portal is the identity home for all AI apps.

sequenceDiagram
    participant U as User
    participant App as Any AI app
    participant CP as Carrier Portal (sign-in)
    U->>App: open the app
    App->>CP: send user to central sign-in
    U->>CP: email + password (once)
    CP-->>App: signed-in pass
    App-->>U: access granted - only services the company enabled
          

3. Where tokens go (the billing loop)

Tokens are the only meter. Money stays outside the platform.

sequenceDiagram
    participant U as Company user
    participant S as AI service
    participant T as Token pools
    participant H as HKT staff
    U->>S: uses AI (call, summary, analysis)
    S->>T: charge tokens (Monthly pool first, then Ad-hoc)
    T-->>H: alert at 30/50/70/90/100% consumed
    H->>T: top up Ad-hoc after invoice paid
          

What HKT staff do here

1Sign up a new client company10 minutes
  1. Press Onboard a new company. Step 1: company name (the only required field) plus whatever else you know — user limit, services, phone numbers.
  2. Step 2: name and email of their first admin. They get an invitation; the company shows as Pending until that admin activates.
  3. Press Provision — the portal creates the company's app stack on the servers by itself (no manual deployment).
  4. Many companies at once? Upload one CSV — it either fully succeeds or fully fails, never half.

A deal signed in the morning can be a live tenant by lunch.

2Switch services on or off for a company1 minute
  1. Open the company → Services tab.
  2. Toggle what they've bought: AI Summary, AI Voicebot, Insights. What's off, their users never see.

Access control equals the price list — no separate permission paperwork.

3Keep token money under controlongoing
  1. Each company has two pots: a Monthly pool (refills every month, from their contracts) and an Ad-hoc pool (bought extra, never expires). Spending drains Monthly first.
  2. The Dashboard flags companies past their alert thresholds; alerts also go out automatically.
  3. When a company pays for a top-up, open TokensAdd ad-hoc tokens. Every top-up lands in the audit log with who did it.
  4. Usage & Cost shows the ledger: every charge, which pool paid, and refunds.

Nobody gets a surprise bill, and every token is traceable to a person and a timestamp.

4Check platform capacity before selling morebefore each new deal
  1. Open Capacity: how many live calls the GPU pool can carry, which companies have app stacks running, what hardware is planned.
  2. If a new deal needs more live-call capacity than the pool has, this is where you find out — before promising it.

Sales promises and hardware reality meet on one page. (This page is our proposal — not yet in the agreed scope.)

What we need from HKT

  1. Confirm the Insights pricing assumption. We assume a flat token cost per AI analysis job (for example, 10 tokens). If pricing should instead depend on the amount of data analysed, please define that rule.
  2. Fill in the access matrix. We will demo this portal's roles; HKT provides the grant matrix — for each role, which functions it can view and which it can edit. Without it, we build with our proposed defaults.
  3. Confirm the provisioning targets. Programmatic provisioning needs the list of target VMs and SSH access to them — please confirm which machines the portal may deploy to.
  4. Confirm the Capacity page. It is our addition beyond the agreed scope — tell us if HKT wants it in phase 1, later, or not at all.