Apto partners with cloud service providers expanding into high-growth European markets. Their audience - cloud operators, institutional investors, and senior infrastructure decision-makers - reads websites critically. Visual credibility is a signal of operational competence in this sector. A generic WordPress theme or page builder implementation would not meet that bar.
The second requirement pulled in the opposite direction: the internal content team needed to update all copy, images, and page content without developer involvement for routine changes. Most solutions to this problem reach for a visual page builder. Page builders solve the self-management problem by introducing performance overhead, architectural fragility, and markup that becomes unmaintainable as the site grows.
The design challenge was delivering both - a site that reads as enterprise-grade to a sophisticated technical audience, and a content management layer that the internal team can operate independently - without the compromises that typically come with either approach.
The theme was built from scratch as a fully custom WordPress theme with no parent theme dependency. Two decisions shaped the entire architecture:
Custom UIkit Build as Design Foundation
UIkit provides a production-tested component library, grid system, and animation utilities - including the parallax and scrollspy modules used throughout the site - in a single well-maintained package. A custom UIkit build compiled with Apto-specific colour and typography overrides produced the branded stylesheet without generic framework bloat. This approach delivers consistent animation behaviour and a unified component vocabulary across all pages without reinventing layout primitives from scratch.
Kirki Customizer for Self-Managed Content
Every section on every page - headlines, body text, CTAs, images, panel colour modes, video URLs - is registered as a Kirki Customizer control with sensible defaults. The content team edits through the WordPress Customizer with a live preview. Default values are set for every field so the theme renders correctly on a fresh install before any content has been configured. No shortcodes, no page builder panels, no developer access required for routine content updates.
Section-Based PHP Architecture
Each page type (home, about-us, data-centers, why-apto, careers) has a dedicated page template that includes section files from a corresponding subdirectory. This means per-page layout changes are isolated - editing the Why Apto section cannot affect the Data Centres page. The Why Apto section uses a Kirki repeater control that renders alternating image-text panels with a per-panel colour mode selector (dark, navy, orange, yellow), letting the content team build the page narrative with visual variety without touching markup.
UIkit Parallax and Scroll Animations
The home page hero uses UIkit’s parallax module for a depth effect as the user scrolls - the heading moves at a different rate to the background image. Section entry animations use UIkit scrollspy: elements animate in from below as they enter the viewport, staggered per-element. No additional JavaScript dependencies required.
Self-Hosted Avenir Next Typography
Five-weight Avenir Next family (UltraLight, Regular, Italic, Bold, BoldItalic) served as WOFF/WOFF2 files eliminates the external font CDN request and ensures consistent rendering without flash-of-unstyled-text from a remote font load. The brand colour system is implemented as UIkit colour overrides in the custom compiled stylesheet.
Careers Page with Live Job Feed
The initial Customizer-managed job listing table was replaced with a live job feed integration pulling from the external recruitment system the Apto HR team manages. The resulting careers section renders a dynamically populated job list with per-role application links. A custom single-job.php template handles individual job detail pages within the same visual system as the rest of the site. The graduate programme section remains Customizer-managed for content the HR team writes directly.
The Apto site communicates hyperscale infrastructure expertise to a sophisticated B2B audience without the visual compromises of a template or the architectural compromises of a page builder. The internal team updates all copy, images, and page content through the WordPress Customizer without developer involvement for routine changes.
Following the initial build, Apto moved to an ongoing monthly maintenance retainer - WordPress core and plugin updates, security monitoring, and site backups managed proactively. This is the outcome the build was designed for: a site the client owns completely, maintained by a developer who knows the codebase, without dependency on external support for either routine content or routine maintenance.
UIkit vs Page Builder
UIkit was chosen over Elementor or Divi specifically because it does not add post meta or shortcode markup to the database, does not break page layouts on plugin updates, and produces markup that a developer can read and modify without reverse-engineering a page builder’s output. The performance difference on a B2B site where page load time is a credibility signal matters.
Kirki Bundled into Theme
Kirki 3.1.9 is bundled directly into the theme rather than installed as a plugin dependency. This prevents version conflicts from independent plugin updates and ensures the Customizer controls are always compatible with the theme’s field definitions.
Careers Feed Architecture
The job feed integration pulls from an external recruitment system API and renders within the WordPress template context, so the careers page is part of the same visual system as the rest of the site rather than an embedded iframe. The single-job.php template handles individual job URLs within the WordPress permalink structure.
Colour System via UIkit Overrides
The brand colour system (dark navy #020A10, orange #F06642, yellow #FFBF00, blue #0D4766) is defined once as UIkit Less variable overrides in the custom build configuration. This means colour updates propagate through the entire component library rather than requiring scattered find-and-replace across templates.