Skip to content
Design Development Maintenance Performance Security

Company page

Our own site, rebuilt as the proving ground for everything we sell: a block library the editor owns, a Blade-driven theme, and a build pipeline we hand to clients unchanged.

webmotion.io home page in a desktop browser
At a glance
Client
webmotion — own product
Industry
WordPress development studio
Timeline
January 2026 — ongoing
Services
Design, Development, Maintenance, Performance, Security
Team
One — design, development and maintenance
The brief

What the project had to solve

The problem as it stood, and the decision that answered it.

Challenge

A studio site that had to prove the work, not describe it

Everything we sell — custom blocks, a themed editor, multilingual content, a maintained build pipeline — is invisible in a screenshot. The site had to be the demonstration, and it had to stay editable by the person running it without reopening the codebase for every change.

  • Nothing on a page should need a developer to change
  • Two languages, down to the global options
  • The same stack we hand to clients, no shortcuts
Approach

Every page assembled from blocks the editor owns

Rather than page templates, the theme ships a block library: each block is a definition, a service that normalises its fields, and a Blade view with an editor preview. Pages are composed from the same pieces a client would get.

  • Blade views and typed services instead of template tags
  • One card system shared by every listing
  • An editor preview for every block we ship
Technology

The stack we built it on

Grouped by layer rather than listed flat, so a reader can tell what is foundation and what is a choice we made here.

Foundation 04
  • WordPress CMS and block editor
  • ACF Pro Custom blocks and field groups
  • Polylang PL / EN across posts and options
  • PHP 8.2+ Typed services, strict mode
Theme layer 04
  • Sage 11 Roots theme scaffolding
  • Acorn 6 Laravel container inside WordPress
  • Blade Views, composers, services
  • Livewire 3 Filtered archives without a reload
Front end 04
  • Tailwind CSS v4 Utilities plus theme tokens
  • Swiper 11 Hero and testimonial sliders
  • PhotoSwipe 5 Screenshot lightbox
  • Locomotive Scroll 5 Scroll-driven reveals
Build & ops 04
  • Vite 6 Asset build and HMR
  • ddev / Docker Identical local environments
  • LiteSpeed + LSCache Production server and page cache
  • WebP Converter Automatic next-gen images
Also in the repo Composer Node 20 Laravel Pint Blade Heroicons WP-CLI i18n Yoast SEO
Integrations

What we connected it to

Each card names the system, what it does on this site, and which way the data moves.

  • SMTP

    WP Mail SMTP

    Form and system mail leaves through an authenticated relay instead of the server mailer, so nothing lands in spam.

    Site → relay → inbox
  • Schema

    Yoast SEO

    Structured data, sitemaps and per-language meta wired into the custom post types we registered.

    Site → search engines
  • i18n

    Polylang + ACF Options

    Two full language trees, including translated option pages, so global blocks are editable per locale.

    PL ⇄ EN
  • Forms

    Contact Form 7

    Templated in Blade rather than the plugin UI, so the brief and contact forms match the rest of the design.

    Visitor → form → inbox
  • Backups

    UpdraftPlus

    Scheduled database and uploads backups pushed off-server, with restores rehearsed on staging.

    Site → off-site storage
  • Endpoint

    Health check

    A must-use plugin reports core, PHP and plugin state to our monitoring, so drift is caught before a client sees it.

    Monitor → site → JSON
Design system

Colours and type it ships with

The palette and typeface are project data, not decoration — every swatch is a token the theme exports.

  • Ink #121212 Headings, dark panels
  • Graphite #3D3D3D List copy, chips
  • Slate #5F5F5F Body paragraphs
  • Sand #F3F1EB Primary · buttons, section grounds, cards
  • Base #FFFFFF Page, glass cards
  • Cobalt #016DC6 Links, eyebrows, focus rings
Typeface
Outfit Geometric sans · 9 weights Self-hosted, swap-free loading
  • ExtraLight 200
  • Light 300
  • Regular 400
  • Medium 500
  • SemiBold 600
  • Bold 700
