Skip to content

progressdb/ProgressDB

ProgressDB Logo

⚠️ Note: Non stable (<1.0.0) releases & agentic use notice below.

Purpose built database for chat applications, streamlining common workflows and performance requirements:

  • Threaded messages lifecycle - Built-in versioning, edits, and soft-deletes
  • Optimised mutations & reads - Fast retrieval of threaded messages and common chat patterns
  • Integrated security - Encryption and API-key based access controls
  • Developer-friendly - Lightweight service with SDKs for Python, Node, TypeScript, and React
  • Developer Delight - Send a message, the thread auto-creates.

ProgressDB eliminates the complexity of building chat infrastructure: fewer transformation layers, direct APIs for threads and messages, and the tooling to move from prototype to production with operational confidence.

Without ProgressDB, storing chat data becomes:

  • Week 2: “Need message versions.”
  • Week 4: “Need soft deletes + GDPR.”
  • Week 6: “Need encryption.”
  • Week 8: “Search is slow → add Elasticsearch.”
  • Week 10: “Need real-time.”
  • Week 12: “Encryption model is wrong.”
  • Week 16: “Reads slow → add Redis.”
  • Week 20: “Need encryption key rotation.”

Docker Pulls

Features

Available

  • Messages - append-only storage, versioning (edits), replies, soft-delete
  • Threads - metadata operations (create/update/list)
  • Encryption & Key Management - (embedded KMS mode)
  • Retention - policy-driven purge/run hooks
  • Backend SDKs - node & python sdks published for ^v0.2.0
  • Frontend SDKs - typescript & react sdks published for ^v0.2.0
  • Reliability - (appWAL/buffering) are present & configurable
  • Performance - sustains 3k RPS on 2 local CPU cores (3.49 GHz).

Planned

  • Encryption - cloud-backed KMS, HSM integration, DEK rewrap features
  • Backups - backups & tested restore of chat datas
  • Realtime - realtime subscriptions (WebSocket / SSE) and webhook delivery
  • Search - search API / indexed search experience
  • Scaling - vertical or horizontal scaling features
  • Metrics - Metrics are present, but need cleanup for prod

test-db-service

Links

Notice

Versions below 1.0.0 are considered non-stable. Features, APIs, and internal structures may change; please keep this in mind if you intend to self-host. See https://progressdb.dev/docs/upgrades for help.

Portions of the project use agentic assistance for automated tasks such as decomposing modules, generating test coverage, and surfacing early defects. All core designs and critical code paths - including data layout, storage logic, and other foundational components - are fully hand-written to ensure clarity, focus, and alignment with ProgressDB’s intended architecture. Routine scaffolding (e.g., basic HTTP server setup) may use automated help, while substantive components (e.g., KV structures, encryption choices) are authored manually.