Cantonese meeting intelligence · 2025 — present
V-Note Suite
Cantonese-first meeting intelligence — on-prem or in the cloud.
- 3
- Distribution channels
- 2
- Editions — on-prem + cloud
- 2m+
- On-going sales pipeline
01About
What it does
V-Note listens to a meeting, works out who said what, and turns it into structured minutes — built Cantonese-first for a market most transcription tools ignore.
Two editions
Two editions, one idea. V-Note runs entirely inside a regulated customer's firewall — models included. V-Note Live is the cloud sibling: a bot joins your Google Meet, Teams, or Zoom call and has the summary ready when you hang up.
Real traction
Real traction: paying enterprise and government customers through Alibaba, HKT, and the Civil Service Bureau.



02How it works
01
Meeting
Cloud bot joins — or on-prem capture
02
Cantonese ASR
Live captions + accurate final pass
03
Diarization
Who said what
04
Template minutes
Overview · actions · outline
Ask your meetings — RAG chat with citations
03My role
I was the product-and-economics PM across both editions — roadmap, pricing, and the case for one repeatable product — with hands-on UX polish on top.
The PM half
- Owned the modularisation roadmap: bespoke deployments → standardized Agent-as-a-Service
- Rebuilt pricing bottom-up from cost per meeting, benchmarked against Otter, Fireflies, Granola
- Designed the Platform Admin tier that turns customers into resellers with their own tenants
- Ran government pre-sales as the assigned PM
The UX/UI half
- Direcltye executed UXUI & Frontend Linear tickets — motion animations, Tailwind UI consistency, ShadcnUI
- Built the cloud edition's design-token system; migrated ~97 files off hardcoded hex
- Redesigned login/signup with an animated, reduced-motion-aware hero
04Use case
A regulated team's Monday meeting
- 01
The bot joins the Teams call — or on-prem, the meeting is captured behind the firewall.
- 02
Cantonese-first ASR transcribes live; diarization labels who said what.
- 03
A template turns the transcript into minutes: overview, action items, outline.
- 04
Later, ask-your-meetings chat answers "what did we decide about pricing?" — with citations.
05Challenges & solutions
Zoom's anti-bot defenses blocked the browser-based bot outright — the same approach that worked cleanly for Meet and Teams.
Diagnosed it as a dead end specific to Zoom, and pivoted to capturing audio through Zoom's native media stream instead of fighting the anti-bot layer.
Diarization was over-segmenting badly — a single meeting could surface a hundred-plus phantom speakers.
Replaced clustering with embedding-based speaker resolution, collapsing phantom speakers back down to the real count.
Cantonese ASR mis-hears jargon and homophones in ways fine-tuning won't fully fix — 依家傍晚 can come back as 「而」家「埃」「慢」. Fixing every slip via retraining has an open-ended cost.
Reframed accuracy as a three-tier, cost-ranked pipeline: a code-level glossary, an LLM pass for ambiguous cases, and a user-managed glossary for anything new. Each tier engages only where the cheaper one falls short.

Spoken
依家傍晚
Often transcribed as
「而」家「埃」「慢」
06UX / UI
On-prem polish
The on-prem edition needed the thousand small refinements that separate a tool from a product — I owned that polish batch.
A design system
The cloud edition needed a design system: one brand color drives every gradient and accent at runtime, so a tenant's color re-skins the whole app with no rebuild.
Down to the emails
Even the emails were re-themed — working around clients that can't read CSS variables.
Change the hex once — button, badge, progress bar, and card accent all follow.
07System decisions
- On-prem means on-prem, all the way down — the AI models run inside the firewall. That's why regulated buyers can say yes.
- Two editions, deliberately not one codebase — the trust and deployment needs are too different.
- Cantonese-first as the moat, not an afterthought.
- Meter what actually costs money: bot-minutes and AI credits, not flat seats.
08Workflow tools
Linear — System of record — roadmap to milestones to issues.
Notion — Product backlog, prospect analysis, government meeting notes.
Claude Code — The pricing studio, the token refactor, and spec work.
PostHog — Product analytics, session recording, and usage tracking.
Datadog — Per-meeting cost measurement feeding the pricing model.
Stripe — Subscriptions and tiered billing for the cloud edition.
CLI toolbelt (AWS CLI · GWS CLI) — Cloud infra checks and workspace admin without leaving the terminal.
AI infographic HTMLs — One-page pricing and architecture explainers, generated as HTML for stakeholders.
09Data
Sensitivity stance
All meeting content is treated as high-sensitivity. On-prem it never leaves the tenant; in the cloud it is never used to train models — unconditionally.
Data sources
- Live meeting audio — from the browser (on-prem) or a call-joining bot (cloud)
- Uploads across 14+ audio/video formats, plus pasted legacy transcripts
- Opt-in speaker voice-prints, stored as non-reversible embeddings
- Read-only calendars (Google, Outlook) to auto-dispatch the bot


Where V-Note fits
Otter, Fireflies, and Granola are strong for English-only cloud teams. V-Note exists for what they under-serve: Cantonese accuracy, and buyers who can't let audio leave the building.
10AI
- Cantonese-first ASR: SenseVoice for live captions, Qwen3-ASR for accurate final text.
- Diarization via speaker embeddings (NVIDIA NeMo TitaNet) — real-time and batch.
- Template-driven LLM minutes with a guard against hallucinated content.
- A three-tier glossary: built-in fixes → LLM pass → user glossary with admin approval.
- RAG chat across meetings, with citations and a reranker.
- The LLM is swappable — cloud Gemini under no-training terms, or fully self-hosted vLLM.