Native · Rust + GPUI · No Electron

A modern database client,
built for performance.

Postgres, MySQL, SQLite, Redis, MongoDB — native on macOS, Windows, Linux.

Built in Rust on GPUI — the same GPU framework that powers Zed. Sub-500 ms cold start. 60 fps on a million rows. No Electron.

K opens command palette

Concept preview rendered on the web — the real thing is a Rust + GPUI binary. Public beta in ~12 weeks.

ENGINES
postgres 9 → 16
FREE
mysql 5.7 → 8
PRO
sqlite 3.x
FREE
redis 6 → 7
PRO
mongo 5 → 7
PRO

Built in Rust on GPUI.
Nothing else moves like it.

The same GPU framework that powers Zed. Direct Metal / DirectX / Vulkan render path — the result grid is a GPU surface, not a DOM table.

01 — RUST + GPUI

Zero-overhead Rust. Direct GPU render. No browser engine.

zolt is written end-to-end in Rust on GPUI — the same framework that powers Zed editor. Every pixel goes straight from a Rust struct to Metal/DirectX/Vulkan. No Electron, no WebView, no garbage collector pause. Cold start is sub-500 ms; scrolling 1M rows holds 60 fps.

cold start
412 ms
sub-500 ms
scroll fps
60.0
1M rows
frame time
16.6 ms
transform-only
render budget · scroll 1M rows
zolt · Rust + GPUI 16 ms
native, mac-only 38 ms
electron client 84 ms
lower is better — measured on Apple M2, postgres 16, 1,000,000 rows
02 — AI INTEGRATION PRO

Bring your own model. zolt never proxies a single token.

Plug in Ollama, the claude CLI, an Anthropic / OpenAI key, or any MCP server. Your provider bills you directly. We never see your prompts, your responses, or your keys.

ollama
local · llama3.1
claude CLI
anthropic
openai
api key
MCP server
any tool
weekly active users grouped by plan tier K
-- preview · BYOK · routed to ollama (local)
select date_trunc('week', s.started_at), u.tier,
       count(distinct s.user_id)
from sessions s join users u on u.id = s.user_id
group by 1, 2 order by 1;
● routed to ollama · local · 0 tokens billed by zolt ⌘⏎ insert

Built for the people who already live in psql.

GPU-rendered grid

Virtualized, 1M rows, transform-only scroll. The grid is a Metal/DirectX/Vulkan surface, not a DOM table.

scroll fps · last 3 s ● 60.0 fps
rows
1,000,000
frame
16.6 ms
mem
184 MB

Native on every desktop OS

Same Rust binary class on macOS, Windows, Linux. Identical shortcuts. No 'we ported it' second-class citizens.

macOS
12+ · arm64 · x86_64
→ Metal
Windows
10+ · x86_64
→ DirectX 12
Linux
GNOME · KDE · Wayland
→ Vulkan

Bring-your-own AI

PRO

Pro unlocks the integration layer. Plug in Ollama, the claude CLI, an Anthropic / OpenAI key, or any MCP server. AI usage is billed by your provider — never by zolt.

top 10 repeat customers in q1 via ollama · llama3.1
-- preview · press ⌘⏎ to insert
select u.email,
       count(*) as orders
from orders o
join users u on u.id = o.user_id
where o.placed_at >= '2026-01-01'
group by 1
order by orders desc limit 10;

SSH tunneling, built-in

Define a bastion once. zolt opens, holds, and tears down the tunnel per session. No PuTTY, no autossh dance.

your laptop
bastion
postgres
SSH (key-auth, ed25519) TLS 1.3

Keychain-only credentials

Passwords live in macOS Keychain, Windows DPAPI, or libsecret. Never on disk in plaintext. Ever.

analytics-prod
postgres · admin@db-1.acme.io
password = ••••••••••••
● keychain · macOS

E2E-encrypted team sharing

TEAM

Connection blobs are sealed with age to each member's Ed25519 key. The sync server holds ciphertext and nothing else.

you
sync (blind)
teammate
age-encrypt(blob, ed25519:rae)
→ -----BEGIN AGE ENCRYPTED…

Schema diff & DDL gen

Diff two schemas, generate the migration, paste into your repo. No external diff tool.

+ ALTER TABLE users ADD COLUMN tier text;
CREATE INDEX users_email_lower
~ ALTER COLUMN orders.total TYPE numeric(12,2);
− DROP TABLE legacy_sessions;
4 changes · postgres · ready to copy

MCP server mode

PRO

Run zolt as a Model Context Protocol server. Claude Desktop calls query_database and describe_schema directly. Tool-use trace, not a chat about your data.

→ tool_use: describe_schema(connection: "analytics-prod")
← 14 tables, 86 columns
→ tool_use: query_database(sql: "select count(*)…")
← 1 row · 12 ms · returned to claude
● mcp.local:7841 · 2 tools registered

Three things you couldn't do this morning.

zolt — capture 1/3 · palette
monthly active users by week K
Generate SQL · MAU by week ollama · llama3.1
Open dashboard
Run last query again
-- generated · review before run
select date_trunc('week', started_at) as wk,
       count(distinct user_id) as maus
