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.