Dev.to WebDev 🛠 Dev 👁 0 📖 3 min read

I built four developer tools that know about each other — and gave them all away

Every new project used to start the same way for me. Install the right PHP or Node. Start a database. Make up a local domain, fight the certificate warning, copy the database host and password into a database client, cop

Every new project used to start the same way for me. Install the right PHP or Node. Start a database. Make up a local domain, fight the certificate warning, copy the database host and password into a database client, copy the API's base URL into an API client, and remember which of the five windows held which part of the same project.

None of those tools were bad. They just did not know about each other. So I started building ones that do.

That family is Catzoid: four desktop apps — each one a cat with its own job — for macOS, Windows and Linux. All of them are free and open source (GPL-3.0). No account, no Pro tier, nothing behind a payment.

The cats
🐾 DevCatz — the local dev environment. You add a project folder and it works out what the project is: Laravel, Django, Rails, Next.js, Gin, Axum and many more, monorepos included. It finds the dev command, the port and the migrations, installs the runtime version the project asks for, and serves it on its own https://.localhost with a certificate your browser trusts.

🐾 DBCatz — the database client. MySQL, MariaDB, PostgreSQL, SQLite, Redis, Valkey, MongoDB and Elasticsearch, over SSH, AWS IAM or Vault — with a Production mode that asks before every write.

🐾 DialCatz — the API client. REST, GraphQL and WebSocket, collections, environments, scripts, tests and a runner — plus DialCatz Den, a small server your team runs itself if you want to share collections.

🐾 DoCatz — the container engine. Containers grouped by compose project, with logs, a terminal and their files, and every container on its own https:// name without publishing a port.

The part no single app can do
The reason they are a family is what happens between them:

A database DevCatz started shows up in DBCatz by itself. No host, port or password to copy.
Every DevCatz site becomes an environment in DialCatz, and a Laravel or Goravel app's routes come in as requests.
From a response in DialCatz, Check in DBCatz opens the table that request touched.
DoCatz runs the containers; their databases appear in DBCatz and their HTTP services in DialCatz.
One theme, one AI connection and one set of Git accounts, shared by all four. Change it in one cat, the others follow.
So the morning routine becomes: add the folder, press Start, and the rest of the family already knows where everything is.

Production safety, on purpose
The one place I did not want any "smart" shortcuts is production data. In DBCatz a connection can be marked Production: it gets a PROD chip, asks before every write, and a destructive statement needs the connection's name typed out. Read-only connections refuse writes, and the server session itself is read-only. The client assumes you will make a mistake one day, and makes that mistake harmless.

AI, only if you want it
Every cat has AI features — explain an error, write a query, write API tests, ask in plain words — and every one is off until you add your own provider key. Claude by default; OpenAI, Gemini, Ollama and any OpenAI-compatible server work too. What gets sent is structure, not your data, and every feature has a Preview what is sent button.

There is also MCatzP, one MCP server for all four apps, so an AI assistant like Claude Code can work with your sites, databases and requests — read freely, change only after you confirm in the app.

Quiet by default
The apps send nothing except update checks (and crash reports, only if you say yes). The exact list of every network call is public: What the apps send.

Who makes it
It is made in Indonesia by one person, with two others helping — and the code is written with Claude, which every commit says. Version 1.2.1 just shipped for Linux (x64 and ARM64), next to the Mac and Windows builds. The Mac builds are signed and notarized; the Windows and Linux packages are not signed yet, so Windows SmartScreen will ask once.

Try it
Downloads for every cat: catzoid.com/download
Docs: catzoid.com/docs
Source: github.com/catzoidhub
Talk to us: Discord
If one of the cats saves you an afternoon, a star on GitHub helps more people find it. And if it breaks on your project, tell me — that is the most useful thing you can do for it.

📰 Read the original article on Dev.to WebDev

Originally published by Dev.to WebDev. Aggregated on AIWithGhost for educational purposes — full credit and traffic to the original publisher.