Know staging is down before someone comes to ask you.

Sites, APIs, databases, ports: Kestro checks them from your own machine, continuously. When one stops answering, the menu bar icon changes and the panel gives the error code and how long it has been down. No account, no agent to deploy, no bill per check.

macOS 11+ · Windows soon

CodeFileView14:43
Kestro1 tunnel open · 1 service isn’t answering
2 services · 1 isn’t answeringAdd a service
Returning 502 Bad Gateway for 4 minutes. The container answers but not the app behind it.24 h uptime96.2%Median210 msChecked8 s agoCheck nowOpen URLPause
⌘K palette↑↓ navigate␣ togglecloses if you click elsewhere
run-tracker , zsh
Applying 2 migrations to shop-staging-db…
20240612_add_orders_index ok
done in 1.4s
run-tracker , zsh
# is everything answering?
service api-gateway ok
service notes-api slow
service checkout-service down

Watching

Six things a red dot does not tell you.

alert

The alert arrives where you are already looking

The menu bar icon changes shape, not just colour. On a MacBook with a notch, the outage comes to you: it appears inside it, and one click opens the panel on the failing service, already expanded.

detail

The error code, and how long

502 Bad Gateway for 4 minutes, not “alert”. Uptime over 24 hours, median latency, when it was last checked: enough to know whether you get up or finish your sentence.

ports

Not only web pages

An API, a page, but also a host and a port: a database, a broker, an internal service. Anything that accepts a connection can be watched, even with no health endpoint to call.

tls

The certificate about to expire

Kestro reads the certificate of your HTTPS addresses once a day, and warns you fourteen days before it expires, enough to renew it without working on a Sunday. It is the one outage whose date is known in advance.

mute

An alert you can silence

You have seen it, you are fixing it: mute it for two hours without stopping the checks. An alert left lit all day stops alerting anyone, and that is how the next one gets missed.

assistant

Your assistant reads the state, and the output behind it

Kestro is an MCP server: rather than describing the outage to it, it sees the outage, the service that stopped answering, its error code, for how long, and the output of the program behind it. Families of actions open one at a time, production is closed by default, and a refusal always names the setting that would lift it.

Works with what you already haveSSH · Google Cloud · AWS · Cloudflare · Docker · PostgreSQL · Redis · Git

From your machine, not from ours

You paste an address. It checks it every 30 seconds.

Kestro is not a monitoring service: there is nothing to deploy, nothing to open in a firewall, and nothing reported back to us. Your machine is the one asking, which lets it see what an outside service cannot: your internal addresses, behind your VPN.

  1. An address is enough

    api.example.com/health, or db.example.com:5432. Kestro recognises which of the two and picks what to call. The interval and the slowness threshold are adjustable, but the defaults will do on day one.

  2. It already knows your addresses

    Your web services on Google Cloud and AWS are visible to it through your already signed-in tools: one click puts them under watch, without you hunting down a deployment URL.

  3. It tells “slow” from “down”

    Answers, slow, refused, down: four states, not two. An API taking three seconds does not call for the same decision as an API refusing the connection, and a single red dot confuses the two.

  4. It admits its gaps

    The history says “no measurements between 2am and 8am, Kestro was closed” rather than painting a green line over a machine that was off. An uptime curve that lies is worse than no curve at all.

On your machine

Everything stays with you.

Your connections run from your computer to your servers, never through us.

  • No account

    Nothing to create, no password.

  • Your keys stay put

    SSH, Google Cloud, AWS: Kestro uses your own tools, locally.

  • No usage statistics

    We don’t know what you open, or when.

  • One exception

    Your licence renews with us. Nothing else leaves.

And the rest

What falls over is usually fixed in the same breath.

Which is why watching is only one tab: the tunnel to the database, the repository that serves it and the script that migrates it are in the same panel, one shortcut from the same keyboard.

  • Your tunnels

    Staging database behind a bastion? Kestro reads your ~/.ssh/config and opens the door with a switch: Postgres, Redis, Cloud SQL, an EC2 through Session Manager. It reopens when your Mac wakes, and “Close all” shuts production in one gesture.

  • Your projects

    The branch, what has changed, what is left to push, on this Mac and on your remote machines. The dev server and the docker compose services start from the row, and a container still up from yesterday reads “started elsewhere” instead of doubling itself.

  • Your scripts

    npm, make, docker: Kestro reads them in the repository and pins them. The output shows in the panel, and if the program asks a question (a password, a yes or no), you answer right there.

Pricing

You pay once. That’s it.

A tool you open forty times a day shouldn’t send an invoice every month.

Kestro licence

€29.99$29.99£25.99CHF 25.90CA$40.99A$45.99€39.99$39.99£34.99CHF 33.90CA$54.99A$61.99 · Launch offer · upcoming price

1 computer · one-time

  • Every feature of the app, no tiers, no “Pro” edition
  • One year of updates included, then renew if you want to
  • The app stays yours, renewed or not
  • One key, the same on all your computers
  • Switch machines whenever you like, no limit
  • No account to create: the key arrives by email

Or download it for free first →

Refunded within 14 days, no questions asked.

Questions we get asked

Does this replace a monitoring service?

No, and it does not claim to. A monitoring service watches while your computer is off, wakes an on-call rota and keeps a year of history. Kestro watches while you work, and warns the one person already in front of the screen: you. It is the tool for a developer who wants to know whether staging is holding, not the one for a team keeping production up at three in the morning.

What happens when my Mac is closed?

Nothing is checked, and Kestro says so. The history carries the gap in plain words: “no measurements between such and such an hour, Kestro was closed”, rather than suggesting perfect uptime. When the machine wakes, checking resumes immediately instead of waiting for the next interval.

Do my addresses leave my machine?

No. Your machine is the one calling your services, directly. We receive neither the addresses you watch, nor the results, nor the time at which you open the panel: there is no account, and nothing to report back. That is also what makes it possible to watch an internal address, behind your VPN, that no outside service could reach.

How often, and can that be changed?

Every 30 seconds by default, and the interval is set per service. So is the threshold beyond which a response counts as slow: three hundred milliseconds for an internal API, two seconds for a page that renders a report. Same tool, different expectation.

Can I watch something other than a web page?

Yes: a host and a port are enough. A Postgres database, a Redis, a broker, an internal service with no health endpoint: if something accepts a connection, Kestro can check that it still does.

How many services can I watch?

As many as you like. There is no tier, no per-check billing and no quota: you pay for the licence once, and the number of services appears nowhere in the price. The checks run from your machine; it is your machine, not a subscription, that decides what is reasonable.

Does the trial ask for a card?

No, and it does not ask for an account either. You download, you get 7 full days. No card is asked for until you decide to buy.