GLASS v11

GLASS

I rebuilt the entire WordPress admin because wp-admin is hostile to the people who actually use it. GLASS is a complete admin shell, canvas page builder, Robot AI assistant, portal system, form engine, and themeless rendering engine, all in one lightweight package. This entire website, every page, the header, the footer, is built and rendered by GLASS.

0 Lines of Code
0 Section Types
0 AI Tools
0 jQuery
Scroll

WordPress Admin, Reimagined

GLASS replaces the entire WordPress admin with a tabbed desktop shell, then goes further: a visual page builder with 65+ section types, a canvas live editor, mega-navigation header and footer builders, a multi-persona AI assistant with 50+ tools, a customer and staff portal system, a full form engine, and a themeless rendering engine that eliminates WordPress themes entirely. Every page GLASS renders is a standalone HTML document under 100KB. No theme inheritance. No jQuery. No bloat. This entire website, every page, the header, the footer, is GLASS.

The Glass Shell

The admin shell is the foundation. GLASS replaces wp-admin entirely with a clean, tabbed interface served on frontend clean URLs, /glass/ instead of /wp-admin/. Every feature in GLASS registers as an "app" in the shell's registry. Apps appear as tabs along the top bar and icons in the sidebar. The shell renders as a standalone HTML document with its own asset pipeline, no wp-admin overhead, no plugin conflicts, no admin stylesheet collisions.
🪟

Glass Windows

A floating windowed desktop environment inside WordPress. Drag to reposition, resize from any edge, snap to screen edges, minimise to a taskbar. Run multiple admin panels side by side, edit a page while checking invoices, write a post while monitoring tickets. Alt+W toggles desktop mode. Each window is an isolated iframe with tab promotion: if the plugin inside has tabs, they float up into the window chrome.

⌨️

Spotlight Search

Ctrl+K opens a command palette that searches across every app, page, user, setting, and action registered in GLASS. Substring matching with keyboard navigation. Results include the app icon, title, and deep-link URL. It's the fastest way to navigate WordPress, one shortcut gets you anywhere. Every AJT plugin registers its own Spotlight provider, so Stripe Pro invoices, MSP Hub tickets, and Robot workflows are all searchable from the same bar.

📌

Beads Desktop

The GLASS desktop is a grid of Beads, customisable tiles that act as app launchers, quick links, or information widgets. Drag to rearrange, group by folder, and pin your most-used tools. Beads show live badge counts (unread form submissions, pending updates, open tickets) so you see what needs attention the moment you log in. Group notes let teams pin shared messages to tile clusters.

🔒

Glass Lock

Restrict non-admin users to the GLASS interface. When Glass Lock is active, staff, editors, and contributors never see raw wp-admin, they're redirected to the clean shell automatically. Per-role access rules control exactly which apps each role can access. Combine with the menu suppressor to completely hide WordPress's native admin menu items.

🔗

Clean URL System

GLASS serves its admin on clean frontend URLs: /glass/ for the dashboard, /glass/infinite for the page builder, /glass/users for user management. Old wp-admin URLs 301 redirect to their clean equivalents. The base slug is configurable, change it to /portal/, /dashboard/, or /admin/ from settings. When combined with white-label branding, the entire admin can be presented as a bespoke platform with zero WordPress fingerprint.

📦

Plugin Adoption

Any WordPress plugin can be "adopted" into GLASS. Adopted plugins render inside iframes within the shell, no code changes required in the adopted plugin. WooCommerce, Yoast, Gravity Forms, anything with an admin page can be pulled into the GLASS tab bar. The adoption system detects sub-tabs within the iframe and promotes them into the window chrome for a native feel.

Infinite Page Builder

Infinite is a visual page builder with 65+ section types, a canvas live editor, and a library of 33 page presets and 132 section templates. Every page is rendered as a standalone HTML document, no theme template, no wp_head() bloat, no jQuery. Typical page payload: ~60KB CSS + ~15KB JS + content. Pages are stored as custom post types with JSON section data, making them portable, exportable, and programmable.
🎨

Canvas Live Editor

