Introduction
Tinker is a native macOS client for PostgreSQL, MySQL, MariaDB and SQLite, built for the developer who lives in a database all day: dev in the morning, staging after lunch, production over SSH at 5 p.m.
big_table (1,000,000 rows). The first page is on screen in 152 ms.What Tinker is
It is fast enough to page through a million rows without flinching, honest enough to show you the server’s exact words when something goes wrong, and careful enough that every write is a transaction you previewed first. No Electron. No web view. A real Mac app with real menus, real windows, and a data grid that is an NSTableView because nothing else keeps up.
Design principles
In priority order. When two of them conflict, the one higher on the list wins.
- Never corrupt or lose user data. Every write is explicit, previewable as SQL, and reversible before commit.
- Handle large result sets without degrading. A 1M-row table scrolls at 60 fps and is never loaded fully into memory.
- Feel like a Mac app. Menus, keyboard shortcuts, multiple windows, tabs, dark mode, native text editing.
- Be honest with the user. Every error surfaces the server’s actual message. No silent retries, no swallowed exceptions.
What is in version 0.1
- PostgreSQL, MySQL and MariaDB on Apple Silicon, macOS 14 or later, and SQLite files opened straight from disk.
- Connections with TLS, SSH tunnels, production and read-only modes, Keychain-backed secrets.
- A paged, editable data grid with typed editors, filters, a cell inspector and a map pane for geometry.
- A SQL editor with highlighting, alias-aware autocomplete, function completion with signatures, a formatter, per-tab sessions and true cancellation.
- Objects overview, structure designer, structure sync, visual query builder, server view.
- Export, dump, import and transfer that stream and never hold a table in memory — and transfer, data sync and structure sync run between two different engines as readily as within one.
How the project is run
Tinker is specification-driven. SPEC.md is the source of truth for contracts, screens and acceptance criteria. DECISIONS.md is an append-only log of architecture decision records. PROGRESS.md records, per phase, what was completed, which tests prove it, and what was deliberately deferred. These docs are written from those three documents.