Launching Porro: one place for every site on your care plans
At 1994 we look after forty client sites. Porro is what we built so we stop finding out about problems from our clients: uptime, certificates, versions and advisories in one place, with updates that arrive as pull requests.
At 1994 we look after forty Craft, Statamic and Laravel sites on care plans. Looking after them well used to mean a lot of tabs: hosting dashboards, uptime monitors, each site's control panel, and a terminal to run composer audit against every project in turn. Most of the time it was fine. The times it wasn't, the client often noticed before we did.
Porro is what we built to fix that. Its job fits on the homepage: spot the problem before your client does.
Stop logging into forty control panels
Porro puts every site on your care plans in one list: uptime, certificates, domains, versions, security advisories and health. You can import your whole roster in minutes, and on Forge, Porro installs its connector for you through a pull request.
It looks at each site from two sides.
- From the outside. Uptime as often as every minute, from your choice of 12 regions, with any failure re-checked from a second region before anything is called down. SSL certificates every six hours, domains daily.
- From the inside. A small connector in each site reports the facts that can't be seen from outside: framework and package versions, advisories in
composer.lockandpackage-lock.json, and whether the scheduler, queues and backups are actually running.
It works with Laravel, Filament, Statamic, Craft CMS and JavaScript projects, on Forge, Laravel Cloud, Ploi, any VPS, and Vercel, Netlify or Pages for JavaScript. WordPress is on the way.
Updates you can merge, not just a list
A list of outdated packages is only half the job. When there's an update to make, Porro opens a pull request with fresh Composer or npm lock files, in one click. Major versions stay with you: they're a decision, not a chore.
There are firm lines around that. Porro never pushes to a main branch, never merges and never deploys. You review the pull request and ship it the way you ship everything else.
Loud when it matters, quiet the rest of the time
Monitoring that cries wolf gets muted. So only a site that's down or a critical advisory interrupts you, in Slack or by email, with buttons to acknowledge or snooze it right there. A site counts as down only when both regions fail three checks in a row, and a slow site never pages anyone on its own. Everything else waits for a morning round: one summary of what changed overnight.
Built on our own sites first
Porro started as a brief on 19 October, and the first commit landed the next day. Everything it does today runs against our own forty sites. The plan it's priced around, Studio, is the one 1994 runs on. The goal we set it is simple: save twenty minutes per site, per month.
Pricing
Porro is priced by sites, not seats, so adding a developer to your team never changes the bill.
| Plan | Sites | Check regions | Uptime checks | Price a month |
|---|---|---|---|---|
| Freelancer | 10 | 1 | every 5 minutes | £24 |
| Studio | 40 | 2 | every 3 minutes | £99 |
| Agency | 120 | 3 | every minute | £299 |
| Enterprise | 300+ | all | every minute | from £599 |
Prices exclude VAT, and paying yearly costs ten months. Every account starts with a 28-day trial with the Studio plan's features, and no card needed.
What's next
On the way: monthly client reports, the WordPress connector, pull requests for pnpm and Yarn projects, one-click installs on Laravel Cloud and Ploi, and data export.
If you look after client sites, start a trial at porro.dev. I'd love to hear what it catches for you.