ProgressDB: Database for Chat Applications

3 min read Original article ↗

From the ground up for chat applications with real-time, thread-first architecture, and seamless scalability.

Built for chat data from day one:

Threaded messages - Versioning, edits, and soft-deletes built-in

Fast reads and writes - Built for common chat access patterns

Security - Not E2E or most secure, just better than standard databases

Quick start - Lightweight, easy to use, SDKs for Python, Node.js, TypeScript, and React

Currently Available

Messages - Data Store + Versioned edits

Retention - Policy based purge - (ttl & cron)

Reliability - Sub-ms Acks or safe mode

Performance - 3k+ RPS on 2 local CPU cores

Planned

Cloud Key Stores - Big cloud & Infisical

Backups - Easy backup and easy restores

Realtime - Websockets + webhooks

Search - Per user chat data search API

Scaling - Full vertical or sharded horizontal

Hosting - Managed or BYOC or Open Core

Developer Tools

Backend SDKs - Node.js and Python

Frontend SDKs - TypeScript and Reactjs/React Native

Backend Integration

import ProgressDB from '@progressdb/node'

const db = ProgressDB({ 
  baseUrl: 'https://api.example.com', 
  apiKey: process.env.PROGRESSDB_KEY 
})

// Save messages from Frontend SDK
export async function POST(req: Request) {
  const { message, chatId } = await req.json()
  
  // Save to ProgressDB thread
  await db.createThreadMessage(chatId, message, 'user-123')
}

Frontend Integration

import { useMessages } from '@progressdb/react';

function ChatInterface({ threadId }: { threadId: string }) {
  const { messages, create } = useMessages(threadId);

  const sendMessage = async (text: string) => {
    await create({
      body: { text },
      role: 'user'
    });
  };

  return (
    <div>
      {messages.map(m => (
        <div key={m.id}>{m.body.text}</div>
      ))}
    </div>
  );
}

Self-hosted chat storage alternative to:

Loading multiple threads without blowing up your queries, pagination that doesn't reset half your React state, or fetching a conversation without ten round trips.

Suddenly you're debugging edge cases, tuning indexes, or rewriting your query patterns because your database wasn't built for this.

Last week it was pagination. This week it's soft deletes. Next month, it's thread metadata or message edits

Traditional database

Manual Plumbing

N+1 queries

Feature Plumbing

DIY chat features from ground

General Storage

Balanced read/writes & needs tuning

ProgressDB

Contention Free Thread Read, Writes

Default chat optimised read, writes without query contention

Pre Baked Features

Chat optimised features inbuilt & optimised with its workload patterns

Chat Native Storage

Optimised for bursty workloads from intake to storage

For where sub 1ms performance counts

Built for sub-1ms workloads & application types where latency and fan-out time is critical.

Voice Agents

Live, incremental transcription where messages are appended and versioned until finalized-no need to wait for session end. Optimized low-latency writes and built-in edits keep thread state consistent throughout the call.

Code Agents

Handle huge, variably sized payloads that can spike under bursty conditions. ProgressDB’s non-blocking write path supports smooth concurrent interactions, with versioned updates and sub-millisecond acknowledgments for responsive tooling.

AI Assistants

Streamed responses that evolve over time. Store partial outputs while tools run; use ephemeral messages for transient state and evaluation, then finalize the message with built-in versioning and retention controls.

Meeting Recording Apps

Real-time capture of speaker turns, incremental transcript updates, and post-processing corrections-all modeled as thread-native messages with versioned edits, per-thread encryption, and policy-based retention.

Multi-Entity Customer Support Apps

Complex ticket workflows where multiple profiles (human agents, AI responders, and knowledge tools) collaborate in a single thread. Built-in metadata, soft deletes, presence, and audit-friendly versioning keep conversations reliable and searchable.

Is Your Access Patterns a Fit?

Check if your chat workloads align with ProgressDB's thread-first design. Get a free evaluation.

Check Fit