A retainer plus hours.
The fixed monthly fee covers our standby: monitoring, the SLA and on-call cover. On top of that you get developer hours, which you can use for small features or which go on bug fixes.
JavaScript applications need regular care. npm dependencies get security fixes all the time, and every Node.js upgrade can break something. So our maintenance contract states a response time, a monthly bucket of hours and a written scope, rather than a promise to get back to you after an outage.
Each tier's price is a monthly retainer plus a bucket of hours. These are the four rules we agree before the contract is signed.
The fixed monthly fee covers our standby: monitoring, the SLA and on-call cover. On top of that you get developer hours, which you can use for small features or which go on bug fixes.
A critical outage (P1) has a contractual response time, measured in hours (or minutes on Enterprise) rather than business days. If we miss it, the hours go back into your bucket.
You are paying for our time and availability in a given month. Up to 20% of unused hours roll over to the next month, so they don't pile up indefinitely.
The SLA defines a critical bug in writing: users can't log in, the basket doesn't work, payments fail. A typo in a heading is not a P1, however bad it looks.
We look after everything from stable side projects to online shops turning over €25M a year. If none of the tiers fits, we'll put together a custom agreement.
Stable projects that rarely change, where a short outage isn't a disaster.
Applications under active development that earn revenue and need regular changes.
High-traffic online shops and B2B SaaS, where every minute of downtime costs revenue.
Every difference between the tiers in one table.
The most common SLA misunderstanding: someone reports a typo as a P1 and a developer gets woken at 3am. That's why both lists are written into the contract.
A short overview so your first invoice holds no surprises.
Yes: implementation, code review and deployment, billed in 15-minute blocks.
Yes. Scoping a new feature is work, so it comes out of the bucket. It usually takes 30–60 minutes.
All bugs (P1, P2, P3) come out of the bucket. If we can see an incident will use more than the bucket, we tell you early.
Active and Critical tiers only. We do them on a regular schedule, outside the bucket.
These don't use hours; they are covered by the retainer.
These don't use hours. On Active and Critical they are covered by the retainer.
We also agree custom SLAs, for example with a dedicated developer at 0.5 or 1.0 FTE, a signed SLA with financial penalties for missed response times, or an audit and retainer in one contract. Thirty minutes is usually enough to talk it through.
Discuss a custom SLA