0%
LIVE · --:--:-- --
available for projects
hello@autratech.co.uk

Omvio

Year2025
Visit live
Quick answer

An AI-assisted unified inbox built in React and Python with OpenAI and WebSockets. It consolidates customer conversations from separate messaging channels into one view, and drafts replies from the whole conversation history rather than the latest message.

The problem

Support teams accumulate channels rather than choosing them. Email, then live chat, then WhatsApp because customers asked, then social messages because somebody has to answer them. Each has its own interface and its own history, so the same customer exists several times over with no shared thread — and an agent answering a question has no reliable way to know what was already said elsewhere.

The cost is paid twice: in context-switching, and in the quality of answers given without the full picture.

What we built

  • Channel consolidation into one inbox, with a single customer identity across sources.
  • Real-time delivery over WebSockets, because a support inbox that needs refreshing is not a support inbox.
  • AI reply drafting grounded in the full conversation history rather than the most recent message.
  • A human in the loop — suggestions are drafted for an agent to send, edit or discard, never sent automatically.

Why this stack

LayerChoiceReasoning
Front endReactA dense, stateful interface that agents keep open all day
BackendPythonClosest to the AI tooling, so the inference path has no unnecessary translation layer
TransportWebSocketMessages arrive when they arrive; polling is both slower and more expensive
ModelOpenAIStrong general drafting quality without training a model for a task that does not need one

The design decision that mattered most

Keeping a human in the loop. An inbox that sends AI replies on its own is a much better demo and a much worse product: support conversations are exactly where a confident wrong answer costs a customer. Drafting for an agent to approve keeps the time saving while leaving the judgement with the person accountable for it.

The same approach — retrieval over real history, drafted rather than autonomous output, a human approving anything customer-facing — is how we build AI features generally. If you have something in mind, tell us about it.