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%
- “Queen of Spades” quest page −49%
- Art Quest home page −29%
Images: the sum of 59 file sizes from the repository history. Pages: download weight by Lighthouse before the rollout and on 29 October 2026.
- −75%weight of 59 heavy images20.46 → 5.02 MB
- 1,565 → 794 KBweight of the “Queen of Spades” quest page49% less
- 134 → 0contrast violations in the booking widget
- 141 → 55 pxheight of the cookie bar on a phoneit used to be a card covering a fifth of the screen
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
One slim bar instead of a card
The cookie notice had duplicates and different wordings. We kept one: a slim bar at the bottom with one short text and a button.
We removed the duplicates from 18 Art Quest pages. The bar hides while a guest types in a form field, so it never covers the keyboard. On the day of the rollout it took 63 pixels, 9% of the screen. With one text for all three sites, the control run on 29 October measured 55 pixels on a 375 by 667 phone, 8%.



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.

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.
- Images and cookie barwebp for 59 images, one cookie bar, widget contrastRollback: copy of replaced files, one archive
- Web servershared MORPHEUS payment styles (used to return 404)Rollback: copy of the configuration before the edit
- Payment screensa button back to the site, hints for an empty orderRollback: copy of replaced files, one archive
- Fontswoff2 with woff fallback, two first-screen fonts preloadedRollback: copy of replaced files, one archive
- iPhone fixesform fields, tap targets, first-screen legibilityRollback: copy of replaced files, one archive
- 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.
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
- The deployment log for 28 October 2026 and the repository history of the sites: file sizes before and after.
- The work record and the rollout report with page-weight measurements taken before the rollout.
- A control Lighthouse run on 29 October 2026 on the public addresses (page weight) and a measurement of the cookie bar height.
- Before and after frames from the public pages of Art Quest and Horror Cinema.
Next system
Gift certificates with online payment and a personal link →