Systems built for practical impact, not feature theater.
Every project below was shaped by a real operational constraint — a school's governance requirements, a
laptop that overheats, a business that needed its telemetry to tell the truth, or a game that had to be
fair before it was fun. The flagship case studies go deep on trade-offs and decisions; everything else
shipped is listed further down, with star counts pulled live from GitHub.
Unreal Engine 5.8Lyra Starter GameC++20Free to PlayPlanned for Steam
One life. One objective. Every rank earned. Southern Spear is a
tactical shooter built on Unreal Engine 5.8 and the Lyra Starter Game, following the design
philosophy of the classic America's Army games: slow, deliberate, team-first combat where
positioning and communication beat reflexes — and where every rank is earned in the field rather
than bought.
What It Is
An entirely original Australian-inspired setting — outback theatres, asymmetric objectives, and a faction structure built around small-unit tactics.
Free to play by design, with no planned progression shortcuts: unlocks follow demonstrated skill, mirroring the source inspiration.
Pre-alpha and in active development, with a public roadmap and a rolling changelog — no playable release, download, or release date announced yet.
How It's Built
C++20 gameplay code on top of Lyra's modular gameplay framework — ability system, weapon layering, and game mode assembly reused rather than reinvented.
The development repository stays private; the public site, changelog, roadmap, and press kit are generated from it by a publish script, so engine and game content are never exposed.
Every working session gets a changelog entry — the same "document the trade-off" discipline used on the client and open-source work here.
STARS is a pastoral care platform built for a school team that needed immediate visibility of student
wellbeing, behavior trends, and intervention history — without relying on disconnected spreadsheets
or manual, easily-lost processes.
What It Solves
Consolidates behavior, affirmations, and incident data into a unified record.
Automates communication workflows with role-aware escalation paths.
Gives leaders fast access to high-confidence operational information.
Design Choices
Role-based access for staff, leaders, and administrators.
Privacy-first architecture with explicit governance controls.
No public data exposure; demo environment uses synthetic information.
"STARS has made our processes significantly more streamlined and the immediacy of information for
pastoral leaders has been exceptional."
OmenCore replaces bloated OEM control software with direct hardware controls for fan behavior, thermals,
power modes, undervolting, and RGB management. With 243+ GitHub stars and an active issue
tracker, it has shipped 80+ releases since December 2025 — the latest, v4.4.1, landed
3 October 2026 — each one traced back to real hardware, not a roadmap slide.
Latest releasev4.4.1 — published 3 October 2026 — Windows installer and portable builds plus Linux CLI & GUI, all checksummed in the release notes
Release history80+ releases since v1.0.0 in December 2025 — the 4.3.x cycle added the automation engine, the Windows CLI, and the OmenCore.Core extraction
ConventionUnconfirmed-on-real-hardware fixes are labeled, not claimed done
v4.3.0 Highlights
Shipped all 7 backend automation trigger types (temperature, idle, process, WiFi network, time, battery, AC power) plus a new lid-close trigger — four had been implemented but deliberately held back for undocumented reasons, two of them with real bugs fixed before promotion.
New omencore-cli Windows command-line tool — status, fan, performance, keyboard, monitor, config, and daemon — built on the same hardware layer as the GUI, no duplicated logic.
Extracted 194 files into a standalone OmenCore.Core library, decoupling the hardware/service layer from WPF — the precondition the CLI (and any future headless mode) needed to exist at all.
Real Bugs Fixed From Field Reports
A Quiet Safety Monitor temperature trip could silently cascade into switching the user's performance mode — despite its own log message promising the power mode was "retained."
Built-in RGB "Night Mode" and "Work" lighting scenes silently overrode manually-configured lighting on a hidden schedule, with zero UI to see or disable it — fixed after a Discord report of a keyboard "randomly" turning orange.
Power Automation force-applied the configured AC/Battery preset on every startup regardless of whether the power source had changed, silently discarding a user's manual mid-session choice.
Built for Radium PCs customers and technicians, this desktop companion pairs a premium React interface
with a Rust/Tauri backend, vendor telemetry providers, and a bundled sensor sidecar for hardware that
needs deeper package-temperature access than user-mode WMI exposes. v0.3 was a deliberate premium-feel
and reliability pass — no changes to telemetry providers, native write paths, or the safety-gating model.
What It Delivers
Live dashboard for CPU, GPU, RAM, network, storage, and support-readiness state.
Premium thermal visualization with vendor-aware component overlays.
Fixed a rare panic in the 1Hz hardware monitor loop that could poison a lock and permanently stop telemetry until restart — the loop now recovers instead of cascading.
Unified every hover/press/transition animation in the app onto one consistent motion system, replacing over a dozen slightly-different one-off timings.
Truthful telemetry — missing sensors show as degraded or driver-required, never fabricated as zero.
Fan/EC/firmware writes stay blocked until model-specific safety validation exists.
Status: Public release at v0.3 for Windows 10/11 x64. GPU-vendor-provider expansion,
sensor-sidecar packaging, and a real in-game frame-time overlay are reviewed and deliberately deferred
pending access to real target hardware to validate against.
Built to sit alongside Timetabling Solutions, not replace it: load a school's real
.tfx/.sfx export, see the whole timetable, get a deterministic list of what's
actually wrong with it — clashes, capacity, staff load, composite classes — propose and validate fixes
without ever touching the source data, then export an approved change back out as a file the existing
system can re-read.
What It Does
Ingests and analyses real timetabling exports, surfacing conflicts as a deterministic, auditable findings list.
Proposes edits, validates them against the same rules, and round-trips an approved file back out.
Nothing calls a cloud API — every byte stays on the machine it ran on.
Privacy Choices
Timetable data is student- and staff-adjacent: it never leaves the local machine by design.
The single AI layer is local-only (Ollama), and it is used for explaining findings in plain language — never for generating or mutating schedule data.
256 passing tests cover the import, validation, and export path end to end.
A hardware dashboard, a real portrait-display mode, a Windows optimisation centre, and RGB control —
in one clean, unpackaged app instead of four separate vendor tools fighting each other in the
background. Rather than re-deriving sensor behavior from scratch, the parts that needed real-hardware
validation were ported straight from proven code in OmenCore, Portrait Stats, and Radium PCs Companion.
What's Shipped So Far
Full CPU, GPU, RAM, storage, motherboard, and network dashboard with radial gauges, sparkline history, and tone-based severity coloring.
Portrait Mode — a complete port of Portrait Stats' layout, not a stub, with drag-to-monitor and one-click fill.
An Optimisation Centre with fan control that reads and writes PWM headers directly, a 20% safety floor, and automatic revert to BIOS control on exit.
Direct-HID Corsair RGB control with no iCUE or OpenRGB required, plus an OpenRGB fallback for everything else.
Design Principles
"Confidently wrong is worse than honestly unavailable" — a sensor that doesn't exist on a given board gets hidden, never a plausible-looking fake number.
Anything touching live hardware state stays reversible: fan control always reverts to automatic on exit, memory optimisation never terminates a process.
A plugin framework (IAetherPlugin) loads each module into its own collectible AssemblyLoadContext — add or remove one without restarting the app.
Undervolting and HP-style BIOS checking were deliberately left out of scope, documented in the roadmap as "why not," not just "later."
Status: Actively being built in tracked phases, with an honest public roadmap of what's
shipped, what's deliberately deferred, and why. No packaged release yet.
xTeVe Reborn
Modernised M3U/EPG proxy for Plex DVR, Emby, and Jellyfin Live TV
Upstream xteve hadn't seen a real release in about five years, so this fork started maintaining it
properly: modernised toolchain, fixed bugs, a hardened Plex/Emby streaming path, and a serious visual
overhaul of the web UI. Updates come from this repo's own releases — never upstream binaries — checked
daily, checksum-verified, and installable in one click.
What Changed Over Upstream
Modernised build, dependency refresh, and a real test path instead of a 2021-era release tag.
Hardened the streaming path where Plex/Emby integrations actually break — buffer handling, reconnects, and error surfacing.
Full web-UI overhaul so the daily-use screen is legible rather than a 2016 admin template.
Update Safety
Daily release check with an "Update available" banner; one-click or automatic installs.
Every download is checksum-verified before it replaces a running binary.
Not affiliated with the upstream xTeVe project — clearly labelled so nobody confuses the two.
ShelfSignal In Development
Barcode-first price monitoring for Australian households
Scan what you buy, set the signal, and get told when the price is right — across Australian retailers
rather than an affiliate feed. The loop is deliberately explicit: scan a barcode, confirm the canonical
product, set a target price or drop percentage, then receive an alert that explains what changed, where,
why, and how confident the match is.
Architecture
Flutter iOS/Android app (Riverpod + GoRouter) over an Express + PostgreSQL signal engine.
Append-only price observations per retailer, so every alert can be traced back to real history.
Moderation and admin APIs planned behind a separate Next.js admin UI.
Design Rules
Every alert is explainable — no unexplained "price dropped!" notifications.
GS1 validation before a product is tracked, so similar barcodes never merge silently.
Act or snooze is always a user decision, never an auto-purchase.
HC
Hurley Computers
Boutique custom PC building, South East Queensland
My own custom PC-building business, built and run alongside the school and software work — every build
spec'd, sourced, and supported personally, gaming rigs through AI workstations. Same one-person
accountability the studio runs on, just with a screwdriver instead of a keyboard.
RigMateAU
Australia-focused PC builder and price-comparison platform
A full PC builder and price-comparison platform for Australian buyers, with compatibility checks,
trust-aware marketplace scoring, and premium shareable build pages — deliberately excluding OzBargain
and Whirlpool from any scraping, importing, or pricing pipeline.
BrightBound Adventures
Offline-first educational game platform for children
FlutterOffline FirstACARA AlignedChild Safe by Default
A colourful, offline-first learning RPG for ages 4–12, built for classrooms and homes where reliable
internet is not guaranteed. Local-first storage, no external telemetry, adaptive difficulty, and a
currently-active sprint cycle rebuilding the world map into extruded 3D zone islands and closing out
a reward-transaction system that survives a killed-and-relaunched app without re-earning anything.
A secure remote access platform with one desktop app acting as both viewer and host, a browser-based
web client, and a Rust broker for auth, device registry, and WebSocket signaling. Passkey/WebAuthn-first,
with the Phase 2 auth, device registry, and signaling contract implemented and verified. Host approval,
WebRTC negotiation, and the media/data plane are scoped for Phase 3 but currently on hold behind other work.
Scans a Plex library, finds smaller h265/AV1 releases on Usenet, and replaces bloated files overnight —
with a hard rule that a replacement is never accepted unless it is strictly smaller than the original.
v2.0.0.0 followed a full backend/frontend audit against the actual implementation, not the README's
claims about it, and added a deterministic Discovery & Recommendations feature on top.
Discovery, Kept Honest
Suggests missing collection entries, sequels, and related titles with a transparent, human-readable reason for every suggestion — off by default.
An optional AI reranking step can only reorder or explain candidates Slimarr already sourced — it cannot invent titles, see your Plex token or file paths, or trigger a download. Every AI-returned ID is re-validated against TMDB before display.
Sending a recommendation to Radarr or Sonarr is a separate, explicit, duplicate-checked action — never automatic.
Fixed in the Audit Pass
SABnzbd error paths could log an API key embedded in a request URL — errors are now redacted before logging.
A storage path with an embedded .. segment could evade NAS-prefix classification, skipping budget and throttle protection entirely.
A failed orphan-cleanup could still mark its tracking row as cleared before confirming the file removal actually succeeded.
Built because a spare portrait monitor next to the main display was sitting idle during gaming sessions.
Portrait Stats fills it with live CPU, GPU, RAM, drive, and FPS telemetry — auto-detecting whichever
connected display is actually in portrait orientation rather than assuming a fixed monitor index.
What It Shows
CPU and GPU usage, temperature, clocks, and power draw; motherboard fan RPM for every live header, fastest first, with editable names since most boards won't say which one is the CPU fan.
Live FPS via RTSS shared memory, top processes by CPU and GPU usage, vendor badges, radial gauges, and sparkline history.
C: drive temperature, auto-detecting whichever physical disk actually backs the system drive.
Design Notes
A self-contained release build — no separate .NET runtime install needed.
Requires elevation for LibreHardwareMonitorLib's sensor access; auto-starts via a Scheduled Task instead of a normal startup entry, so it launches elevated without a UAC prompt every login.
Fan RPM is read by briefly launching a separate helper process on a timer rather than holding a sensor connection open continuously — documented as a deliberate architecture trade-off, not an oversight.
Also Shipped
Smaller tools, built because the gap was real
Not every project needs a case study. These shipped because something specific kept being annoying — narrow scope, on purpose.