How I think.
Two projects, broken down the way I'd talk through them in an interview — the problem, my approach, the hard part, and the outcome.
Andrew Murley Plumbing Client Web Build +
A local plumber serving Queensland's Pioneer Valley had no real online presence, while competitors were surfacing in local search. The site needed to win trust fast and turn visitors — mostly on mobile — into phone calls.
I built a fast, framework-free multi-page site with a mobile-first layout and click-to-call actions throughout. I added dedicated landing pages for each town served (Eton, Marian, Mirani) to target local search, and an interactive Leaflet map that visually shades the coverage area.
Getting genuinely strong local-SEO signals without a CMS or build step: hand-authored schema.org LocalBusiness and Service structured data, per-suburb pages that stay maintainable, and a custom Leaflet integration for the service-area map — all while keeping the page weight low for fast mobile loads.
A live, professional site the client can hand out and rank with. add result → e.g. "ranking page 1 for 'plumber Marian'" or "~X enquiries / month"
Echo Platform Stack Advanced All-in-One Platform +
A gaming community ran a Discord server, a FiveM game server and a website that didn't talk to each other. Player identity, moderation and payments were fragmented — a ban in Discord meant nothing in-game, and staff had no unified view.
I designed a three-part platform around one shared identity model: a Discord bot (Node/discord.js), a FiveM Lua resource exposing a secured HTTP API, and a Next.js/TypeScript web app. A player's Discord ID links to their in-game licence, so bans, lookups and payments flow across all three.
Cross-runtime, cross-machine communication. The bot and game server live on separate VPSes and talk over authenticated HTTP (shared Bearer key). That meant designing endpoints that fail gracefully when one side is offline, keeping a consistent identity model across three languages (Lua, JavaScript, TypeScript), and making moderation actions propagate reliably without race conditions.
One coherent platform where Discord, game and web share state in real time. add scale → e.g. "serves X Discord members / Y concurrent players"
Move the inter-service calls behind a typed, versioned API contract and add automated integration tests across the three runtimes.
Want the full picture?
Browse every project, or grab my CV.