Native macOS. Built with Swift.

A Postgres client for Mac that reads your Drizzle and Prisma schemas.

Run qdeck in your project. QueryDeck detects your ORM, connects in one command, and exposes your database to Claude Code through a built-in MCP server. Also speaks MySQL, SQLite, MongoDB, Redis. $79 once.

Pre-launch offer: Lifetime ($149 value) for $79. Removed at launch.

Already convinced? Lock Lifetime for $79 →

5 databases+8 ORMs auto-connect·6 ORMs Drift Mode
PostgreSQL
MySQL
SQLite
MongoDB
Redis
Drizzle
Prisma
TypeORM
SQLAlchemy
Django
ActiveRecord
Sequelize
Eloquent
PostgreSQL
MySQL
SQLite
MongoDB
Redis
Drizzle
Prisma
TypeORM
SQLAlchemy
Django
ActiveRecord
Sequelize
Eloquent
1 cmdORM AUTO-CONNECT
5DATABASES
$79ONCE, ALL YOUR MACS
0ELECTRON OR JAVA
QueryDeck CLI: type qdeck . in your project, schema drift opens automatically with diff between ORM file and live database
01Why QueryDeck
Workflow

Reads your ORM config

Drizzle and Prisma first. Also TypeORM, SQLAlchemy, ActiveRecord, Django, Sequelize. One command in your terminal, zero copy-pasting connection strings.

Documentation

SQL notebooks, not just tabs

Mix SQL, Markdown, and results in one document. Export to PDF. Share with your team.

Native

Swift & AppKit, $79 once

No Electron, no subscription. Per-user license for all your Macs. Direct connection, your data never leaves your machine.

02Features
Schema drift detection
~/my-app $ querydeck drift
Compared ./prisma/schema.prisma with prod
3 drifts detected
+ posts.author_id (BIGINT NOT NULL)
~ users.email VARCHAR(255) → TEXT
sessions.expires_at removed in DB

Your ORM models and the live database drift apart. QueryDeck reads Drizzle (where drift detection does not exist) and Prisma (where `migrate diff` produces false positives since v7), and shows exactly what changed before it ships. Drift Mode parsers also cover TypeORM, ActiveRecord, Django, Eloquent. SQLAlchemy and Sequelize get auto-connect but no Drift Mode yet.

MCP server
~/.cursor/mcp.json
{
"mcpServers": {
"querydeck": {
"command": "querydeck",
"args": ["mcp"]
}
}
}

Your database becomes a tool for Claude Code, Cursor, and any MCP client. Schema, queries, and table introspection — exposed as native tools.

CLI + ORM auto-discover
~/my-app $ querydeck
Detected Prisma in ./prisma/schema.prisma
Read DATABASE_URL from .env
PostgreSQL 16.2 on localhost:5432
Opening QueryDeck...

Stop copy-pasting connection strings. QueryDeck reads your Drizzle or Prisma config first (deepest support), plus TypeORM, SQLAlchemy, ActiveRecord, Django, Sequelize, and connects instantly.

Query notebooks
# Monthly active users
SELECT count(DISTINCT user_id)
FROM events
WHERE created_at > now() - INTERVAL '30 days';
12,847rows returned in 23ms
# Up 18% from last month. Driven by...

SQL + Markdown + results in one document. The Jupyter notebooks for databases. Export to PDF, share with your team.

Schema-aware SQL editor
QueryDeck table browser with filter pills, row detail panel, and FK navigation

Browse, filter, and edit rows inline. Click any foreign key to navigate. DataGrip-style snippet autocomplete in the SQL editor.

AI-assisted SQL
QueryDeck AI assistant generating SQL from natural language with Copy and Insert in Editor buttons

Ask in plain English, get SQL. Copy or insert directly into the editor. BYO API key, local Ollama, or zero-config on-device AI.

Color-coded connections

Assign colors to each environment. Production is red. Always.

QueryDeck ERD with force-directed layout and crow's foot notation

Auto-generated ERD

Entity-relationship diagrams from your schema. Export as PNG.

Touch ID

Gate production access behind biometrics.

QueryDeck EXPLAIN ANALYZE with tree view, severity badges, and performance tips

EXPLAIN ANALYZE

Visual query plan with severity badges and optimization tips.

