HomeInsights › Case study

Case study · Makyson Building Company

Six seconds of waiting, cut by nearly half.

Makyson Building Company builds custom homes on the South Shore and Cape Cod. Their website is a portfolio: 135 photographs across seven builds. That is also what was making people wait. We rebuilt it, measured it before and after, and the numbers below are from the live site.

  • Web design
  • WordPress replacement
  • Performance
  • Local SEO
  • Hosting

The situation

What a builder’s website is actually for

Nobody hires a builder from a paragraph. They hire from photographs: the kitchen that looks like the one they want, the addition that matches their roofline, the finish work up close. A builder’s website is a portfolio with a phone number attached, and everything else on it is supporting cast.

Which puts a contractor’s site in an awkward position. The photographs are the product, and photographs are heavy. Makyson had 135 of them across seven completed builds: two in Harwich Port, and one each in Sandwich, Osterville, Canton, West Dennis and Foresdale. Every one of them earned its place. None of them could simply be thrown away to make the site quicker.

The original site ran on WordPress with Elementor. It worked, it looked right, and it was slow in the specific way that page-builder sites are slow: not broken, just always a beat behind.

Before touching anything

Measure first, or you are guessing

We ran Lighthouse against the live site on a simulated mobile connection and wrote the numbers down before changing a single file. That baseline is the entire point. Without it, every claim afterwards is a feeling.

The baseline said: performance 67, largest contentful paint 6.0 seconds, first paint 2.8 seconds, just over a megabyte of page weight. Accessibility was already 95 and SEO already 100, which told us the previous build was competently done and the problem was narrower than a rewrite.

Six seconds matters because of what a visitor is doing at that moment. They are standing in a half-finished kitchen with one bar of signal, showing their partner a builder they found. Six seconds is long enough to give up.

Diagnosis

Where the time was actually going

Three causes, and the order of them was not what we expected going in.

The big photograph at the top was being sent out four times larger than it was ever shown. A phone screen only about 400 dots across was downloading a picture over 1,000 dots wide, weighing 185KB. It was the heaviest thing on the page, and it is the one the phone waits for before the page looks finished.

The lettering was being fetched from someone else’s servers. The two typefaces the site uses were downloaded from Google every time a page opened. That means the visitor’s phone had to go and ask a completely different company for them, wait for an answer, and only then start drawing any words on screen. On office broadband nobody notices. On a phone at a job site, that is most of a second staring at a blank page.

Every photograph was saved in an old format. They were all JPEGs, the format cameras have used for decades. There is a newer one called WebP that produces the same picture at a noticeably smaller size, and every browser has understood it since 2020. The site was not using it anywhere.

Notice what is not on that list: WordPress itself. Page builders get blamed for a lot, and they do add weight, but the measurable problems here were all delivery decisions that would have hurt on any platform.

What changed

Three fixes, in order of what they were worth

The photographs now come in several sizes. That top image exists at three different sizes and the phone takes whichever one fits its screen. A phone gets a version weighing 40KB instead of 185KB. Same picture, just as sharp on that screen, roughly a fifth of the download.

The lettering moved in-house. Both typefaces now live on Makyson’s own site, and the two you see first are fetched straight away rather than being discovered halfway through loading. No detour to another company, and as a quiet bonus, nobody else gets told who is visiting.

All 135 photographs were converted to WebP. The original files are kept safely off the website, so any picture can be remade at a different size later without anyone going back out to the site with a camera.

One deliberate exception. Six of the photographs are the ones that appear when somebody shares a page on Facebook or LinkedIn, and those six kept an old-format copy as well. Social networks are still unreliable with the newer format, and a share that turns up with a blank grey box instead of a photograph costs far more than the handful of kilobytes it saves.

The result

67 to 84, on the live site

Measured the same way as the baseline, against the deployed site rather than a local copy, on the same simulated mobile connection.

Lighthouse performance score, mobile
Before 67
After 84

Measured with Lighthouse 13, the speed test built into Google Chrome, set to imitate a mid-range phone on a slow connection. Run against makysonbldg.com before and after the work, on 19 August 2026. Run it yourself; the score will wander by a few points between runs, as Lighthouse always does, but the before-and-after gap will not.