from sessions
where started_at >= '2026-01-01'
group by 1
order by wk;
events · 1,000,000 rows scanned · scroll position 423,118 ● 60 fps
#
event
payload
ts
user
423,118
page_view
{"path":"/p/0"}
14:00:0
u_23s6
423,119
click
{"path":"/p/73"}
14:01:7
u_23s7
423,120
sign_up
{"path":"/p/146"}
14:02:14
u_23s8
423,121
purchase
{"path":"/p/219"}
14:03:21
u_23s9
423,122
sign_in
{"path":"/p/292"}
14:04:28
u_23sa
423,123
logout
{"path":"/p/365"}
14:05:35
u_23sb
423,124
page_view
{"path":"/p/438"}
14:00:42
u_23sc
423,125
click
{"path":"/p/511"}
14:01:49
u_23sd
423,126
sign_up
{"path":"/p/584"}
14:02:56
u_23se
423,127
purchase
{"path":"/p/657"}
14:03:3
u_23sf
423,128
sign_in
{"path":"/p/730"}
14:04:10
u_23sg
423,129
logout
{"path":"/p/803"}
14:05:17
u_23sh
01,000,000
your laptop
macOS · 192.168.1.7
bastion
ssh-key · ed25519
postgres
db-1.internal · 5432
tunnel up · 0 bytes plaintext · round-trip 18 ms

Five things we don't do.

01
Credentials live in your OS keychain. Never on disk.
VERIFIED
02
SSH and TLS only. No plaintext TCP.
VERIFIED
03
Team sharing is end-to-end encrypted with age. Our sync server cannot decrypt connection blobs.
VERIFIED
04
30-day offline grace. 7-day silent revalidate. Zero telemetry.
VERIFIED
05
AI is BYOK on every tier. Zolt never sees your prompts, your responses, or your provider keys.
VERIFIED

You know these tools.
Here's the honest table.

Including the rows where we lose — DBeaver speaks 100+ engines, DataGrip refactors SQL better. The full write-ups don't hide it either.

Zolt compared with DBeaver, TablePlus, and DataGrip
zolt DBeaver TablePlus DataGrip
Runtime Rust + GPUI, GPU-rendered Java / Eclipse (JVM) Native, per-platform JVM (IntelliJ platform)
Cold start < 500 ms seconds fast IDE-class
1M-row grid 60 fps, GPU surface paginated CPU views paginated
Linux first-class (Vulkan) yes (JVM) limited yes (JVM)
AI BYOK, never proxied cloud assistant built-in (cloud) JetBrains AI
Price Free · Pro $49/yr OSS · PRO paid per-device license subscription

Pay once a year. Annual only.

License key by email. Paste it into Settings → License. No account on zolt's side.

Annual-only. 14-day refund window. Public beta downloads are coming soon.

Community

For trying the public beta when builds open.

Free forever
Join waitlist
  • Postgres, SQLite
  • 1 connection · 2 tabs
  • 5 saved queries
  • AI integration layer
  • SSH tunnel, import/export
  • Shared connections / queries
  • SSO, audit log, seats
  • Devices: 1 · personal use

Public beta downloads are coming soon.

Team Starter

For small backend teams sharing production-safe workflows.

$399 / year · 5 seats included
Request team access
  • Everything in Pro
  • Unlimited connections + tabs
  • AI integration layer · BYOK
  • SSH tunnel, import/export
  • Shared connections + queries (E2E beta)
  • 5 seats · commercial use
  • Priority beta feedback
  • SSO + audit log after beta

Extra seats planned at $79/seat/year.

Need invoice billing, security review, or 10+ seats?

Business packages start at $999/year. Built for teams that need procurement help, security questionnaires, and priority rollout support.

Contact sales

AI is bring-your-own-key on every tier. Pro and Team unlock the integration layer — your model, your keys, your provider's bill. Zolt never charges for AI usage, never proxies AI requests, and never includes AI credits in any plan.

License delivered by email. Paste it once in Settings → License. Manage your subscription anytime in the Lemon Squeezy customer portal — no account on zolt's side. Read the Terms of Service, Privacy Policy, and Refund Policy.

Questions, terse answers.

01 Why GPUI and not Electron / Tauri?

Electron ships a 200 MB browser engine and asks the GC to keep up with a million-row scroll. It can't. Tauri trades memory for a system WebView — same DOM bottleneck. GPUI renders directly to Metal, DirectX 12, or Vulkan; the result grid is a GPU surface, not a DOM table. That's where the sub-500 ms cold start and 60 fps on 1M rows come from.

02 Does Zolt see my queries or schemas?

No. Queries run from your machine to your DB, period. Zero telemetry, no analytics endpoint, no crash reporter that ships query text. License validation phones home only to confirm your key is alive — it carries no query, schema, or connection data.

03 Does Pro include AI tokens or AI credits?

No. Even Pro is BYOK — Zolt never charges for AI and never proxies AI calls. You bring an API key (Anthropic, OpenAI), an Ollama instance, the claude CLI, or any MCP server. Your provider bills you directly. We never see prompts, responses, or your keys.

04 How does Pro billing work?

Annual subscription via Lemon Squeezy. License key arrives by email. Paste it once into Settings → License. Auto-renews yearly until you cancel; cancellation lets you keep Pro until the end of the billing period, then falls back to Community without losing data.

05 What happens to my data if my license expires?

Saved queries, history, and connections stay on disk. Pro-only features lock; nothing is deleted. Renew or downgrade — the data sits in place either way.

06 Can I move my license to a new laptop?

Yes — deactivate from the old device under Settings → License, or via the Lemon Squeezy customer portal. Pro covers 2 devices, Team covers 1 device per seat.

07 Can I use Zolt on a plane or behind a strict VPN?

Yes — 30-day offline grace after the last successful revalidate. Revalidation is a single signed-token check, not a full handshake; it survives hostile DPI and runs once a week.

Get the beta first.

macOS, Windows, and Linux builds land in ~12 weeks. One email when your platform is ready — nothing else.

No spam. No telemetry. Unsubscribe anytime.