WORK

SOLACE
PLATES

A complete production ecosystem for UK number plate manufacturers — a bespoke Windows desktop application for BSAU 145e compliant plate design and printing, unified with a cloud management portal for merchants, licensing, and audit.

PlatformWindows + Web
StackWPF · Laravel · Vue 3
StandardBSAU 145e
Year2026
Solace Plates system overview
SYSTEM OVERVIEW

Smart Plate Printer synced with Plate Portal via REST API

Two Products,
One System

Solace Plates is two products working as one. The Windows application — Smart Plate Printer — handles plate design, real-time compliance validation, and print management at the operator's machine. The cloud web portal — Plate Portal — gives merchants complete oversight: user and licence management, hardware access control, print auditing, and Stripe-powered subscription billing. The two sync continuously via a secured REST API, with full offline resilience on the desktop side.

Smart Plate Printer

The desktop application plate operators use every day. Built with WPF on .NET 8, it renders pixel-perfect plate previews using official Charles Wright font families drawn from SVG glyph assets — what you see on screen is what prints. Every plate is continuously validated against BSAU 145e regulations as you work.

SMART PLATE PRINTER — MAIN VIEW

Live WYSIWYG plate editor with real-time BSAU 145e validation

Real-Time BSAU Validation

On-screen distance indicators continuously monitor character spacing, dealer name positioning, and postcode placement against BSAU 145e as you design.

Charles Wright Rendering

Official Charles Wright font families — Standard and Motorcycle variants — rendered from SVG glyph assets for crisp, legally compliant output at any DPI.

Native Print Control

Direct integration with Windows print APIs (winspool.drv / GDI). Full control over paper size, DPI, orientation, and colour. Printers auto-detected on startup.

DVLA Lookup

Real-time registration validation against the DVLA database via API, with debounced input and inline results — confirming plate legitimacy before production.

PDF Export

PdfSharp-powered export at exact physical plate dimensions. Millimetre-accurate page sizing for archiving, proof delivery, or third-party printing.

Offline-First Architecture

LiteDB local database keeps the application fully functional without a network connection. Templates, settings, and print jobs sync automatically on reconnect.

Template System

Save and reload full plate configurations — dealer name, postcode, flags, borders, and sizes for front and rear — with a single click. Per-user, cloud-synced.

Print Job Audit

Every print event logged locally with timestamp and printer name. Counts sync to the server on a recurring timer for a complete, server-side audit trail.

Compliance checking
COMPLIANCE CHECKING

Every plate validated against regulations as you design

Print settings
PRINT OFFSET SETTINGS

Per-printer calibration with live offset preview

Plate Portal

The cloud management layer — built for merchants, not operators. A multi-tenant SaaS platform running on Laravel and Vue 3 via Inertia.js. Merchants manage their customers, control machine licensing, monitor print output, and handle subscription billing — all from the browser.

PLATE PORTAL — MERCHANT DASHBOARD

Centralised overview of customers, licences, and print activity

Admin → Merchant → Customer

A clean three-tier hierarchy with strict role separation. Middleware-enforced route guards ensure every user sees exactly what they should — nothing more.

Stripe Subscription Billing

Starter, Professional, and Enterprise tiers via Laravel Cashier. Plan limits read dynamically from Stripe product metadata — no code changes needed to update tiers.

Machine Licensing

Hardware-level access control via unique machine hashes. Merchants set per-customer machine limits. Admins can revoke access instantly. Last check-in tracked per machine.

Print Audit Trail

Every plate printed across the network recorded with user, printer name, and exact timestamp. Filterable by date range. Exportable. Immutable.

Licence Expiry Management

7-day trial and 12-month full licence durations. Start and expiry dates tracked per customer. Full event history. Manual renewal by admin. Billable events flagged separately.

Merchant Branding

Company logo, RNPS number, BSAU prefix, contact details, and up to two custom navigation shortcuts — all configurable per merchant, applied platform-wide instantly.

2FA & Security

TOTP-based two-factor authentication via Laravel Fortify. Sanctum Bearer token API auth. CSRF protection. Webhook signature verification on all Stripe billing events.

Full Data Export

One-click ZIP archive of all platform data as CSV files — users, print logs, plates, licensed machines, and licence events. Admin-only. Always available.

User management
USER MANAGEMENT

Role-based access control with per-user machine limits

User creation
USER CREATION

Full timestamped history of every plate printed per machine

Three-Tier
Access Model

Plate Portal enforces a strict three-tier role model — Platform Admin, Merchant, and Customer — with middleware-guarded routes at every level. Each role has clearly defined capabilities and sees only what is relevant to their position in the hierarchy.

AdminFull system access · Creates and manages all merchants · Views all print logs across the platform · Configures per-user billing · Exports all data · Tests email delivery
MerchantManages own customers and machine limits · Customises platform branding · Monitors print output · Stripe subscription billing · BSAU prefix and company details
CustomerAuthenticates the Windows desktop application · Plate template sync via REST API · Print job reporting · Machine access controlled per merchant account
SubscriberSelf-registered on own subscription plan · Direct portal access · Per-user billing model · Independent of merchant hierarchy

BSAU 145e Compliance

Every plate produced through Solace Plates is validated against British Standard BSAU 145e — the legal requirement for UK road-legal registration plates. Compliance is enforced at the software level, not left to the operator.

Character spacingReal-time distance indicators on canvas, flagged before print
BSAU reference codeAuto-rendered on plate with configurable merchant prefix
Dealer name & postcodeFully configurable with position validation and gap control
Charles Wright typefaceOfficial font families embedded as SVG application resources
Flag & identifier positionTop, bottom, or both — rendered as part of plate artwork
Audit trailPrint jobs logged with timestamp, printer, and sync status
Operator licensingServer-authenticated login enforced on every application launch
DVLA verificationLive registration lookup against government Vehicle Enquiry API

Stack

Desktop
WPF.NET 8LiteDBPdfSharpGDI / winspool.drvCharles Wright SVG Glyphs
Web Portal
LaravelVue 3Inertia.jsLaravel SanctumLaravel CashierStripeTailwind CSS
Infrastructure
MySQLREST APIDVLA Vehicle Enquiry APITOTP 2FAStripe Webhooks