The Canvas editor turns the builder into a WYSIWYG experience. The page IS the editor. Click any element to select it, drag to reposition, resize handles on every edge. A property panel slides in from the right with the selected element's styles, colours, spacing, typography, borders, shadows. Changes render in real-time. Undo/redo with Ctrl+Z/Y. Contenteditable text means you type directly into headings and paragraphs on the live page.

🧱

65+ Section Types

From hero banners and feature grids to pricing tables, testimonial carousels, before/after comparisons, horizontal scrollers, Lottie animations, image mosaics, editorial layouts, portfolio galleries, progress bars, countdown timers, FAQ accordions, tabbed content, comparison tables, stats counters, team grids, logo tickers, timeline sections, and more. Each type has deep configuration, not just text fields but layout variants, animation options, responsive controls, and style overrides.

📋

Layer Panel & Clipboard

A vertical layer panel shows every section on the page in a reorderable list. Drag to rearrange. Right-click context menu on any section: duplicate, copy, paste, move up/down, delete, toggle visibility. The clipboard is persistent, copy a section on one page, paste it on another. Copy/paste works across browser sessions because it's stored in user meta, not the browser clipboard.

📄

Templates & Presets

33 page presets cover Business, SaaS, Portfolio, Blog, Landing Page, and more, each a complete page with header, footer, and 6-10 sections of real content. 132 section templates let you drop in pre-designed sections and customise from there. Import/export as JSON bundles. Site kits bundle pages + header + footer as a single transferable package.

📱

Responsive & Animated

Every section has per-breakpoint responsive controls for padding, font size, and visibility. Frontend JS uses IntersectionObserver for scroll-triggered animations, no scroll event listeners, no jank. Six animation types: fade-up, fade-in, slide-left, slide-right, zoom-in, none. The engine respects prefers-reduced-motion for accessibility. Above-fold sections render at full opacity immediately, no flash of animated content.

🏷️

Dynamic Content Tags

30+ tokens that resolve at render time in any text field. Matt Artley Online, https://mattartley.online/, , , 2026, May 6, 2026, {page:title}, and Stripe Pro data tags like , {stripe:next_payment_date}, . Dynamic tags turn static page sections into personalised, real-time content without any code.

Blinds Header Builder

Blinds is a dedicated header builder, separate from the page builder, purpose-built for navigation. The header on this website is a Blinds header. Multiple layout modes, classic, stacked, centred, minimal, with mega dropdown menus that support columned content, description text, icons, and badge labels. Mobile gets its own slide-out drawer with smooth open/close animations. Sticky mode with background-on-scroll shrinks the header as you scroll down, switching from transparent to solid. A built-in site search bar and announcement strip sit above the navigation. 8 starter templates cover SaaS, E-commerce, Documentation, Agency, Luxury, Corporate, Restaurant, and Minimal navigation styles.

Mats Footer Builder

Mats is the footer counterpart to Blinds. A column-based footer builder with configurable column counts, widgets per column (text, nav menu, recent posts, custom HTML), social links, copyright bar, and background styling. Mats footers are created once and assigned globally or per-page via the template engine. The footer on this website is a Mats footer. Like Blinds, Mats renders outside the theme, it's part of the GLASS standalone rendering pipeline.

Theme Engine

GLASS can run your entire WordPress site without a theme installed. No-Theme mode intercepts every template request, single posts, archives, search results, 404 pages, the blog index, and routes them through Infinite pages with the appropriate template assignments. Each WordPress template type (single post, page, archive, search, 404) can be mapped to a specific Infinite page that acts as its template, using blog section types like post_content, post_loop, post_meta_bar, comments, breadcrumbs, post_navigation, related_posts, author_box, sidebar, and search_results.
📄

Template Assignments

Map any WordPress template type to an Infinite page. Single posts, pages, archives, search results, 404, each gets its own visual template built in the page builder. A dedicated Theme Engine admin panel shows all assignments at a glance with one-click creation of missing templates.

✍️

Prose Styles