The metric that matters most to a visitor is largest contentful paint, which is roughly “when does the page look finished”. That went from 6.0 seconds to 3.4 seconds. First paint went from 2.8 seconds to 1.9. Page weight came down from 1,088KB to 938KB, which sounds modest until you remember the photographs did not get smaller on screen, only in transit.

Lighthouse scores on the live site, tested as a phone
CategoryBeforeAfter
Performance6784
Accessibility9595
Best Practices77100 (see note)
SEO100100

* Best Practices is 100 for everything Makyson’s site itself contains. If you run Google’s test on the live address you will see 81, and the entire gap is one file that Cloudflare, the anti-spam service in front of the site, adds to every page. That file uses an ageing piece of code, the test notices, and the site gets marked down for something nobody at Makyson wrote or can change. We show the score for the site itself, and tell you exactly why the live number differs.

Accessibility held at 95 and SEO stayed at 100 throughout. Nothing was traded away to buy the speed.

The unglamorous part

What we did not fix

Layout shift is unchanged. Lighthouse scores the page 0.153 for it, which is above the 0.1 that counts as good, and it is the one number we set out to improve and did not.

Here is what causes it. For a fraction of a second the big heading appears in a stand-in typeface, then the real one arrives and the words change shape slightly, which nudges everything below them. The usual fix is to pick a stand-in that takes up exactly the same room. We tried it, measured it, and it made things worse rather than better, so we took it straight back out. We would rather leave a small known problem than ship a change we cannot prove helped.

Worth knowing: on an ordinary connection this measures zero. The movement only shows up under the deliberately awful conditions the test imitates. That does not make it imaginary, because plenty of real people are on bad signal, but it does put it in proportion.

We would rather write that down than quietly leave it out. A case study where everything improved is a case study where somebody stopped measuring.

The part most vendors skip

Max owns all of it

The contact form on the site posts to an account in Max Oliveira’s name, not ours. If Makyson and Knowledge Designs parted company tomorrow, the enquiries would keep arriving in his inbox and nothing would need to be handed over, because nothing is being held.

The same applies to the site itself. It is plain HTML, CSS and JavaScript with no build step, no database and no framework. Any competent developer can open it and understand it. That is not an accident of taste; it is what makes a site something a business owns rather than rents.

It is the same principle behind everything we build, and the reason our guide to switching providers exists at all. A supplier who holds your domain, your forms or your hosting logins has a commercial interest in you not leaving.

If you run a contracting business

What this means for your site

Three things are worth taking from this even if we never speak.

Get a baseline before anyone touches anything. Lighthouse is free and built into Chrome. Run it on your own site, on mobile, and write the number down. Any web company that proposes work without one is asking you to take improvement on faith.

Your photographs are almost certainly the problem. For a contractor they nearly always are. Ask whoever runs your site whether images are served at the size they are displayed. If the answer is vague, that is the answer.

Fast is not a vanity metric for a trade. Your visitor is frequently outdoors, on a phone, on a bad connection, comparing you against two other builders. Loading is the first thing you do for them, and they judge it.

If you want the same treatment, our web design and development work starts by measuring what you have. We will tell you honestly if the answer is that your current site is fine.

Common questions

No. Every fix described here is a delivery decision and all three can be made on WordPress. We prefer to build static sites — plain files with no WordPress behind them — because there is less to break and nothing to keep patching. But the gains measured here came from how the pictures and lettering were delivered, not from the software underneath.

Not if it is done properly. The photographs on Makyson’s site look identical; what changed is that a phone is no longer sent a version four times larger than its own screen can display. Quality is only lost when someone compresses a picture below what its display size needs, which is a different mistake.

Open your site in Chrome, press F12, choose the Lighthouse tab, select Mobile and Performance, and run it. The score and the largest contentful paint figure are the two to note. Under 2.5 seconds is good, over 4 seconds needs work. You do not need us to do this, and you should not need permission from whoever built your site.

It is one signal among many, and a modest one. The honest reason to be fast is that people leave slow sites, and a visitor who leaves cannot become a customer no matter where you rank. Treat speed as something you do for the person, and let the ranking be a side effect.

Because Max asked to be. We keep client names off this website by default, for security reasons we explain on our about page. The exceptions are the client’s to make, never ours, and never a condition of working with us.

Want to know what your site scores?

We will measure it, tell you what is costing you time, and be straight about whether it is worth fixing. No charge for the answer.