Show HN: BerryDB – Open-source macOS database client written in Swift and AppKit BerryDB, an open-source macOS database client built natively in Swift 6, SwiftUI and AppKit, launched with a cold start of about 0.85 seconds and peak memory of roughly 5.5MB while streaming 1,000,000 rows, measured on an Apple M1 with 16GB running macOS 26.6.2 in a release build. The client connects to PostgreSQL, MySQL, MariaDB, SQLite, Microsoft SQL Server, Redis, Valkey, MongoDB, AWS DynamoDB, Elasticsearch and Qdrant, and includes an AI SQL Copilot that generates SQL from natural language with automatic schema injection, EXPLAIN analysis and index recommendations. Credentials, tokens and SSH keys are stored in the macOS Keychain, and the app ships with built-in SSH tunneling via the pure-Swift Citadel client and TLS/SSL support. Cold start under 1s • 1M rows streamed for ~6MB • AI SQL Copilot • Apple Keychain Security Download .DMG macOS 15+ https://download-db.berryhub.app/BerryDB-latest.dmg • Official Website https://db.berryhub.app • ☕ Donate on Ko-fi BerryDB is an ultra-fast, lightweight, and modern database management tool crafted specifically for macOS developers, data engineers, and DBAs. Built 100% natively using Swift 6, SwiftUI, and AppKit , BerryDB completely eliminates the bloat, sluggishness, and high memory footprint of Electron-based clients. Whether you're querying production PostgreSQL databases, inspecting Redis caches, managing MongoDB collections, exploring Qdrant vector spaces, or querying SQLite files locally, BerryDB delivers instantaneous responsiveness with Apple Keychain enclave security. - Fast Launch : A window is on screen about 0.85s after a cold start — no Chromium runtime, no NodeJS backend overhead. - Memory That Does Not Grow With Your Data : streaming 1,000,000 rows costs about 5.5MB of peak memory — the same as 200,000 rows. - AppKit Virtualized Data Grid : A native NSTableView engine that scrolls and streams 1,000,000+ rows without holding them all in memory. Measured on an Apple M1 16GB, macOS 26.6.2 with a release build. Run scripts/measure-performance.sh to reproduce them on your own machine — it reports process spawn and first window separately, because they are not the same number. Connect to SQL, NoSQL, Key-Value, and Vector databases all in a unified native workspace: - Relational / SQL : - PostgreSQL : Native wire protocol PostgresNIO , query cancellation via pg cancel backend , SSL/TLS. - MySQL & MariaDB : Native driver MySQLNIO , full support for caching sha2 password and mysql native password , SSL/TLS, KILL QUERY . - SQLite : Direct embedded driver via libsqlite3 , WAL mode support, instant file inspection. - Microsoft SQL Server : High-compatibility TDS protocol bridge via dynamically linked FreeTDS libsybdb . - In-Memory & Key-Value : - Redis & Valkey : High-speed Valkey-Swift driver, key browser, real-time TTL inspection, and interactive viewers for Strings, Hashes, Lists, Sets, and Sorted Sets. - Document & Cloud NoSQL : - MongoDB : Collection browser, JSON document editor, custom filter syntax, and Replica Set support. - AWS DynamoDB : Query via PartiQL syntax, item inspection, and AWS SigV4 authentication. - Vector & Full-Text Search : - Elasticsearch : Cluster health monitoring, indices browser, and search query execution. - Qdrant : Vector collections browser and distance metric inspector. - Hardware Enclave : All passwords, tokens, and SSH keys are stored directly in macOS Keychain. No plaintext credentials on disk. - Built-in SSH Tunneling : Powered by Citadel pure Swift SSH client for secure bastion jump hosts without relying on external terminal sessions. - TLS/SSL Encryption : Full encryption support with custom CA, client certificate, and verification options. - Context-Aware SQL Generation : Turn natural language into optimized SQL queries with automatic database schema injection. - Query Explanation & Tuning : Instant EXPLAIN analysis, bottleneck detection, and index recommendations. - Chat with Your Database : Ask questions about your schema, tables, and relationships directly inside the integrated AI panel. - Mermaid.js ER Diagrams : Automatically generate interactive visual Entity-Relationship diagrams from your database schema. - Table Analytics & Health : Real-time table sizing, index usage statistics, and row count estimations. - Persistent Query History : Searchable query log with execution duration, row counts, and one-click re-run. - Atomic Inline Editing : Edit table cells directly in the grid with staged diff reviews and atomic commits. - Code Editor : SQL syntax highlighting, keyword autocomplete, line numbering, and multiple tab sessions. - Query Cancellation : Safely cancel long-running queries without hanging or crashing your application. | Database Engine | Driver / Protocol | Direct Connection | SSH Tunnel | Inline Grid Edit | Schema / ERD | |---|---|---|---|---|---| | PostgreSQL 12–16+ | Pure Swift PostgresNIO | ✅ | ✅ | ✅ | ✅ | | MySQL / MariaDB 5.7, 8.x | Pure Swift MySQLNIO | ✅ | ✅ | ✅ | ✅ | | SQLite 3.x | Embedded libsqlite3 | ✅ | N/A | ✅ | ✅ | | Microsoft SQL Server 2017+ | FreeTDS libsybdb | ✅ | ✅ | ✅ | ✅ | | Redis / Valkey 6.x–8.x | Pure Swift valkey-swift | ✅ | ✅ | ✅ KV Editor | ✅ Keyspace | | MongoDB 5.x–7.x | Pure Swift MongoWireClient | ✅ | ✅ | ✅ JSON Edit | ✅ Collections | | AWS DynamoDB | AWS REST + SigV4 | ✅ | ✅ | ✅ | ✅ Tables | | Elasticsearch 7.x–8.x | REST Client | ✅ | ✅ | 👁️ Read/Search | ✅ Indices | | Qdrant | REST Client | ✅ | ✅ | 👁️ Read/Search | ✅ Collections | Install BerryDB in a single command using the official Homebrew tap: brew install --cask berry-apps/tap/berrydb Or add the tap first and install: brew tap berry-apps/tap brew install --cask berrydb 1. Download the latest release .dmg from download-db.berryhub.app/BerryDB-latest.dmg https://download-db.berryhub.app/BerryDB-latest.dmg or from GitHub Releases https://github.com/berry-apps/berrydb-desktop/releases/latest . 2. Open the .dmg file and drag BerryDB.app into your Applications folder. 3. Launch BerryDB from Spotlight ⌘Space or Launchpad. System Requirements : macOS 15.0 Sequoia or later. Apple Silicon only M1/M2/M3/M4 . BerryDB uses the standard Swift Package Manager SPM and make . - macOS 15.0 or higher - Xcode 16.0+ with Swift 6 toolchain - FreeTDS library : brew install freetds required for FreeTDS / SQL Server C headers 1. Clone repository git clone https://github.com/berry-apps/berrydb-desktop.git cd berrydb-desktop 2. Setup local development configuration cp .env.example .env 3. Build debug bundle and launch application make run | Command | Description | |---|---| | make run | Build debug app bundle, package into dist/BerryDB.app , and launch. | | make watch | Watch for file changes, auto-rebuild, and reload application. | | make test | Run the complete Swift unit and integration test suite. | | make app | Build optimized release application bundle in dist/BerryDB.app . | 1. Click New Connection ⌘N or select the + button in the sidebar. 2. Choose your database type PostgreSQL, MySQL, SQLite, Redis, MongoDB, SQL Server, etc. . 3. Enter your connection credentials Host, Port, User, Password, Database . - Optional : Toggle SSH Tunnel to route traffic through a jump server. - Optional : Toggle SSL/TLS for secure encrypted connections. 4. Click Test Connection to verify connectivity, then click Save . Passwords are encrypted securely in your macOS Keychain. - Use the sidebar schema tree to browse tables, views, columns, keys, and indexes. - Right-click any table and select Show ER Diagram to inspect foreign key relationships rendered via Mermaid.js. - Press ⌘T to open a new query editor tab. - Type SQL queries with keyword completion, then press ⌘Return to execute. - Open the AI Assistant panel or press ⌘J : - Type a natural language prompt, e.g. "Show top 10 customers by revenue this month" or "Find slow queries and suggest index optimization" . - Review generated SQL and click Run or Insert to Editor . - Type a natural language prompt, e.g. - Double-click any cell in the NSTableView data grid to edit values inline. - Edited rows are highlighted in amber. Click Apply Changes to commit them atomically or Discard to revert. BerryDB is completely free and open-source for all local database management capabilities. If BerryDB saves you time, enhances your workflow, or replaces expensive subscription tools, consider buying the creators a coffee: Your support helps cover Apple Developer program fees, maintain server infrastructure, and fuel continuous feature development Contributions, issues, and feature requests are welcome 1. Fork the repository. 2. Create your feature branch git checkout -b feature/AmazingFeature . 3. Commit your changes git commit -m 'feat: add amazing feature' . 4. Push to the branch git push origin feature/AmazingFeature . 5. Open a Pull Request. BerryDB is open-source software licensed under the Apache License 2.0 https://github.com/berry-apps/berrydb-desktop/blob/main/LICENSE — free for personal and commercial use. For detailed third-party attributions and compliance including LGPL-2.1 dynamic linking compliance for FreeTDS , please refer to THIRD-PARTY-NOTICES.md https://github.com/berry-apps/berrydb-desktop/blob/main/THIRD-PARTY-NOTICES.md .