A standalone stylesheet for WordPress post content (the_content) rendered inside Infinite template pages. Headings, paragraphs, lists, blockquotes, code blocks, tables, images, and embeds all get carefully designed typographic styling that matches the GLASS design language without bleeding into section layouts.

🔐

Login Styling

The WordPress login page inherits GLASS branding, custom logo, background colour, button styles, and form layout. Combined with clean URLs, even the login experience feels like part of the platform rather than a generic WordPress screen.

📃

Blog Section Types

10 blog-specific section types: post_content renders the actual post body, post_loop shows a grid of posts, post_meta_bar shows date/author/categories, comments renders the comment form and list, breadcrumbs for navigation context, post_navigation for previous/next links, related_posts, author_box, sidebar, and search_results.

🌐

SEO Meta

Every Infinite page has dedicated meta title and meta description fields. The engine outputs proper tags, Open Graph meta, and canonical URLs. No SEO plugin required for basic meta, though GLASS coexists cleanly with Yoast or Rank Math if you want advanced features.

🛡️

Maintenance Mode

One toggle puts the entire site behind a maintenance page, an Infinite page of your design, not a generic "briefly unavailable" message. Logged-in admins still see the live site. The maintenance page can be as elaborate as any other Infinite page: branded, animated, with a countdown timer if you want.

Portal System

GLASS includes a complete portal system for building customer-facing and staff-facing dashboards. This is Glass's secret weapon, no other WordPress page builder can do this. Portals are Infinite pages that use 17 dedicated portal section types to render live data: invoices, subscriptions, support tickets, service contracts, payment methods, download libraries, profile editors, and more. Staff portals add Contracts Manager dashboards for customer management, ticket oversight, approval workflows, finance views, and team management.
👤

Customer Portal Sections

Dashboard overview, invoices list with payment status, active subscriptions with management actions, payment method vault, download library, profile editor with password change, support ticket viewer with reply capability, quote acceptance with e-signatures, service contract details, and a services catalogue, all rendered as Infinite sections pulling live data from Stripe Pro and MSP Hub.

👥

Staff Portal Sections

Contracts Manager dashboard with at-a-glance KPIs, customer list with search and filters, ticket queue with status badges and priority sorting, approval workflow queue, finance overview with revenue charts, and team management panel. Staff sections are gated by custom roles, Contracts Managers see customer data without touching the admin shell.

🧙

Portal Wizard & Templates

A step-by-step wizard creates new portals from 7 starter templates: billing-only (Stripe invoices + subscriptions), MSP Essential, MSP Teal, MSP Dark, MSP Full (all MSP Hub data surfaces), Staff Essential, and Staff Full. Each template pre-populates the portal with the right section types, navigation, and role restrictions. Publish in minutes.

📊

Stripe Storefront Sections

4 dedicated Stripe Pro section types: a product storefront with grid/list layouts, a billing portal with subscription management, a payment form for one-off charges, and an invoice viewer. These sections render Stripe data with the GLASS design language, cards, badges, status pills, and responsive tables that look like a SaaS product, not a WordPress plugin.

🔄

Portal Navigation Sync

Portal pages maintain their own internal navigation that stays in sync with which sections are on the page. Add an invoices section and the nav automatically gains an Invoices link. Remove it and the link disappears. No manual menu management, the navigation reflects the portal's actual content at all times.

🎨

White-Label Ready

Portals inherit branding from the GLASS appearance settings or from MSP Hub's white-label module. Custom logos, accent colours, and typography flow through to every portal section. No AJT branding leaks into customer-facing surfaces. The portal looks like your platform, not ours.

Robot AI Assistant

Robot is a multi-persona AI assistant embedded in GLASS. It's not a chatbot bolted on, it's a platform-native AI with 50+ tools that can query your business data, execute actions, build workflows, generate reports, and manage your site. Five personas (admin, staff, customer, public, none) control what each user sees and what tools are available. Admins get the full toolset. Staff get customer management tools. Customers get self-service tools for their own data. The AI engine supports multiple LLM providers with a three-tier API key hierarchy.
🧠

50+ AI Tools

