Whaledesk Logo
Whaledesk
v0.1.0 Beta ReleasedOpen Source

The Unified Developer Hub forDocker, APIs & Databases.

Stop context switching between heavy standalone tools. Whaledesk Desktop integrates container dashboard monitoring, endpoint query testing with environment variables, and PostgreSQL databases into a single local-first native workspace.

AES-256 Encrypted Secrets
No Cloud Database Sync
Local Keychain Lock

Real-time overview of Docker daemon health, active containers, and resource statistics.

whaledesk://app/dashboard
Dashboard
Containers
API Studio
DB Studio
Logs History
Environments

Interactive Sandbox

Test Drive Whaledesk Right Now

Experience the core functionalities of the desktop application directly in your web browser. Switch tabs below to interact with our mock container manager, AI generation client, or SQL execution console.

Control Panel
Docker Daemon status: ConnectedSocket: unix:///var/run/docker.sock
node-api-server
node:18-alpine
CPU: 2.4%
RAM: 42.1 MB
postgres-db
postgres:15-alpine
CPU: 0.8%
RAM: 28.6 MB
redis-cache
redis:7.0-alpine
CPU: 0.0%
RAM: 0.0 MB
Live Stream Logs
🐳 Docker daemon connected.
⚙️ Loaded 3 containers from local socket.
[INFO] node-api-server is listening on port 3000
[INFO] postgres-db connected with SSL mode 'prefer'

Core Utilities

Designed for Modern Devops & APIs

Whaledesk consolidates separate development programs into a unified interface, speeding up daily local workloads while safeguarding environment data.

Docker ControllerDocker Engine

Monitor daemon health, start/stop containers, stream logs, pull raw images directly from Docker Hub, and prune unused images.

AI API BuilderAI Powered

Instantly compile complex REST collections (endpoints, parameters, headers) from plain English documentation using AI prompts.

PostgreSQL DB ClientSQL Console

Connect to databases, browse schemas, inspect table definitions, and execute raw query transactions in an interactive SQL terminal.

Encrypted Secrets StoreKeyring

Secure environment variables. Sensitive key values are encrypted at rest using AES-256-GCM, with keys stored in the native OS keyring.

SQLite Logs & History

Keep query logs and API request history stored locally. All metadata is kept inside a lightweight, local database. No cloud sync required.

Tactile Themes

Enjoy dark and light theme toggles that seamlessly sync with your OS preferences. Tactile controls crafted for deep-work developer sessions.

Secure by Design: Local-First Credential Locking

Whaledesk does not transmit variables or parameters to a remote server. Secret values are heavily encrypted utilizing the **AES-256-GCM** cryptography standard. The encryption key is dynamically requested and stored in your operating system's native keychain (such as Linux Gnome Keyring, macOS Keychain, or Windows Credential Locker) ensuring zero-plaintext leaks.

Performance Audit

Architected for Minimal Resource Impact

By swapping Electron for Wails v2 + Go and using your OS's native web view engine, Whaledesk operates with less than a tenth of the memory required by traditional developer tools.

Capability / Metric🐳 Whaledesk DesktopElectron Apps (e.g. Postman)SaaS Web Tools
Memory Footprint (Idle)
~32 MB
350 MB - 1.2 GB+
N/A (Browser Tab)
Cold Start Time
< 0.8s
4s - 12s+
N/A
Security & Encryption
AES-256-GCM + OS Keyring
Plaintext config files
Cloud Sync DBs (Vulnerable)
Offline Functionality
100% Native (Local-First)
Limited (Sync Warnings)
Requires active internet
Feature Coverage
Docker + API + PostgreSQL
Separate apps required
API Testing only
💡 Whaledesk Desktop is compiled into a single binary (~32MB) that runs fully sandboxed on your local hardware.

Lightweight Architecture

A Native Desktop App Without Electron Bloat

Built on Go and Wails v2, Whaledesk does not pack an entire Chromium browser inside its distribution. Instead, it utilizes your system's native web engine (Webview2 on Windows, WebKit on macOS, and WebKitGTK on Linux) to achieve extremely fast load times and minimal resource usage.

Core Engine
Go 1.25+ / Wails v2
Memory Idle
~32 MB
Database Store
SQLite 3 (Local-First)
Security standard
AES-256-GCM
~ build-instructions.sh
# Install frontend dependencies
$npm install --prefix frontend
# Launch hot-reload dev environment
$wails dev
> starting Wails development server...
> running Vite frontend watcher on http://localhost:34115...
# Compile native binaries for production
$wails build
> frontend built successfully.
> desktop application compiled: ./build/bin/whaledesk (32MB)

Developer FAQ

Frequently Asked Questions

Everything you need to know about Whaledesk's security architecture, native compatibility, and data handling.

Whaledesk uses native OS bindings to communicate with your operating system's built-in secure credentials manager (macOS Keychain, Windows Credential Locker, or Linux Gnome Keyring). We generate a unique cryptographic key for your installation and store it there. When you save secrets in environment profiles, Whaledesk encrypts them using the industry-standard **AES-256-GCM** encryption. The plain-text key is never written to disk, preventing access even if someone steals your SQLite database file.
No. Whaledesk queries the local Docker socket (`/var/run/docker.sock` on Unix-like systems, or the named pipe `\\.\pipe\docker_engine` on Windows). It is completely compatible with standard Docker Engine, Docker Desktop, Rancher Desktop, Colima, and Podman (with active socket redirection).
You can connect to any database reachable from your local machine. This includes local PostgreSQL instances, databases running inside Docker containers, remote servers on AWS RDS/Google Cloud SQL, or staging databases accessible over a VPN connection.
Everything is kept local-first. Whaledesk Desktop creates a local SQLite database named `whaledesk.db` in your application path. All request histories, database connection parameters, SQL query templates, and app configurations are saved locally. There are no external cloud databases or cloud sync setups.
Zero tracking. Whaledesk does not collect telemetry, analytics, or send query logs to external servers. It operates completely offline-first unless you send an API request to an external address or pull a Docker image.