JT Book a call

PerformanceYour slowest pages, found and fixed in two weeks.

We time where your users wait, fix the worst of it and show you the numbers before and after.

Book a call

The client we made faster:

Your Rails app got slower as it grew, and your team is busy shipping the roadmap. On Sprint terms, we spend two weeks on speed alone: we time the requests your users wait on and fix the slowest ones in your code.

At Crosslake, a Rails app we worked on for 4+ years, average request time went from 5 seconds to 0.5 over that engagement, not in one Sprint. A Sprint is a much smaller piece of that work: a target agreed up front, and the numbers to show whether we hit it.

How we find the slow path

Before we change any code, we pick the requests in the scope and record how long they take on production, from the monitoring you already run or from your server logs. Those times go into the scope as the “before”.

Then we look inside each slow request to see where the time goes. Usually it is one of these:

  • one database query run again for every row on the page (an “N+1 query”)
  • a query with no index, reading a whole table to find a few rows
  • a call to another service that the page sits and waits on
  • a heavy template rebuilt on every request when it could be cached

We fix the few that cost the most, with tests, through your normal review and deploy. At the end we time the same requests the same way, and you see the before and after side by side in the Friday report.

What fits in two weeks

Work on requests you already know are slow: a dashboard that takes seconds to open, or a search that times out. If you don’t know which ones they are, finding them is where the Sprint starts.

A rewrite or a framework upgrade doesn’t fit in two weeks. That is longer work, done by Embedded engineers.

What it costs

$3,200 per Sprint. The scope is agreed in writing before we start. Anything new becomes a second Sprint at the same $3,200.

Questions CTOs ask first

What do you need before we start? Scoping is free: one 30-minute call and a read-only look at your repo, with a written scope within 2 working days. For speed work we also ask for read access to your monitoring or logs.

What counts as done? The scope names the requests, the target time for each and how we measure it. If a request misses its target, the Payment and slips row in Terms says what you pay.

Is this only for Rails? Crosslake was a Rails app. Timing a request, finding where its time goes and timing it again work the same way in any web stack; on the call we tell you whether we know yours well enough to take it on.

Who owns the code? Yours from the first commit, IP included.

Read our performance write-ups

Terms

Payment and slipsHalf at signing, half when the scoped requests hit their target times on production, measured the way the scope says. If they don't within ten working days, we work up to 5 more days at no charge. If they still don't, we don't invoice the second half. The code stays yours.
ExclusionsTargets cover only the requests named in the scope, measured with the tool the scope names. They don't count while your traffic, data or code changes on your side during measurement.

Tell us what you need built

JetThoughts has been building software since 2008. Book a call, or write to sales@jetthoughts.com. You'll leave the call with a written one-page scope within 2 working days.

#01 Paul Keen
Paul KeenFounder & Open Source Contributor

A 30-minute call; pick a time.