Robot can search companies, pull customer dossiers, view ticket details and activity, create and update tickets, add notes, manage service changes with approval gates, list and send invoices, void invoices, mark paid, send payment reminders, query finance overviews, run diagnostics, execute raw data queries, manage Infinite pages and sections, interact with the Design System, build and manage workflows, and more. Each tool has structured input/output with validation.

🔄

Workflow Engine

A visual workflow system with triggers, conditions, and actions. Triggers fire on events, form submission, ticket created, invoice paid, user registered, schedule (cron). Conditions gate execution, if user role is X, if amount exceeds Y, if field contains Z. Actions execute the response, send email, create user, update meta, call webhook, log activity, advance a process step. Workflows are created visually in the Robot app or programmatically via AI.

📡

Microsoft Teams

Robot integrates with Microsoft Teams via Adaptive Cards and webhook channels. Ticket updates, invoice alerts, form submissions, and custom notifications can post directly to Teams channels as rich, interactive cards with action buttons. A bot endpoint allows two-way communication, respond to cards from Teams and the action flows back into GLASS. Multiple channels with per-channel HMAC authentication.

📊

Monitors & Reports

Monitors are live watches on business metrics, outstanding invoice total, open ticket count, overdue payments, subscription churn rate. When a monitor's value crosses a threshold, it triggers a notification or workflow. The Report Designer lets admins build structured reports with sections, charts, and data tables, rendered as PDFs via WeasyPrint. Report presets cover QBR reports, health reports, and improvement summaries.

Approval Gates

Certain AI tool actions, service changes, invoice voids, large refunds, require human approval before execution. Robot pauses the action, notifies the appropriate approver (via GLASS notification or Teams), and waits for explicit confirmation. The approval system integrates with the staff portal so Contracts Managers can approve or reject from their dashboard without touching the admin shell.

💻

Terminal & Logs

Robot has its own terminal for direct command execution and a comprehensive logging system that records every AI interaction, tool call, workflow execution, and approval decision. Logs are searchable, filterable by persona and action type, and exportable. The Garage lets admins test tool calls in isolation before deploying them in workflows.

Infinite Forms

Infinite Forms is a platform-native form engine built into GLASS. Forms are created once in a dedicated admin app, then embedded anywhere, Infinite pages, portals, shortcodes, modals, or programmatically by other plugins. It's not a generic contact form plugin; it's a data collection engine designed to power everything from simple enquiry forms to complex multi-step onboarding questionnaires, customer surveys, service request workflows, and IT intake forms.
📝

20+ Field Types

Text, email, phone, textarea, number, select, multi-select, checkbox, radio, date, time, file upload, hidden, heading, paragraph, divider, HTML, signature, rating, and more. Each field has validation rules, placeholder text, conditional visibility, and custom CSS classes. File uploads support drag-and-drop with type and size restrictions.

📂

File Uploads

Customers can upload logos, documents, network diagrams, contracts, and supporting files directly through forms. Uploaded files are stored securely with randomised filenames, MIME type validation, and configurable size limits. Files are accessible from the entries viewer with download links. Orphaned temp files are cleaned up automatically by a daily cron job.

🔄

Robot Integration

Every form submission fires a workflow trigger. Robot can send notification emails, create WordPress users, update user meta, push data to external systems via webhooks, advance onboarding pipelines, create support tickets, or any other registered action, all configurable visually in the workflow builder. No code required to connect a form to a business process.

📊

Entries & Export

A dedicated entries viewer shows submissions in a searchable, filterable table with read/unread status, star marking, and bulk actions. Entry detail view shows all field values with edit capability and a notes timeline for internal comments. Export to CSV or XLSX with column selection and date range filters. Entries containing PII can be encrypted at rest.

🛡️

reCAPTCHA v3 & Rate Limiting

Invisible reCAPTCHA v3 integration with configurable score thresholds protects forms from spam without adding friction. Server-side rate limiting prevents submission flooding. Honeypot fields catch basic bots. AJAX submission with inline validation means the page never reloads, errors highlight the offending fields in real-time.

📑

12 Built-in Templates

