Team view
A live queue with prioritized alerts and messages, triage review and a dashboard of at-risk SLAs.
Enter as the teamAdvisor Radar turns account events and client messages into prioritized work for a financial advisory team. Enter as a fictional client to generate signals, or as an advisor to handle the queue, review uncertain classifications and follow cases with segment-specific SLAs.
A live queue with prioritized alerts and messages, triage review and a dashboard of at-risk SLAs.
Enter as the teamWithdrawals, deposits, messages and complaints from fictional clients become RabbitMQ events and reach the team queue.
Choose a clientThe BFF returns a page, sections and components filled for the client’s current context. The app renders the result.
Advisor Radar turns account events and client messages into prioritized work for a financial advisory team. Enter as a fictional client to generate signals, or as an advisor to handle the queue, review uncertain classifications and follow cases with segment-specific SLAs.
Deterministic rules flag withdrawals, portfolio drops, large deposits, segment changes, clients without contact and purchases above their investor profile.
Intent, frustration, churn risk and requests for human help. Confidence below 0.85 goes to human review; model failure uses a marked heuristic fallback.
Open, in progress, waiting for the client, resolved. Segment-specific SLAs escalate through RabbitMQ TTL and dead-letter exchanges.
The backend selects each section variant for the client’s current context. The frontend renders a fixed component catalog.
The React app sends versioned HTTP/JSON to the BFF, which validates and forwards the command.
POST /v1/client-pov/customers/{id}/complaintscorrelation by event_idAdvisor Radar turns account events and client messages into prioritized work for a financial advisory team. Enter as a fictional client to generate signals, or as an advisor to handle the queue, review uncertain classifications and follow cases with segment-specific SLAs.
The React app sends versioned HTTP/JSON to the BFF, which validates and forwards the command.
gRPC carries a deadline and tracing context to the account service.
PostgreSQL saves the message and transactional outbox record in the same transaction. A broker outage leaves the event available for delivery.
The event carries event_id, occurred_at, customer_id and schema_version for event correlation. RabbitMQ trace-context propagation is not implemented.
An idempotent inbox deduplicates event_id. Jev classifies intent, frustration, churn risk and requests for human help. A marked heuristic fallback handles model unavailability; confidence below 0.85 goes to human review.
Deterministic advisory rules create alerts. Cases use the client segment for their SLA; RabbitMQ TTL and dead-letter exchanges handle escalation.
The timeline-indexer writes events, classified messages and cases to Elasticsearch for the client’s searchable 360-degree view.
The BFF consumes alert.raised and sends an SSE update to the browser without a page reload.
React → HTTP/JSON → BFF → gRPC → account-sim → PostgreSQL + outbox
Outbox relay → RabbitMQ → triage / advisory / cases / timeline-indexer
Jev → typed classification · Elasticsearch → client timeline · BFF → SSE → React
account-sim, triage, advisory, cases, timeline-indexer and the stateless BFF have explicit responsibilities. PostgreSQL belongs to each stateful service; RabbitMQ carries events.
The BFF returns a typed page/section/component schema for the client’s current context. React renders a fixed catalog of components. The embedded showcase retains three client tabs, the live JSON disclosure, component rules, scrolling and retry. The phone preview is intentionally read-only.
Interactive demonstration in Portuguese. The phone is a read-only preview. If the embedded service is unavailable, open the application directly.
Choose a clientTechnical demonstration with fictional clients, names, brands and account activity. It has no affiliation with a real financial institution and sends no messages to real clients. The interactive showcase requires JavaScript and a reachable BFF; this explanation does not. A latency goal is not a measured result.