What is it?
SE Singha Paathai helps Solution Engineers debrief after customer calls without the manual write-up. Paste a Zoom recording link and the system reads what was actually said on the call, then returns three things:
- Call summary — a structured recap of who was on the call, what was discussed, and what was decided
- Next steps — prioritized actions, a follow-up email draft, and CRM-ready notes
- Quality Coach — an evidence-based scorecard on how the SE ran the demo
It is designed to support every SE with a consistent debrief — not to replace the SE or manager judgment.
How post-call analysis works
No file uploads in the default flow — just paste your Zoom cloud recording link.
-
1
Sign in to the SE portal.
-
2
Open “New analysis” and paste the Zoom recording URL from your “recording is ready” email. Add the passcode if it is not in the link — or paste both in one line.
-
3
Click “Analyze call.” The system fetches the audio transcript from Zoom’s share link.
-
4
Wait ~10–25 seconds. The UI shows progress and prevents double-submit.
-
5
Review results — summary, next steps, and Quality Coach. Copy the follow-up email or print the page.
-
6
History and dashboard update — the analysis is saved under your account and feeds your quality metrics.
Call summary
Headline, customer context, attendees, key topics, pain points, objections, competitive mentions, decisions, and open questions.
Next steps
SE and AE action items, customer commitments, a suggested follow-up email, and paste-ready CRM notes.
Quality Coach
Coaching feedback modeled on how an SE manager would QA a recorded demo — honest and evidence-based, not flattering.
- Overall score — 0–10 gauge with a label (Excellent, Strong, Good, Developing, Needs focus)
- Radar chart — visual profile across all six dimensions
- Expandable scorecard — each dimension shows score, written feedback, and transcript evidence
- Strengths, improvements, and missed opportunities — actionable coaching takeaways
Six coaching dimensions
Each dimension is scored 1–5. The AI cites transcript evidence — it does not invent moments that did not happen.
| Dimension | What it measures |
|---|---|
| Discovery | Did you uncover real pain before jumping into the demo? |
| Demo alignment | Did you show capabilities tied to what the customer said they need? |
| Objections | When concerns came up, did you acknowledge and respond with specifics? |
| Value articulation | Did you connect Freshworks to business outcomes — not just list features? |
| Next-step clarity | Did the call end with clear owners, dates, and commitments? |
| Talk balance | Was speaking time reasonably balanced between SE and customer? |
Scoring explained
Per dimension (1–5)
| Score | Label | Meaning |
|---|---|---|
| 5 | Exceptional | Best-in-class execution with clear transcript proof |
| 4 | Solid | Meets SE expectations; only minor gaps |
| 3 | Acceptable | Basic execution with noticeable weaknesses — typical for an average call |
| 2 | Needs improvement | Significant misses or weak handling |
| 1 | Missed | Dimension largely absent or handled poorly |
Overall score (out of 10)
Computed automatically from the six dimension scores. The AI does not assign the overall number directly — this keeps scoring consistent.
| Overall | Label |
|---|---|
| 9.0+ | Excellent |
| 7.0 – 8.9 | Strong |
| 5.5 – 6.9 | Good |
| 4.0 – 5.4 | Developing |
| Below 4.0 | Needs focus |
Scoring is intentionally strict for the MVP. A typical average call should land around 3–3.5 per dimension (~6–7 overall). A score of 5 on any dimension requires specific transcript evidence of excellence.
How the code works
Paste docs/CODE_LOGIC.md to your AI coding assistant before starting a task on this repo.
What Lionpath is
| Flow | When | Output |
|---|---|---|
| Pre-call prep | Before discovery — company + email | Research brief one-pager |
| Post-call analysis | After Zoom recording | Summary, next steps, Quality Coach |
The pieces, in plain English
| Plain name | File | What it does |
|---|---|---|
| The page shell | web/index.html | HTML layout: login, sidebar, forms, results |
| The page logic | web/app.js | Login gate, navigation, prep form + render |
| The post-call UI | web/postcall.js | Post-call form, result display, copy/print |
| The dashboards | web/dashboard.js | SE stats and manager team rollup |
| The doorman | web/auth.js | Demo login or Firebase SSO |
| The memory (browser) | web/history.js | Browser cache + server sync on login |
| The messenger | worker/src/index.ts | API routes, CORS, auth, history endpoints |
| The researcher | worker/src/prep.ts | Prep prompt + Gemini → research JSON |
| The debriefer | worker/src/postcall.ts | Transcript → Gemini → analysis JSON |
| The rulebook | schema.ts / postcall-schema.ts | Defines every JSON field the AI must return |
| The trimmer | worker/src/word-limits.ts | Word caps + shape normalization |
| The scorer | worker/src/quality-score.ts | Overall Quality Coach score from six dimensions |
How it works, start to finish
Browser (web/) → Worker API (worker/) → Gemini (structured JSON)
↓
History storage (KV or file)
Server setup: docs/VPS_DEPLOY.md
The page logic (app.js) → POST /api/generate-prep → the researcher (prep.ts) → the trimmer (word-limits.ts) → renderPrep. ~15–45s.
The post-call UI (postcall.js) → POST /api/analyze-call → the debriefer (postcall.ts) → the scorer (quality-score.ts) → renderPostCall. ~10–25s.
The memory (history.js) saves to localStorage, syncs via /api/history on login. Dashboards read entries.
Form → POST /api/... → Gemini JSON → validate + trim → render one-pager HTML
Tables and bullets only. Prompts set word caps; UI truncates if needed.
The one rule that matters
Schema ↔ render contract. The rulebook (schema.ts / postcall-schema.ts) defines the JSON shape.
The trimmer (word-limits.ts) normalizes it. The page logic (app.js / postcall.js) renders it.
Change a field in all four places together.
What breaks when you change something
| Plain name | You change… | Also update… | Safety |
|---|---|---|---|
| The rulebook (prep) | schema.ts | prep.ts, word-limits.ts, app.js | CHANGE TOGETHER |
| The rulebook (post-call) | postcall-schema.ts | postcall.ts, word-limits.ts, quality-score.ts, postcall.js | CHANGE TOGETHER |
| The trimmer | word-limits.ts | Nothing | SAFE alone |
| The look | styles.css | Nothing | SAFE alone |
| The doorman | auth.js | app.js, dashboard.js, history.js | TEST BOTH LOGINS |
| The researcher / debriefer | prep.ts / postcall.ts | Schema only if JSON shape changes | SAFE / CHANGE TOGETHER |
| The messenger | index.ts routes | app.js, postcall.js, history.js, firebase-config.js | CHANGE TOGETHER |
Where to change things
| Change | File(s) |
|---|---|
| Pre-call AI prompt | worker/src/prep.ts |
| Post-call AI prompt | worker/src/postcall.ts |
| JSON schemas | schema.ts, postcall-schema.ts |
| Word caps | worker/src/word-limits.ts |
| Prep UI + render | web/app.js |
| Post-call UI + render | web/postcall.js |
| Styles / print | web/styles.css |
| API routes / auth | worker/src/index.ts |
| Worker URL | web/firebase-config.js |
Full markdown version: docs/CODE_LOGIC.md in the repo.
Discovery pre-call wireframe
One continuous Account Snapshot table — company header is the first row, not a separate block above. ≤8 words per cell · no invented stats · one printed page.
| Company name | domain | One-line description | Attendee chips (name · role · dot) | | FIT | | Attribute | This company | Industry norm | GAP | | Omnichannel Support | | | | | AI Deflection | | | | | Agent Assist | | | | | ACCOUNT FACTS | | Incumbent | value (colspan) | | Support agents | | | Market | | | Business model | | | Users | | | Uptime need | | | Funding / parent | | | Head office | | | Languages | | | INDUSTRY USE CASES (max 3) | | use case (colspan) | | | | | | DISCOVERY KIT (max 3) | | Ask this | Because | | | | | | | | | | | DEMO PREP (max 3) | | Pain | Capability | Value | | | | | | | | | | | | | | RESOURCES | | [link] [link] [link] (colspan) | Sources (collapsible footer — outside table) REMOVED: Support Maturity block · Signals block · separate card stacks · header above table
Full doc: DISCOVERY_WIREFRAME.md
· Slack copy-paste: docs/SLACK_DISCOVERY_WIREFRAME.txt
Team feedback
- Approve layout, or change section order / rows?
- Sources in footer vs inside table?
- Resource link count OK?
Demo login
For local demos and shared environments — dummy auth, not production SSO.
Team portal: https://portal.benjaminsquare.com
| Role | Password | |
|---|---|---|
| SE | se@freshworks.com |
se123 |
| Manager | manager@freshworks.com |
mgr123 |
Suggested demo path: Log in as SE → New analysis → paste a Zoom recording link → review results → open My dashboard → click a History item to reload a past call.