Contact form, feedback survey, newsletter signup, event registration, job application, MSP customer onboarding, IT support request, change request, site audit, employee equipment request, customer satisfaction survey, and new starter form. Each template is a complete, ready-to-use form definition that can be imported and customised.

Appearance & Design System

Every visual element in GLASS is controlled by a CSS custom property architecture, colours, radii, shadows, spacing, typography, all referenced by design tokens. The Global Design System centralises these values so a single change propagates across every page, section, portal, and admin surface. The admin shell itself is themeable with 7 built-in themes and 10 wallpaper presets, plus full custom branding controls.
🎨

7 Admin Themes

Pewter Plum (default, warm neutral with brand-tinted greys), Midnight, Ocean, Slate, Forest, Rosé, and Custom. Each theme sets the sidebar, tab bar, header, and content area colours. The Custom theme lets you pick any combination of background, text, accent, and border colours.

🖼️

10 Wallpaper Presets

None, Mesh Gradient, Subtle Dots, Purple Haze, Ocean Breeze, Sunset, Northern Lights, Warm Ember, Solid Colour, and Custom Image. Wallpapers apply to the GLASS desktop background behind the Beads grid, adding visual personality to the admin without affecting readability.

🏷️

Branding Controls

Custom logo, wordmark text, and accent colour applied across the entire admin shell. The logo appears in the tab bar, the wordmark replaces "GLASS" in the header, and the accent colour tints interactive elements throughout. Combined with a custom admin slug, the entire admin can be presented under your brand.

📜

Global Design System

A centralised set of CSS custom properties that define colours, font families, font sizes, line heights, border radii, shadows, and spacing for every Infinite page and portal. Change the primary colour once and it updates across every published page. The Design System editor lives in the Theme Engine admin with real-time preview.

🎨

Style Classes

Reusable style definitions that can be applied to any section. Define a style class once, background colour, text colour, padding, border, shadow, and apply it by name to multiple sections across multiple pages. Change the class definition and every section using it updates automatically. A precursor to global style systems found in dedicated builders.

⚙️

My Glass Preferences

Per-user preferences for sidebar position, default app on login, dashboard layout, notification settings, and more. Each user customises their own GLASS experience without affecting others. Preferences persist in user meta and follow the user across devices.

16 Native Apps

GLASS ships with 16 built-in apps that replace and extend WordPress core admin screens. Each app is a first-class citizen in the shell, registered in the app registry, searchable via Spotlight, accessible from the sidebar and tab bar, with its own badge count for pending items.
🏠

Dashboard

Home screen with app grid, quick actions, environment info, and live badge counts showing what needs attention.

👥

Users

User CRUD, role management, password resets, and bulk actions, a complete user management panel.

🔌

Plugins

Plugin list with activate/deactivate, adoption into Glass, and one-click updates.

📝

Content

Posts and pages CRUD with quick edit, trash/restore, search, and pagination.

🖼️

Media

Full media library with drag-and-drop upload, grid/list views, and file management.

☰️

Menus

WordPress nav menu management with the Glass design language.

🏷️

Taxonomies

Category and tag CRUD for all registered taxonomies.

⚙️

Site Settings

General, reading, writing, and discussion settings in one organised panel.

📝

Notepad

A chromeless text editor persisted in user meta. Quick notes that survive sessions.

🧮

Calculator

A fully functional calculator app within the admin, useful during invoicing and quoting.

📋

Clipboard

A persistent clipboard manager that stores copied text snippets across sessions.

💻

Terminal

A WP-CLI-like command line interface within the browser. Run commands without SSH access.

📁

File Manager

Filesystem browser and editor. Navigate, view, and edit files on the server from the admin.

📊

Activity Log

An audit trail of admin actions, who did what, when. Custom table with search and filters.

Performance

Server info, PHP version, memory limits, opcache status, and WordPress environment diagnostics.

🩺

Site Health

WordPress Site Health checks integrated into the Glass shell with the Glass design language.

Security & Performance

