AURELIA
Customer Intelligence Platform
Turn customer interactions into actionable intelligence.
Know which accounts are at risk while the signals are still in the conversations, not after the renewal is lost.
- ASR + diarisation
- Typed signal extraction
- Span provenance
- CRM sync
- Trajectory matching
Conversation analysis across calls, email and support that produces evidence-linked signals, opportunity detection and CRM updates nobody has to type.

What the product is built around.
AURELIA reads every interaction and extracts structured signals with the quote that produced them. A risk indicator links to the sentence where the customer said it. CRM fields update from evidence rather than recollection, and the account timeline is built rather than maintained.
Every signal cites its quote
A risk or opportunity links to the exact passage and timestamp. A rep can verify the claim in one click instead of trusting a score.
Structure, not sentiment
Interactions produce typed signals — commitment, objection, competitor mention, expansion intent — rather than a single number that explains nothing.
The CRM updates itself
Fields are populated from extracted evidence with confidence attached, so the record reflects what happened rather than what someone typed.
What makes this hard.
Everything a company knows about a customer is said out loud in a call and then lost. The CRM holds whatever the rep had time to type, which is the stage field and a date. Renewal risk shows up in the conversation weeks before it shows up in the pipeline, and nobody is reading the conversations.
- 01
CRM data is whatever someone remembered to enter after the call
- 02
Churn signals are audible months before they appear in usage data
- 03
Sentiment scores are a single number with no explanation attached
- 04
Commitments made on calls are never tracked to completion
- 05
Account handovers lose all the context that lived in the conversation history
What the system does.
AURELIA reads every interaction and extracts typed signals — risk, commitment, objection, expansion intent — each stored with the exact passage and timestamp that produced it. A rep verifies a claim by playing the quote rather than trusting a score, and CRM fields update from evidence with per-field confidence instead of from recollection.
Every signal links to the span and timestamp that produced it, playable in one click
Typed signals rather than a single sentiment number that explains nothing
Signals dropped if the span does not support them on a second check
Field-level CRM sync with confidence thresholds and protected human overrides
Account trajectories matched against historical outcomes, including what worked
AURELIA, as working interface.
Rendered UI, not a mockup — real tables, charts, filters and states. Try ⌘K for the command palette.
Account health
62 / 100
Conversations (90D)
48
Open signals
9
Expansion potential
$184K
Account intelligence — Northwind Studio
What is happening with this account and what should I do this week?
Retrieval trace
Analysed 48 conversations across 90 days · 6 stakeholders identified
Extracted 31 typed signals · 9 open · 3 high severity
Correlated with usage data · seat utilisation down 22%
Matched pattern against 184 historical accounts · 1 strong analogue
Renewal risk is real and it is about a person, not the product. The champion who ran the original rollout moved to a different team on 2 September, and every conversation since has been with a stakeholder who did not choose you 1.
The new stakeholder has raised cost twice and mentioned a competitor by name once, both in the 18 September call 2. That call is also where seat utilisation came up — and usage data confirms a 22% drop concentrated in one department that stopped onboarding new users 3.
There is a counterweight. The engineering team independently asked about the API tier twice in the last month, which is an expansion signal worth $184K if it is sponsored 4. It currently has no executive sponsor.
Two commitments from your side are still open: a security questionnaire promised on 11 September and an ROI summary promised on 18 September. Neither has been delivered, and the second one is what the cost objection was asking for 5.
Recommended sequence this week: deliver the ROI summary, then use the API interest to open a conversation with an engineering sponsor. The analogous account that recovered did exactly that; the ones that did not recover left the champion gap unfilled for more than 60 days.
Sources
- [1]Stakeholder change · org signalSep 02
- [2]Call transcript · 18 Sep · 00:14:22cost + competitor
- [3]Usage · seat utilisation by dept−22%
- [4]Email thread · API tier enquiry2 mentions
- [5]Commitments · 2 open, both overdueSep 11, Sep 18
Account profile
- Account
- Northwind Studio
- ARR
- $248,000
- Renewal
- in 74 days
- Health
- 62 / 100 · declining
- Champion
- Departed Sep 02
- Stakeholders
- 6 · 2 engaged
- Seat utilisation
- 68% · was 90%
- Open commitments
- 2 overdue
- Expansion signal
- $184K · unsponsored
Extracted signals
| Signal | Type | Source | Stakeholder | Confidence | Detected | Severity | Status |
|---|---|---|---|---|---|---|---|
| Champion departed“I've moved to the platform team” | Risk | Call · Sep 02 | D. Aren (former) | 0.98 | Sep 02 | High | Open |
| Cost objection“hard to justify at this spend” | Risk | Call · Sep 18 | M. Voss | 0.94 | Sep 18 | High | Open |
| Competitor mentionedNamed once, unprompted | Risk | Call · Sep 18 | M. Voss | 0.89 | Sep 18 | High | Open |
| API tier interest“what does the API tier include?” | Opportunity | Email · Sep 14 | R. Kestrel (Eng) | 0.71 | Sep 14 | Medium | Open |
| ROI summary promisedCommitted on the 18 Sep call | Commitment | Call · Sep 18 | Us | 0.96 | Sep 18 | High | Overdue |
| Security questionnaireCommitted on the 11 Sep call | Commitment | Call · Sep 11 | Us | 0.97 | Sep 11 | Medium | Overdue |
| Onboarding paused“we've held off adding the design team” | Risk | Support · Sep 09 | L. Brandt | 0.86 | Sep 09 | Medium | Open |
7 of 31 extracted signals · every signal links to the passage and timestamp that produced it
Account health
180DConversation topics
- Pricing & renewal33.3%
- Product support25.0%
- API & integration18.8%
- Onboarding14.6%
- Other8.3%
Opportunity timeline
- Cost objection raisedSep 18
New stakeholder · “hard to justify at this spend” · ROI summary promised
- API tier enquiry — second mentionSep 14
Engineering asking independently of the commercial thread · $184K signal
- Security questionnaire requestedSep 11
Committed by us · still undelivered
- Onboarding pausedSep 09
Design team rollout held · explains the utilisation drop
- Champion departedSep 02
Internal move · no successor introduced · relationship gap opens
- Successful QBRAug 21
Health 86 · expansion discussed positively with the former champion
Stakeholder map
engagement-weighted- Account
- Engaged
- At risk
- Unengaged
Recommended actions
ranked by predicted impact- Deliver the ROI summary+18 health
- Introduce an engineering sponsor+$184K
- Close the security questionnaire+8 health
- Re-engage the design team+seats
- Schedule an executive review+relationship
CRM sync — field level
- renewal_risk → HighFrom 3 signals · confidence 0.94 · auto-syncedauto
- primary_contact → M. VossStakeholder change detected · confidence 0.98auto
- competitor → namedOne unprompted mention · confidence 0.89auto
- expansion_value → $184KConfidence 0.71 · below auto-sync thresholdreview
- next_step → manual overrideRep edited · AI suggestion retained for comparisonmanual
Sentiment by topic / month
Interface states
UI statesNo conversations analysed
Connect a call recorder, mailbox or support desk to start extracting signals.
Connect sourceEmpty stateTranscription confidence too low
Audio quality on this recording produced 61% word confidence. Signals were not extracted rather than inferred from an unreliable transcript.
How it is put together.
Signals are only as trustworthy as the passage behind them, so extraction always stores the span. A signal without a quote is not stored.
- 01
Workspace UI
Account view, signal review with quote playback, opportunity and commitment tracking.
- Next.js
- React
- Audio sync
- 02
Intelligence API
Account aggregation, signal queries, recommendations and CRM sync control.
- Node.js
- REST
- RBAC
- 03
Extraction Pipeline
Typed signal extraction with span capture, confidence and stakeholder attribution.
- LLM
- Structured output
- Span alignment
- 04
Transcription
Speech-to-text with speaker diarisation and per-word confidence.
- ASR
- Diarisation
- Confidence gating
- 05
Signal Store
Typed signals linked to source spans with resolution state and history.
- PostgreSQL
- pgvector
- Append-only signals
- 06
Sources & CRM
Call recorders, mailboxes, support desks and bi-directional CRM sync.
- Connectors
- OAuth
- Webhooks
What the product does.
The capability set the demonstration is built around.
Conversation analysis
Transcription, diarisation and typed signal extraction across calls, email and chat.
Customer profiles
Unified account view merging conversations, usage, tickets and commercial data.
Sentiment signals
Sentiment attached to topics and stakeholders, always with the supporting quote.
Opportunity detection
Expansion intent, competitor displacement and renewal risk with evidence.
Automated summaries
Call summaries, commitments and next steps generated and pushed to the CRM.
Recommendations
Suggested next actions ranked by predicted impact on the account.
CRM integrations
Bi-directional sync with field-level confidence and human override.
Challenges, and the MaatX approach.
The problems that actually decide whether a system like this survives production — and how we address each one.
A sentiment score with no explanation gets ignored by every rep
Signals are typed and each one stores the exact span and timestamp that produced it. The UI plays the quote, so a rep verifies in a click rather than deciding whether to trust a number.
An LLM will extract a signal from a sentence that does not support it
Extraction must return a span that grounds the signal. If the span does not support the claim on a second check, the signal is dropped rather than stored at low confidence.
Automatically writing to the CRM destroys trust the first time it is wrong
Sync is field-level with a confidence threshold per field. Below threshold it queues for review, and a human override is never silently overwritten on the next run.
Poor audio produces a plausible but wrong transcript
Per-word confidence gates the pipeline. Below threshold the conversation is flagged for re-processing and no signals are extracted, because a wrong signal is worse than a missing one.
Conversations contain personal and regulated information
PII is detected and redacted before extraction, retention is configurable per source, and consent state is checked before a recording enters the pipeline at all.
Every account looks unique, so patterns go unnoticed
Account trajectories are embedded and matched against historical outcomes, which turns 'this feels like a churn risk' into 'this matches 184 accounts, and here is what worked'.
The stack behind it.
Speech & transcription
- ASR
- Speaker diarisation
- Word-level timestamps
- Per-word confidence gating
- Voice activity detection
- Language identification
Signal extraction
- LLMs
- Structured output schemas
- Typed signal taxonomy
- Span alignment
- Grounding verification pass
- Confidence calibration
- Stakeholder attribution
Evidence store
- PostgreSQL
- Append-only signal log
- Span references to source media
- Resolution state machine
- Commitment tracking
- Point-in-time account reconstruction
- Full-text search
Account intelligence
- Python
- Embeddings
- pgvector
- Trajectory embeddings
- Nearest-neighbour outcome matching
- Topic-level sentiment
Privacy & access
- PII detection
- Redaction before extraction
- Consent state checks
- Per-source retention policy
- RBAC
- Audit logging
Sources & CRM sync
- Call recorder connectors
- Mailbox and support-desk ingestion
- OAuth
- Webhooks
- CRM field mapping
- Per-field confidence thresholds
- Override-safe writes
Workspace & API
- Next.js
- React
- TypeScript
- Tailwind CSS
- Node.js
- REST
- Audio-synced transcript playback
How it grows with the business.
The same system at three stages. Most products should not start at the third — but the architecture should not have to be thrown away to get there.
One channel analysed, with signals a rep can verify.
- Call transcription with diarisation
- Core signal types with span links
- Account timeline view
- Manual CRM updates
All channels, opportunity detection and automated CRM sync.
- Email, chat and support ingestion
- Opportunity and risk detection with evidence
- Field-level CRM sync with confidence gating
- Commitment tracking
Portfolio-level intelligence with governance.
- PII redaction, consent checks and retention policy
- Portfolio churn forecasting from signal trajectories
- Multi-language analysis with per-language calibration
- Real-time in-call guidance
Where it could go next.
Directions this system would extend into.
- 01
Real-time in-call guidance surfacing objection responses as they are needed
- 02
Automatic account brief generation for handovers and QBRs
- 03
Portfolio-level churn forecasting from signal trajectories
- 04
Multi-language conversation analysis with per-language calibration
- 05
Commitment tracking that closes the loop into task systems
Pulling structured signal out of recorded conversations without inventing any of it?
We built AURELIA to work through exactly this. Tell us where you are and we will tell you what we would do differently for your constraints.
