Engineering Blog

Architecture diagram of the shared memory system. A Voice Agent and a WhatsApp Agent each feed a summarization step (Call Summarization and WhatsApp Summarization), and both summaries are written into a single journeyMemory records store. A call-processing pipeline — fetch the recording from S3, do channel separation and run Deepgram on each channel, then block-level align the speaker transcripts — feeds Call Summarization. Previous conversation data and a mapping from the borrower journey to FSM state flow back into the agents.
Building Memory Systems for Agents Across Channels
A borrower verifies who they are and promises to pay on WhatsApp — then the voice agent calls and asks all over again. Here is how we gave both agents one shared memory, and why the hard part was the boring deterministic code, not the LLM.

Darshan Makwana and Aryan Panday

Darshan Makwana and Aryan Panday

An iceberg: the small visible tip is what you hear, the huge submerged mass is the systems you never see.
A Step Towards the Best Voice AI Agent of India
A voice agent is really two systems pretending to be one — the half you hear, and the half you never see. This is both halves, from first principles.

Darshan Makwana

Darshan Makwana

Architecture diagram of the shared memory system. A Voice Agent and a WhatsApp Agent each feed a summarization step (Call Summarization and WhatsApp Summarization), and both summaries are written into a single journeyMemory records store. A call-processing pipeline — fetch the recording from S3, do channel separation and run Deepgram on each channel, then block-level align the speaker transcripts — feeds Call Summarization. Previous conversation data and a mapping from the borrower journey to FSM state flow back into the agents.
Improvement Harness for voice agent workflows

Vedant Shelkar

Vedant Shelkar

Architecture diagram of the shared memory system. A Voice Agent and a WhatsApp Agent each feed a summarization step (Call Summarization and WhatsApp Summarization), and both summaries are written into a single journeyMemory records store. A call-processing pipeline — fetch the recording from S3, do channel separation and run Deepgram on each channel, then block-level align the speaker transcripts — feeds Call Summarization. Previous conversation data and a mapping from the borrower journey to FSM state flow back into the agents.
Bridge: A command center for coordinating AI coding agents
When one AI agent isn’t enough, the hard part isn’t spawning more agents. It’s keeping them coordinated.

Jayanth Krishnaprakash

Jayanth Krishnaprakash

Architecture diagram of the shared memory system. A Voice Agent and a WhatsApp Agent each feed a summarization step (Call Summarization and WhatsApp Summarization), and both summaries are written into a single journeyMemory records store. A call-processing pipeline — fetch the recording from S3, do channel separation and run Deepgram on each channel, then block-level align the speaker transcripts — feeds Call Summarization. Previous conversation data and a mapping from the borrower journey to FSM state flow back into the agents.
What an AI-native company feels like
Debunking some of the hype terms on “AI-nativeness” of companies and defining a simple framework on how to make adoption of new technologies make business sense for a company

Ankit Sanghvi

Ankit Sanghvi

Architecture diagram of the shared memory system. A Voice Agent and a WhatsApp Agent each feed a summarization step (Call Summarization and WhatsApp Summarization), and both summaries are written into a single journeyMemory records store. A call-processing pipeline — fetch the recording from S3, do channel separation and run Deepgram on each channel, then block-level align the speaker transcripts — feeds Call Summarization. Previous conversation data and a mapping from the borrower journey to FSM state flow back into the agents.
Minions - Part II: When AI Workflows Start Talking to Each Other
Part 1 covered how we built self-learning engineering workflows with Claude Code. This one is about what happened when those workflows started talking to each other.

Jayanth Krishnaprakash

Jayanth Krishnaprakash

Architecture diagram of the shared memory system. A Voice Agent and a WhatsApp Agent each feed a summarization step (Call Summarization and WhatsApp Summarization), and both summaries are written into a single journeyMemory records store. A call-processing pipeline — fetch the recording from S3, do channel separation and run Deepgram on each channel, then block-level align the speaker transcripts — feeds Call Summarization. Previous conversation data and a mapping from the borrower journey to FSM state flow back into the agents.
Shaastris - Riverline's AI Business-Analysts
How We Built a Team of AI Analysts for Debt Collection

Ankit Sanghvi

Ankit Sanghvi

Architecture diagram of the shared memory system. A Voice Agent and a WhatsApp Agent each feed a summarization step (Call Summarization and WhatsApp Summarization), and both summaries are written into a single journeyMemory records store. A call-processing pipeline — fetch the recording from S3, do channel separation and run Deepgram on each channel, then block-level align the speaker transcripts — feeds Call Summarization. Previous conversation data and a mapping from the borrower journey to FSM state flow back into the agents.
Minions: Self-Learning Engineering Workflows with Claude Code Skills

Jayanth Krishnaprakash

Jayanth Krishnaprakash

Architecture diagram of the shared memory system. A Voice Agent and a WhatsApp Agent each feed a summarization step (Call Summarization and WhatsApp Summarization), and both summaries are written into a single journeyMemory records store. A call-processing pipeline — fetch the recording from S3, do channel separation and run Deepgram on each channel, then block-level align the speaker transcripts — feeds Call Summarization. Previous conversation data and a mapping from the borrower journey to FSM state flow back into the agents.
Claude Code as an Orchestrator

Vidhan Mertiya