Type scale
Display
96 / 0.94 / −0.035em
Section heading
46 / 1.1 / −0.025em
Card title
26 / 1.25 / 500
Body copy sets at sixteen over 1.65
16 / 1.65 / 400
Eyebrow label
12 / 0.12em / upper
  • 12px Buttons, controls
  • 16px Inner cards
  • 24px Listing cards
  • 30px Glass panels, media
  • 50% Circular controls
Every glass button on the site sits at 12px — the dominant radius in the stylesheet, and the one the FAQ, header, slider and portfolio controls share.
Surfaces Glassmorphism, as the primary surface The same panel the testimonial cards, the header controls and the buttons are built from. Glass button
Surfaces

Glassmorphism, as the primary surface

Every raised surface on the site is the same translucent panel over a blur: the testimonial cards, the header controls, the navigation dots and every button. One fill, one blur, one border — so depth is a property of the system rather than a decision taken per component.

Fill
rgb(0 0 0 / 9%)
Blur
blur(20px) saturate(1.2)
Radius
30px
Border
1px transparent, padding-box
Buttons
rgb(0 0 0 / 60%), blur(12px) at 12px
Screens

The product itself

Captured from the live site. Every tile opens in a lightbox at full size.

webmotion.io home page in a desktop browser
Home — the animated statement, then the stats strip and the portfolio showcase on one scroll.
WordPress themes development service page: hero with the offer and the at-a-glance facts
Service page — the offer up front, then the at-a-glance facts; every section is one block.
Contact page showing the ticket steps and email strip
Contact — the ticket steps and the email strip, one block each.
Custom themed WordPress login screen
Login — a themed sign-in screen, not the WordPress default.
Highlights

What we actually built

The six pieces the site stands on — each of them also goes into the sites we build for clients.

  1. 01

    A block library, not a page build

    Thirty-three custom blocks, each a block definition, a service and a Blade view — editors assemble pages we never have to touch again.

  2. 02

    Archives that never reload

    Portfolio, blog and guides list through Livewire components, so filtering and load-more stay on the page.

  3. 03

    Bilingual to the last option

    PL and EN trees with translated ACF option pages, and theme strings extracted through the standard i18n tooling.

  4. 04

    Glass as the primary surface

    One translucent panel — 8% fill, a 12px blur, a hairline border — defines every card, control and button, shared by the blog, the guides archive and every list block.

  5. 05

    A performance pipeline, not a plugin

    Vite-built assets, automatic WebP conversion and LiteSpeed page caching, configured together rather than bolted on.

  6. 06

    Monitoring shipped with it

    A must-use plugin reports core, PHP and plugin state, so we see drift on a client site before the client does.

Results

What it changed

Measured on the live site rather than estimated — the note under each figure says where it came from.

0 Cumulative Layout Shift Lighthouse 12.8, mobile, 22 Sep 2026
160 ms Server response time Root document, same run
33 Blocks in the library Pages built without a developer
Scope delivered

The qualitative half of the result — what can now be done without opening the codebase.

  • Custom block library with editor previews
  • Two-language content model
  • Portfolio and guides as first-class post types
  • Caching, WebP and asset build configured together
  • SEO schema across every post type
  • Backups and health monitoring in place
Clawby, the webmotion mascot: a glossy red crab waving one claw Hi, I'm Clawby. Mascot · since 2026
Our mascot

Meet Clawby

Clawby is the crab who keeps an eye on every build we ship. A crab because good code, like a good shell, exists to protect what lives inside it — and because when the straight road is blocked, Clawby simply walks around the problem sideways.

Job title
Chief Morale Officer
Spotted in
Right here for now — more of the site soon
Fun fact
Two claws, zero merge conflicts
Next project
Lenno — Łęgi Warty home page: estate photo and the apartment availability card
Housing development site Design · Development · Maintenance · Performance · Security
Start something

Have a project that should work like this one?

Send the brief, or book a call and talk it through. We answer with scope and a range, not a template.

Cookie settings

You can change your consent at any time — the “Cookie settings” link is in the footer.
Strictly necessary Language version, your cookie settings and protection against attacks (Cloudflare). Always on.
Always
Google Analytics — number of visits, most read pages and where visitors come from. Cookies _ga and _ga_XRELMTQDKT, 2 years.
Details: Cookie policy · Privacy policy