Under the hood.
Deep technical breakdowns of what I've built — the architecture, the features, and the engineering decisions behind each project. Tap any project to expand it.
Echo — All-in-One Gaming Platform Flagship · 3 runtimes +
My most advanced project: a single, fully integrated platform that runs an entire online gaming community end to end. It spans three separate applications — a Discord bot, a web platform and a live FiveM game server — all built and connected by me around one shared identity model, so a player's Discord account, in-game character, moderation history, applications and payments stay in sync in real time.
- Architecture: modular command / event / button / modal / select-menu routers, an
SQLitestore (better-sqlite3) of 25 tables, i18n, and a structured logger. - Operations: a full ticketing system (categories, panels, transcripts), org/gang management with rosters and roster-requests, a multi-step application system, and punishments with a strike-and-forgiveness model.
- Community systems: LOA requests, org wars, KOS lists, a treasury ledger, message + voice activity tracking, duty sessions, polls, suggestions, and temporary "hub" voice channels.
- Automation: a scheduler running ~16 background jobs — LOA/KOS/punishment/tempban/lockdown expiry, ticket-inactivity auto-close, scheduled events & RSVPs, reminders, streamer alerts, log retention, automated backups, health checks and weekly reports.
- Stack: Next.js App Router with TypeScript, server-rendered pages,
iron-sessionauth, a better-sqlite3 backend and Stripe for payments. - Public side: a Stripe-checkout shop, an application portal, ban-appeal and tip forms, a support-ticket interface, a virtual-currency coins & exchange economy, and rules/ToS/privacy pages.
- Staff dashboard (60+ pages): user management, application & appeal review, a compensation system with catalog, product/order management, watchlists, audit logs, KPIs, leveling, automod config, live spectating, transcript archives, punishment presets, macros and per-guild setup.
A game-server resource exposing a secured HTTP API (shared Bearer key) for account linking, player lookups (characters, money, inventory, jobs/gangs), ban propagation, playtime, transaction logging, compensation delivery, an in-game shop and admin actions (bring / goto / whisper / announce).
Cross-runtime, cross-machine communication. The bot and game server run on separate VPSes and talk over authenticated HTTP, so endpoints had to be idempotent and degrade gracefully when one side is offline — while keeping one consistent identity model across three languages (Lua, JavaScript, TypeScript).
Andrew Murley Plumbing Client Web Build +
A complete, live marketing website built from scratch for a real plumbing business serving Queensland's Pioneer Valley — designed to win local trust and convert mobile visitors into phone calls.
- Multi-page site: home, services, service-areas and contact, plus dedicated per-suburb landing pages (Eton, Marian, Mirani) targeting local search.
- Interactive map: a custom Leaflet.js integration that shades the coverage area and shows location popups.
- Local SEO: hand-authored
schema.orgLocalBusiness and Service structured data (JSON-LD) for rich search results. - Built lean: mobile-first responsive layout, click-to-call CTAs throughout, a custom design system (CSS variables, scroll-reveal animations) — all in pure HTML/CSS/JS with no framework or build step, keeping it fast on mobile.
A professional site the client can hand out and rank with. add result → e.g. enquiries / month or local ranking
Strong local-SEO signals and an interactive map, achieved without a CMS — proving you don't need a framework to ship a fast, maintainable, well-optimised site.
PSY-Fishing Progression Game System +
An advanced fishing minigame with a full progression loop — designed to be data-driven and to drop into almost any server without code changes.
- Progression: an XP/leveling system with a configurable formula and max level, plus an active-XP-multiplier mechanic.
- Content: 20 fish species across rarity tiers and 10 size tiers (each with length ranges and value multipliers), 5 rod tiers, 4 bait types, and bait-digging with 4 shovel tiers at defined dig spots.
- World: boat rentals, named fishing zones (pier, illegal, etc.), and a shop NPC — all configured through a documented 14-section config.
- Portability: a bridge layer that auto-detects the framework (QBCore / ESX / QBox) and inventory (ox / qb / qs / codem) at runtime, so it's plug-and-play.
- Protected: shipped with Cfx.re asset escrow, with the config files deliberately left outside escrow so buyers can still customise everything.
A framework-agnostic abstraction layer is the standout here — one codebase that adapts to whatever server it lands on, instead of separate builds per framework.
PSY-Queue Connection Queue System +
A connection-queue and priority system for high-traffic FiveM servers, plus a custom animated loadscreen — handling who gets in, in what order, when the server is full.
- Queue core: loads before the framework to intercept
playerConnecting, with reserved staff slots and AFK detection that kicks idle players. - Priority tiers: Discord role-based skip tiers (resolved live via a bot token with the Server Members Intent), staff instant-bypass, ACE-permission bypass, Tebex purchase tiers, priority codes and a whitelist mode.
- Visibility: Discord webhook logging, playtime tracking, a ban list, and a token-secured live HTTP queue endpoint for external displays.
- Loadscreen: a polished custom screen with slideshow / MP4 / YouTube backgrounds, a music playlist, an audio visualizer, social links and rules/tips tabs.
The ordering logic blends several priority sources (roles, purchases, codes, staff) into one fair queue — and it had to hook the connection lifecycle correctly to work at all.
Echo HUD Game UI / Overlay +
A modern heads-up display for QBox servers with a built-in greenzone (safe-zone) system — a real-time overlay that reads live game state every frame.
- Vehicle HUD: a circular speedometer with tick marks and animated arcs — RPM (yellow→red at redline), fuel (green→red when low) and engine (blue→red when damaged) — plus gear, plate and a seatbelt indicator.
- Player state: colour-shifting health (amber under 55%, red under 25%) and armour bars, a 6-slot ox_inventory hotbar with live icons/counts and active-weapon highlight, and live cash/bank that flashes on gain or loss.
- Awareness: a horizontal compass strip, a pma-voice proximity indicator (mode, range, talking pulse, radio channel), a job/duty badge and a player-ID pill.
- Greenzones: config-defined safe zones that disable weapons, force-holster on entry and show a throttled notification — with the default GTA HUD suppressed every frame and a server loop that keeps QBox metadata topped up.
- Configurable: ~16 feature flags to toggle any element on or off.
A frame-by-frame overlay that stays performant while continuously reading vehicle, player, voice and zone state — and cleanly overrides the native game HUD.
Want the short version?
Browse the project gallery, or grab my CV.