Vidhan Mertiya

Architecture diagram of the shared memory system. A Voice Agent and a WhatsApp Agent each feed a summarization step (Call Summarization and WhatsApp Summarization), and both summaries are written into a single journeyMemory records store. A call-processing pipeline — fetch the recording from S3, do channel separation and run Deepgram on each channel, then block-level align the speaker transcripts — feeds Call Summarization. Previous conversation data and a mapping from the borrower journey to FSM state flow back into the agents.
Smaller is better: Moving from LLMs to SLMs

Jayanth Krishnaprakash

Jayanth Krishnaprakash

Architecture diagram of the shared memory system. A Voice Agent and a WhatsApp Agent each feed a summarization step (Call Summarization and WhatsApp Summarization), and both summaries are written into a single journeyMemory records store. A call-processing pipeline — fetch the recording from S3, do channel separation and run Deepgram on each channel, then block-level align the speaker transcripts — feeds Call Summarization. Previous conversation data and a mapping from the borrower journey to FSM state flow back into the agents.
How can we evaluate agentic systems?
Do traditional ways of evaluating a chat agent work for evaluating AI agents? What will work and what won't? Will human evals still make sense?

Jayanth Krishnaprakash

Jayanth Krishnaprakash

Architecture diagram of the shared memory system. A Voice Agent and a WhatsApp Agent each feed a summarization step (Call Summarization and WhatsApp Summarization), and both summaries are written into a single journeyMemory records store. A call-processing pipeline — fetch the recording from S3, do channel separation and run Deepgram on each channel, then block-level align the speaker transcripts — feeds Call Summarization. Previous conversation data and a mapping from the borrower journey to FSM state flow back into the agents.
Agent Engineering is actually Organizational Engineering
AI agentic systems are nothing but organizations with high reliability, like power grid operators and naval aircraft carriers. What all parallels can we draw from these organizations to make architectural decisions for MAS?

Jayanth Krishnaprakash

Jayanth Krishnaprakash

Architecture diagram of the shared memory system. A Voice Agent and a WhatsApp Agent each feed a summarization step (Call Summarization and WhatsApp Summarization), and both summaries are written into a single journeyMemory records store. A call-processing pipeline — fetch the recording from S3, do channel separation and run Deepgram on each channel, then block-level align the speaker transcripts — feeds Call Summarization. Previous conversation data and a mapping from the borrower journey to FSM state flow back into the agents.
Architecture diagram of the shared memory system. A Voice Agent and a WhatsApp Agent each feed a summarization step (Call Summarization and WhatsApp Summarization), and both summaries are written into a single journeyMemory records store. A call-processing pipeline — fetch the recording from S3, do channel separation and run Deepgram on each channel, then block-level align the speaker transcripts — feeds Call Summarization. Previous conversation data and a mapping from the borrower journey to FSM state flow back into the agents.
AI Agents: Why More is Not Always Better
While the entire industry is hyped up about fancy multi-agent systems, this blog simplifies everything and talks about a rational framework on making informed decisions while designing AI agent architectures.

Jayanth Krishnaprakash

Jayanth Krishnaprakash

Architecture diagram of the shared memory system. A Voice Agent and a WhatsApp Agent each feed a summarization step (Call Summarization and WhatsApp Summarization), and both summaries are written into a single journeyMemory records store. A call-processing pipeline — fetch the recording from S3, do channel separation and run Deepgram on each channel, then block-level align the speaker transcripts — feeds Call Summarization. Previous conversation data and a mapping from the borrower journey to FSM state flow back into the agents.
Learnings from our pre-seed raise

Ankit Sanghvi

Ankit Sanghvi

Architecture diagram of the shared memory system. A Voice Agent and a WhatsApp Agent each feed a summarization step (Call Summarization and WhatsApp Summarization), and both summaries are written into a single journeyMemory records store. A call-processing pipeline — fetch the recording from S3, do channel separation and run Deepgram on each channel, then block-level align the speaker transcripts — feeds Call Summarization. Previous conversation data and a mapping from the borrower journey to FSM state flow back into the agents.
Setting up an evals system for non-engineers, to improve prompts for 10k+ daily conversations by AI-agents
How we setup a system that helps us track and improve prompt-coverage across 10k+ conversations everyday across AI voice-agent, WhatsApp-agent.

Ankit Sanghvi

Ankit Sanghvi

Architecture diagram of the shared memory system. A Voice Agent and a WhatsApp Agent each feed a summarization step (Call Summarization and WhatsApp Summarization), and both summaries are written into a single journeyMemory records store. A call-processing pipeline — fetch the recording from S3, do channel separation and run Deepgram on each channel, then block-level align the speaker transcripts — feeds Call Summarization. Previous conversation data and a mapping from the borrower journey to FSM state flow back into the agents.
Announcing our $825k pre-seed, to build India’s bank of 2035
From listening to 2000 debt-collection-calls manually, to using AI to automate debt-recovery across 100cr of bad-loans each month - Riverline has now raised $825k pre-seed to build the bank of 2035 and here’s the unfiltered story behind it.

Abhishek Gupta, Ankit Sanghvi, Jayanth Krishnaprakash

Abhishek Gupta, Ankit Sanghvi, Jayanth Krishnaprakash