Command palette

Everything in one keystroke

Cmd+K to search tables, queries, actions, and history. Fuzzy match with frecency ranking. Prefix filters for power users.

QueryDeck command palette with fuzzy search across tables, queries, and actions

Try QueryDeck free for 14 days.

The database client that knows your project. $79 one-time. All your Macs.

Pre-launch offerLifetime ($149 value) for $79. Removed at launch.
03Early voices

“Schema drift between ORM and prod is one of those quiet incidents that only bites at 3am. A native client that catches it in your terminal before you ship is the kind of tool I've been waiting for.”

WHY TIMESTAMP / TIMESTAMPTZ MATTERS · POSTGRESQL WIKI · DON'T DO THIS

Pre-launch

Be one of the first to ship it

Testimonials land here after launch. Join the waitlist now and your story may be one of them. Founders pay $79 once, get Lifetime ($149 value) until launch.

04Pricing
QueryDeck

$79 once.

  • → Per-user license, use on all your Macs
  • → 14-day free trial with full features
  • → PostgreSQL, MySQL, SQLite, MongoDB, Redis
  • → AI-assisted SQL included
  • → Free updates on your version, forever

Pre-launch offer: Lifetime ($149 value) for $79. Removed at launch.

Already convinced? Lock Lifetime for $79 →

How QueryDeck compares
JetBrains DataGrip
$0 / $109/yrNon-commercial / commercial · Java
TablePlus (2 Macs)
$198$99/device + $59 renewal
DBeaver Pro
$249/yrJava/Eclipse · $747 over 3 yrs
QueryDeck (all Macs)
$79Swift · one-time
05Frequently asked questions

Which ORMs does the CLI auto-detect?

Auto-connect works for 8 ORMs: Drizzle, Prisma, TypeORM, SQLAlchemy, Django ORM, ActiveRecord, Sequelize, Eloquent. Run `querydeck` in your project directory and it reads the config automatically.

Which ORMs does Drift Mode actually parse?

Drift Mode has 6 schema parsers today: Drizzle, Prisma, TypeORM, Django ORM, ActiveRecord, Eloquent. Drizzle and Prisma get the deepest support because that is where the drift gap is widest. SQLAlchemy and Sequelize auto-connect today but don't have Drift Mode parsers yet (planned).

What does Drift Mode actually catch?

Missing or extra columns, column type drift (with smart canonicalization across ORM and database dialects), nullability mismatches, default value drift, missing or extra simple indexes, missing or extra foreign keys, and column-level enum type drift. It also skips known false-positive sources: client-side defaults (UUID, CUID, NANOID, ULID), type aliases (timestamptz vs timestamp with time zone), and PK-implied unique indexes.

What does Drift Mode NOT catch (yet)?

Functional or expression indexes are compared as raw column names. Check constraints, triggers, rules, and generated columns are not modeled. Index onDelete and onUpdate behavior changes are ignored. Partial index WHERE clauses are intentionally skipped (this is what avoids the false positives Prisma's migrate diff produces). Views are filtered out. Custom types like PostGIS geometry depend on each ORM parser. Eloquent's dropForeign, dropIndex, dropUnique, and dropPrimary calls in migration files are not yet modeled.

What are query notebooks?

Interactive documents mixing SQL cells, Markdown notes, and inline results. Think Jupyter, but for databases. Export to PDF or HTML to share with your team.

What databases does QueryDeck support?

PostgreSQL, MySQL, SQLite, MongoDB, and Redis. Five databases, one native macOS app.

Does QueryDeck require a subscription?

No. One-time purchase: $79 (Standard) or $149 (Lifetime). Per-user license, use on all your Macs.

Is my data sent to the cloud?

No. Direct connection from your Mac to your database. The optional AI assistant sends only your schema, never your rows. Use Ollama or on-device AI for fully offline mode.

Is QueryDeck built with Electron?

No. Built with Swift and AppKit. No Java, no Electron, no embedded browser. Sub-second launch, under 200 MB RAM.

06Read the deep dives
07From the blog
All articles →

Stop context-switching. Start building.

CLI auto-connect. SQL notebooks. $79 once. 14-day free trial.

Pre-launch offerLifetime ($149 value) for $79. Removed at launch.