Skip to content
← AI Lab

Case study · AI Lab

Memories

Turn conversations into searchable knowledge, decisions, and actions.

An AI-powered conversation intelligence platform that transforms unstructured conversations into persistent, retrievable knowledge.

The repository may be private.

Role
Independent Builder
Category
AI Application / Knowledge Systems
Stack
PythonPostgreSQLLLM APIsSarvam AIRender

The problem

Conversations contain valuable information, but that information rarely remains accessible.

Decisions get buried in transcripts.

Commitments are forgotten.

Important context disappears between meetings.

The solution

Memories transforms unstructured conversations into structured information that can be searched and retrieved using natural language.

Core capabilities

demonstratedin development
01

Conversation ingestion

Accepts conversations as text or audio into a workspace.

demonstrated
02

Audio transcription integration

Converts recorded audio to text via a speech model.

demonstrated
03

AI-generated summaries

Produces a concise summary of each conversation.

demonstrated
04

Decision extraction

Identifies what was agreed.

demonstrated
05

Action item identification

Captures owners, tasks and deadlines.

demonstrated
06

Persistent knowledge storage

Stores structured records for later retrieval.

demonstrated
07

Natural-language retrieval

Answers questions about past conversations.

in development
08

Workspace-based authentication

Scopes data to workspaces and their members.

in development

Capability status to be confirmed by the builder.

Architecture

How it works

  1. SummariesDecisionsActionsMemories

Component

Structured Extraction

The model's output is shaped into defined types — summaries, decisions, actions and memories — rather than free text.

Select any step to read how it works.

Interactive demo

From conversation to answer

An illustrative simulation — not a live model or backend.

memories / demoInteractive demonstration using sample data.

Conversation

“We agreed to finish the API integration by Friday. Rahul will handle authentication, and Priya will complete the dashboard.”

Structured output will appear here.

Ask

What did we decide about API integration?

Technical decisions

Why asynchronous processing?

Transcription and LLM calls can take seconds to minutes. Running them as background jobs keeps ingestion responsive, avoids request timeouts, and lets failed steps be retried independently.

Why PostgreSQL?

Extracted output is structured — summaries, decisions, actions — and belongs to workspaces and users. A relational database models those relationships directly and keeps the system on one well-understood store.

Why structured memory extraction?

Free-text summaries are hard to query. Extracting typed records means a decision or an action item can be listed, filtered and retrieved on its own, rather than re-reading whole transcripts.

Why separate transcription and LLM processing?

They are different problems with different models and failure modes. Keeping them as separate stages means each can be swapped, retried or debugged without touching the other, and text input can skip transcription entirely.

How does retrieval work?

A question is matched against stored records, and the relevant ones are passed to the model as context for the answer. Improving the matching with semantic search is on the roadmap.

What are the operational considerations?

Model availability and latency, cost per conversation, handling of audio files, keeping secrets out of the client, and keeping development and production environments cleanly separated.

Engineering challenges

Learnings from building and deploying the system. Some remain active areas of work.

  1. 01

    Authentication and workspace membership

    Making sure every record is scoped to the right workspace and only visible to its members.

  2. 02

    Development vs production environments

    Keeping configuration, credentials and data separate so behaviour in development matches production.

  3. 03

    Asynchronous job processing

    Tracking job state, handling retries and surfacing progress to the user.

  4. 04

    Model integration and availability

    Dealing with provider latency, rate limits and occasional unavailability.

  5. 05

    Audio transcription and storage handling

    Managing file sizes, formats and where audio lives before and after transcription.

Roadmap · future plans

Improved semantic searchDocument ingestionMemory consolidationSource attributionRetrieval evaluationBetter knowledge organization

Demo video

▶

Product walkthrough coming soon.

Interested in how it works?