Everything you need.
Nothing you don't.

A grid of features. Read top-to-bottom — pricing tiers labeled inline.

GPU-rendered grid

Virtualized and fed by a row stream. The grid is a Metal/DirectX/Vulkan surface, not a DOM table.

performance status frame-rate validation ongoing
delivery
stream
paint
viewport
runtime
native

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, or an Anthropic / OpenAI / OpenRouter key. 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

public beta

In development for the public beta: define a bastion once and zolt opens, holds, and tears down the tunnel per session. No PuTTY, no autossh dance.

your laptop
bastion
postgres
SSH (password / key file) TLS for remote DB sessions

Keychain-backed credentials

Passwords are stored keychain-first — macOS Keychain, Windows Credential Manager, or Linux Secret Service — with an encrypted local vault fallback. Never in plaintext config files.

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

Production guardrails

CORE

Risky statements are classified before execution, with read-only mode, confirmation gates, and local history making database changes explicit.

review
confirm
history
DELETE without WHERE → confirmation required
History is local and credentials are redacted.

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

Streaming result pipeline

CORE

Drivers expose result sets as streams. Rows move through a bounded buffer into the virtualized grid instead of being collected into one full in-memory result.

database driver · row stream
← schema arrives before the final row
bounded buffer · incremental ingest
← visible range handed to the native grid
● no full-result Vec at the driver boundary

Three workflows, one native client.

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 · streamed result · scroll position 423,118 ● virtualized
#
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 · latency depends on your network