Skip to content

Mizzle is a light and type-safe ORM for DynamoDB built with TypeScript. It is designed to provide a “Drizzle-like” developer experience, making it intuitive and fast for developers to interact with DynamoDB without the boring boilerplate and complexity.

It was born as a necessity of using DynamoDB with the simplicity of drizzle, and it’s designed to be used in almost the same way, since the start of the project we have been thinking about the developer experience and the simplicity of the code.

The vision for Mizzle is to bring the ergonomics of SQL-based ORMs like Drizzle to the world of DynamoDB. We believe that interacting with NoSQL shouldn’t mean sacrificing type safety or developer velocity.

  • Developer Velocity: Minimize boilerplate when defining tables and entities.
  • Type Safety: Ensure 100% type safety for queries, updates, and schema definitions.
  • Single-Table Design Made Easy: Provide first-class support for advanced single-table design patterns (key prefixing, static keys, etc.) with minimal configuration.
  • Fluent Query Builder: A familiar db.select(), db.update(), and db.delete() API for intuitive data access and modification.

  • Relational Query API: A high-level db.query API for fetching related entities with nested results, optimized for Single-Table Design performance—fetching collections in a single round-trip.

  • Smart Key Management: Automatic UUID generation (v7) and flexible key prefixing strategies to handle complex partition and sort key requirements.

  • Migration CLI (mizzling): A dedicated CLI package for managing DynamoDB schema, supporting snapshots, automated migration scripts, and interactive initialization.

  • TypeScript developers building applications on AWS.
  • Teams seeking a familiar, fluent API for DynamoDB that mirrors the ergonomics of SQL-based ORMs.