GLASS follows the same security model as every AJT plugin, no exceptions, no shortcuts. Every AJAX endpoint is nonce-protected. Every admin function gates on capabilities. Every user input is sanitised. Every database query uses prepared statements. Every output is escaped. Beyond the security model, GLASS is built for performance: standalone HTML documents, no theme inheritance, no jQuery, IntersectionObserver for scroll animations, and sub-100KB page payloads.
🔒

Nonce Everything

check_ajax_referer() on every AJAX handler. wp_nonce_field() and check_admin_referer() on every admin form. No endpoint is accessible without a valid nonce. No exceptions.

🛡️

Capability Checks

Every admin function gates on current_user_can('manage_options'). Portal functions gate on is_user_logged_in() or verified magic-link tokens. Role-based access control on every surface.

🧼

Input Sanitisation

Every user input passes through sanitize_text_field(), sanitize_email(), intval(), or sanitize_textarea_field(). Every output is escaped with esc_html(), esc_attr(), esc_url(), or wp_kses_post().

👻

User Enum Protection

Blocks author archive scanning, REST API user enumeration, and oEmbed author discovery. Attackers can't build a list of valid usernames from your WordPress install.

Sub-100KB Pages

Infinite pages render as standalone HTML documents. Typical payload: ~60KB CSS + ~15KB JS + content. No theme stylesheet, no jQuery, no wp_head() plugin bloat. Every kilobyte is earned.

🧹

Clean Uninstall

Delete the plugin and it removes everything: all options, all user meta, all custom post types, all custom tables, all transients, all cron hooks, all uploaded files. Zero residue. The uninstall handler is comprehensive and tested.

Conditional Display & Advanced Features

Beyond the major pillars, GLASS has a deep set of advanced features that make it a true platform rather than just a collection of tools.
🎯

Conditional Display

Show or hide any section based on user role, login status, device type, or URL parameter. A logged-out visitor sees the pricing table; a logged-in customer sees their dashboard. A mobile user sees a simplified layout; desktop gets the full experience. No code, just toggles in the section settings panel.

📦

Import / Export

Export any Infinite page as a JSON file. Import to recreate it on another site. Site kits bundle multiple pages + Blinds header + Mats footer as a single transferable package. Page transfer lets you move pages between GLASS installs with one click. The .infinite file format preserves every section, setting, and style override.

🔌

Custom Sections API

glass_register_section_type() lets any plugin register its own section types that appear in the Infinite builder alongside native sections. Define a render callback, settings schema, and preview template. MSP Hub and Stripe Pro both use this API to add their portal and storefront sections to the builder without modifying Glass core.

💬

Popup Builder

Create popups as a custom post type with five trigger modes: on load (with delay), on exit intent, on scroll percentage, on click (CSS selector), and on element visibility. Popups use Infinite sections for their content, so they have the full power of the page builder. Frequency controls prevent popup fatigue, show once per session, once per day, or once ever.

📠

Form Stripe Actions

Forms can trigger Stripe payment flows on submission. Collect a payment alongside form data, event registration with fees, service requests with deposits, product orders with pricing. The Stripe action creates a PaymentIntent server-side (never trusting client-submitted amounts) and confirms it after successful form validation.

📰

Knowledgebase & Blog Apps

Dedicated admin apps for managing a customer-facing knowledgebase and blog within the GLASS shell. The Knowledgebase app organises articles by category with search and reordering. The Blog app provides a streamlined post management interface focused on writing and publishing rather than WordPress's cluttered post editor.

Lines of Code
Section Types
AI Tools
Portal Sections
Native Apps
Page Templates
Section Templates
Portal Presets

Part of the Ecosystem

GLASS is the platform layer. AJT Stripe Pro handles billing, subscriptions, and payments. AJT MSP Hub integrates Autotask PSA, Microsoft 365, and Datto RMM. AJT License Master manages software licensing with RSA JWT tokens. AJT MFA adds multi-factor authentication. AJT Fortify provides web application firewall and security monitoring. Every plugin shares the same security model, UX system, licensing infrastructure, and design language. They're designed as one architecture that ships as independent packages. Back to the full ecosystem →

Want to Work Together?

I'm always interested in challenging WordPress architecture problems. If you need a plugin built properly, let's talk.
Get in Touch