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. In our Apple M2 / Postgres 16 benchmark: 412 ms cold start and 60 fps on a 1M-row result set. No Electron.

K opens command palette

Concept preview rendered on the web — the real thing is a Rust + GPUI binary. Desktop builds ship through GitHub Releases.

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

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

Low-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. Our Apple M2 / Postgres 16 benchmark measured 412 ms cold start and 60 fps while scrolling 1M rows.

cold start
412 ms
Apple M2
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 BYOK

Bring your own model. zolt does not proxy AI requests.

Plug in Ollama, the claude CLI, an Anthropic / OpenAI key, or any MCP server. Your provider bills you directly. Zolt does not route prompts, responses, or provider keys through Zolt servers.

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 + GPUI codebase 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

BYOK

Plug in Ollama, the claude CLI, an Anthropic / OpenAI key, or any MCP server. AI usage is billed by your provider, not 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-backed credentials

Passwords live in macOS Keychain, Windows Credential Manager, or Linux Secret Service. Zolt does not store them in plaintext config files.

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

E2E-encrypted team sharing

TEAM

Shared payloads are sealed with age to each member's X25519 recipient. The sync server stores ciphertext and workspace metadata, not decryptable connection secrets.

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

BYOK

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 are stored through your OS keychain, not in Zolt plaintext config.
POSTURE
02
Remote access is designed around SSH and TLS, with no plaintext remote database sessions in production builds.
POSTURE
03
Team sharing uses age encryption to X25519 recipients. The sync server cannot decrypt shared payloads.
POSTURE
04
Desktop telemetry is off. License checks carry status only, not database content.
POSTURE
05
AI is BYOK on every tier. Zolt does not proxy or store your prompts, responses, or provider keys.
POSTURE

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, not proxied by Zolt cloud assistant built-in (cloud) JetBrains AI
Price Free · $59 once · $49/yr updates OSS · PRO paid per-device license subscription

Free for real work. Pay to remove tab limits.

License key by email. Paste it into Settings → License. No Zolt-hosted user account for individual licenses.

$59 one-time license, optional $49/year update renewal, and Team seats are sold through Polar. 14-day refund window. Review Terms before checkout.

Community

For trying Zolt under the free open-tab limits.

Free tier
Download
  • Postgres, MySQL, SQLite, Redis, MongoDB
  • Unlimited connections
  • 2 open tabs per connection
  • AI integration layer · BYOK
  • SSH tunnel, import/export
  • Shared connections / queries
  • SSO, audit log, seats
  • Commercial use under free limits

Desktop builds are published through GitHub Releases.

Updates Renewal

For licensed users who want newer builds after the included update year ends.

$49 / year
Renew updates
  • Requires an existing One-time License
  • Newer builds for 1 more year
  • Not required to keep using Zolt
  • Existing app rights continue
  • Cancel without losing local access
  • Shared connections / queries
  • SSO, audit log, seats
  • Managed through Polar

Optional. The app keeps working if you do not renew.

Team

For backend teams sharing encrypted connections and query workflows.

$79 / seat / year
Get team keys
  • Everything in One-time License
  • Unlimited open tabs
  • AI integration layer · BYOK
  • SSH tunnel, import/export
  • Shared connections + queries (E2E beta)
  • Seat management
  • Audit log and workspace roles
  • Commercial use

Seat management and shared workspaces are Team-only.

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

Business packages start from the Team plan. Built for teams that need procurement help, security questionnaires, and priority rollout support.

Contact sales

AI is bring-your-own-key on every tier. Your model, your keys, your provider's bill. Zolt does not charge for AI usage, proxy AI requests through Zolt servers, or include AI credits in any plan.

License delivered by email. Paste it once in Settings → License. Manage paid licenses and renewals through Polar — no Zolt account or backend required. Read the Terms of Service, Privacy Policy, and Refund Policy.

Questions, terse answers.

01 Why GPUI and not Electron / Tauri?

Electron ships a browser engine and asks the GC to keep up with a million-row scroll. Tauri trades memory for a system WebView — still a DOM bottleneck. GPUI renders directly to Metal, DirectX 12, or Vulkan; the result grid is a GPU surface, not a DOM table. In our Apple M2 / Postgres 16 benchmark, Zolt cold-started in 412 ms and held 60 fps on a 1M-row result set.

02 Does Zolt see my queries or schemas?

No. Queries run from your machine to your DB. Desktop telemetry is off, there is no analytics endpoint in the app, and no crash reporter ships query text. License validation checks license status only — it carries no query, schema, or connection data.

03 Does Zolt include AI tokens or AI credits?

No. AI is BYOK on every tier — Zolt does not charge for AI and does not proxy AI calls through Zolt servers. You bring an API key (Anthropic, OpenAI), an Ollama instance, the claude CLI, or any MCP server. Your provider bills you directly.

04 How does paid licensing work?

Paid licenses are sold through Polar. The One-time License is $59: buy once, keep eligible builds, and get one year of updates. After that, the app still works; newer builds need the optional $49/year Updates Renewal. License keys are delivered by Polar and pasted once into Settings -> License.

05 What happens when my included update year ends?

Nothing is deleted. Saved queries, history, and connections stay on disk. The app keeps working, and you can keep using builds released inside your update window. Renew only if you want newer builds after that window.

06 Can I move my license to a new laptop?

Yes — deactivate from the old device under Settings -> License, or manage the license through Polar. Individual paid licenses cover 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.

08 Where do I report bugs or request features?

Zolt issue tracking is public on GitHub. Open a bug report, feature request, or product question there so other users can follow the same thread. Open ZoltDB Issues

Get the beta first.

Join the beta list for macOS, Windows, and Linux builds. One email when your platform is ready — nothing else.

No spam. No telemetry. Unsubscribe anytime.