Skip to content
SemCue

Art Quest · Horror Cinema · MORPHEUS

Three websites lighter and easier to use.In one shift.

We took the websites of an escape-room company, a horror cinema and an immersive theatre the way a guest sees them on a phone. Images weighed megabytes, a cookie card covered a fifth of the screen and the labels of the booking widget failed a contrast check. In one day we shrank images and fonts, replaced the cookie card with a slim bar, fixed the widget contrast and the post-payment screens. Each layer went live with a backup and a rollback.

Live · shipped on 28 October 2026 · control run on 29 October

Download weight

  • 59 heavy images −75%
    before 20.46 MB
    after 5.02 MB
  • “Queen of Spades” quest page −49%
    before 1,565 KB
    after 794 KB
  • Art Quest home page −29%
    before 572 KB
    after 404 KB

Images: the sum of 59 file sizes from the repository history. Pages: download weight by Lighthouse before the rollout and on 29 October 2026.

What a guest saw on a phone

A guest opens the Art Quest home page on a phone. A cookie card sits over the page. On a 375 by 667 pixel screen it took 141 pixels, 21% of the height, and covered the buttons.

Then came the images. The heaviest file weighed 1.94 MB. The “Queen of Spades” quest page pulled 1,565 KB. For a guest on a phone that is extra weight on every page.

We picked the layers that pay off most and shipped them separately: the backend went out in seven deployments. We measured page weight with Lighthouse on the public addresses before the rollout and again on 29 October 2026.

A 1.94 MB picture became 24 KB

On the Art Quest and Horror Cinema sites we converted 59 heavy images to webp. The files became about four times lighter.

Those 59 files added up to 20.46 MB and now come to 5.02 MB. That is 75% less. The originals stayed in place, and the old links can be restored at any moment.

  • 1.94 MB → 24 KBthe heaviest image
  • 1.75 MB → 74 KBthe second heaviest
  • 1.20 MB → 19 KBthe third heaviest

We left the social-preview images and search markup alone, so links to the sites look the same in messengers.

Fonts less than half the size

Art Quest sets its pages in Nunito, five faces. Each weighed 85–91 KB in the old woff format. We rebuilt them as Latin and Cyrillic subsets in woff2: 38–40 KB each, less than half the size.

Two fonts now load ahead of time, and the old format stays as a fallback. On the certificate pages, fonts no longer hold back the text.

Together with the images this brought the “Queen of Spades” page to 794 KB instead of 1,565 KB: 49% less. The control run on 29 October showed 792 KB. The Art Quest home page went from 572 to 404 KB, 29% less.

Before

  • Font: 85–91 KB per face
  • Quest page: 1,565 KB
  • Art Quest home page: 572 KB
  • Images: 20.46 MB across 59 files

After

  • Font: 38–40 KB per face
  • Quest page: 794 KB
  • Art Quest home page: 404 KB
  • Images: 5.02 MB across 59 files

Booking widget: 134 contrast violations, now zero

The Art Quest pages of two adult quests, “Проклятие монахини” and “Проклятие монахини 2.0”, embed a booking widget. A guest picks a day and a time in a grid of slots. Taken times merged into the background and the labels under the slots were pale.

An automated accessibility check (axe) counted 134 contrast violations at 375 and 1440 pixels. We added one stylesheet on top of the widget. The labels are legible and taken slots are struck through. Zero violations, and the slots stay visible and clickable.

Booking widget. On the left faint taken slots and pale labels, on the right legible labels and struck-through taken slots
The booking widget: before on the left, after on the right. The interface is in Russian

Payment screens without dead ends

A guest could open a gift certificate link and see “Certificate not found” with no button at all. The screen now has a button back to the site.

Separately, we handled a return to the payment page without order data. Instead of an empty form, the guest gets a clear message. MORPHEUS also received its shared payment-page stylesheet: that file used to return a 404.

  • Certificate

    Certificate not found

    A branded screen with a button back to the site.

  • Payment

    Return without an order

    A short hint instead of an empty form.

  • MORPHEUS

    Payment page

    The shared stylesheet is connected and the page looks like the site.

Layers, not one big release

The backend part of this wave went out in seven deployments on 28 October. Before each one we saved the files it replaced. The comparison of the server tree with the repository, before and after the deployments, came back with no differences.

Images with the cookie bar and widget contrast, payment screens, fonts, iPhone fixes and pixels went out as separate layers, each with its own backup. A layer can be rolled back without touching the others.

  1. Images and cookie barwebp for 59 images, one cookie bar, widget contrastRollback: copy of replaced files, one archive
  2. Web servershared MORPHEUS payment styles (used to return 404)Rollback: copy of the configuration before the edit
  3. Payment screensa button back to the site, hints for an empty orderRollback: copy of replaced files, one archive
  4. Fontswoff2 with woff fallback, two first-screen fonts preloadedRollback: copy of replaced files, one archive
  5. iPhone fixesform fields, tap targets, first-screen legibilityRollback: copy of replaced files, one archive
  6. Cookie script, updateone bar text on all three sites, a new order of loading the countersRollback: copy of replaced files, one archive

The server tree was compared with the repository before and after the deployments: no differences.

The main rollout layers. Each has a backup and a way back to the previous state.
How we checked the result
  • Page weight: Lighthouse on the public addresses before the rollout and a control run on 29 October (quest page 792 KB, Art Quest home page 404 KB).
  • Widget contrast: automated axe check at 375 and 1440 pixels.
  • Before and after frames taken on the public pages of Art Quest and Horror Cinema.

How it was built

How it was done

We began with measurements, then took off the heaviest items. Each layer shipped separately, with a backup before the deployment.

  • MeasurePage weight with Lighthouse, file sizes from the repository history, axe for contrast, before and after frames.
  • ShipLayer by layer to the live sites, a backup before each, the server compared with the repository before and after.
  • VerifyA control run the next day on the public addresses.

For technical readers

For technical readers

Images
webp beside the originals, HTML links replaced; social-preview images and search markup unchanged.
Fonts
Nunito in woff2 with Latin and Cyrillic subsets, woff fallback, preload for two fonts, css version in the URL.
Cookie bar
One script on three sites, a fixed bottom bar, hidden while an input has focus.
Accessibility
A separate contrast stylesheet over the embedded widget, checked with axe color-contrast.
Server
Docker build of the backend, Caddy for MORPHEUS, an archive of replaced files and rollback scripts.

Where the numbers come from

Sources

Next system

Gift certificates with online payment and a personal link →

SemCue / Let’s talk

What would you like to work on?

Tell us about your project and what you need. A rough idea is enough.

Get in touch on Telegram

We’ll discuss your goals, where things stand and the right next step.

Discuss your project on Telegram
In developmentThis site is still being built, so things may change.