This is some text inside of a div block.

A Family Business Built to Elevate an Industry

Billy Muir started the business in 2005 after walking away from a job whose ethics he could not stand behind. He brings 35 years of experience in the trade. The mission has not changed in the 21 years since: educate, empower and elevate every customer we meet, with his sons now on the tools beside him.

north_east
event
Meet the Muirs and the OctoPlus Crew

Real People, Real Names, Real Accountability

When you call OctoPlus, you are talking to the family who owns the business. There are no call centres and no faceless tradies. Billy sets the standard, the boys are learning the craft, and Meqa and Natalie make sure you are looked after from the first call to the final clean-up.

Billy, Owner and Senior Technician at OctoPlus Plumbing

Billy

Owner + Senior Technician

With 35 years experience and 21 years running Brisbane Plumbing & gas before rebranding to OctoPlus there is no residential plumbing or gas-fitting challenge he hasn't seen and can't fix. Trusted by countless customers and their families for decades now, he's known for his skill, speed, honesty and kindness. Billy has worked tirelessly to build a business that challenges every stereotype homeowners have about plumbers. He's most proud of the fact that he and his team always leave people smiling. A lifelong Celtic FC supporter, second degree BJJ blackbelt and proud Dad to Marcus, Jack and Zoe, he also has an octopus tattoo.

Meqa, 'Extra Plus' Champion at OctoPlus Plumbing

Meqa

'Extra Plus' Champion

With a background in HR and marketing Meqa works behind the scenes to help make sure customers know OctoPlus is a family-owned business with a 21 year track record they can rely on. Meqa's role is to help Brisbane families find OctoPlus when they need help with plumbing or gas problems, and to help the team bring the 'Extra Plus' to life in every way possible. She's also Billy's Wife and proud Mum to Jack and Marcus. Meqa loves learning about human behaviour and going to TotalFusion.

Natalie-Ann, CSR and Office Manager at OctoPlus Plumbing

Natalie-Ann

CSR + Office Manager

If you call OctoPlus before lunch you'll be talking to Nat on the phone. She helps answer questions, and schedule jobs for homeowners across Brisbane every day so the technicians can deliver amazing service to Brisbane families. Nat also keeps on top of accounts and payroll so that everybody gets paid. She's very popular! As a Mum herself, Nat understands the anxiety that can come with calling a plumber so she always makes the process easy and comfortable. Natalie is the 'steps queen' and never misses a fitbit reminder or morning walk.

Michelle, CSR at OctoPlus Plumbing

Michelle

CSR

If you call OctoPlus after lunch you'll be talking to Michelle. With a background running her own hairdressing business, Michelle has so much patience and such a calm way of dealing with things that she's often asked if she's an AI!! Michelle also helps homeowners answer plumbing questions and schedule technicians to visit and fix things, but one of her main roles is 'Happy Calls' the day after our team has visited, to make sure we've delivered our signature service. Michelle loves the arts, live music and photography.

Marcus, third-year apprentice at OctoPlus Plumbing

Marcus

Third-year apprentice

Marcus is completing his apprenticeship working alongside all the technicians both to learn and to support them. He's got great manners, excellent communication skills and is on track to follow in his Dad's footsteps as an excellent tradesman. Don't let his good looks and charm fool you though, Marcus is also a BJJ Blue belt and competitive MMA fighter.

Jack, first-year apprentice at OctoPlus Plumbing

Jack

First-year apprentice

Jack is in the first year of his apprenticeship and learning fast. He's just finished year ten and unlike many teenagers, he's always up for a chat. If he keeps up his hard work and learning he'll be following in Marcus's footsteps soon. Jack loves fishing and has just started BJJ.

Open positions

We are always looking for tradies who take pride in the work and want to build something they can stand behind. If that sounds like you, have a look at what is open.

north_east
Our Track Record

21 Years, 35,000+ Jobs, Seven Awards and Counting

Numbers, reviews and recognition. The track record says more than any promise we could make here.

north_east
21
Years in Business
35,729
Jobs Completed
4.9
Google Rating
7+ Years
Word of Mouth Awards
Real Words. Real Neighbours.

Hear From Our Happy Brisbane Homeowners

4.9
star
star
star
star
star

on Google 668 reviews

star
star
star
star
star
Great service, friendly and timely in all communication. Really appreciate the professionalism
Michelle Kretschmer
star
star
star
star
star
The team are amazing , they came the same day and helped me with a blocked toilet. The booking was easy and communication was really good. Thanks Guys !
Pedzi
star
star
star
star
star
Quick and easy with great price transparency
Emily Bambrick
star
star
star
star
star
Billy was so professional and I felt very comfortable having him working in my home
Janine Mellor
star
star
star
star
star
Excellent service - from Michelle on the phone to Billy the plumber who came out that same afternoon. Everything was sorted quickly and explained clearly. Appreciate the great work - will definitely use these guys again!
Claire Monsour
star
star
star
star
star
After our hot water system failed overnight, we called Billy at 8:00 AM on Saturday. By midday, he had a brand-new system completely installed! The team was super friendly, efficient, and did an amazing job. Highly recommend their services.
Glenn Wiseman
star
star
star
star
star
We had a friendly service from Billy. He did a great job, would highly recommend.
Joanna Horn
star
star
star
star
star
Great service by Billy, Marcus and all their team as a follow-up to a previous gas hot water replacement. Good communications along the way, punctual and helpful. Couldn’t ask for more. Highly recommended.
Eric Sonego
star
star
star
star
star
Thanks Billy for taking the time to explain the job in detail to us. I am very happy with work done and I would recommend Octoplus to anyone looking for an honest and genuine plumber. Customer service was excellent!
Chris Taylor
star
star
star
star
star
Great family business. Show up on time and do what they say they will do. Replaced our shower heads and put in a water filter.
Alison Maher
Where We Work

Serving Brisbane From Our Morningside Base

We work within a 12km radius of our Morningside office, right across Brisbane. Primary suburbs include Morningside, Bulimba, Balmoral, Hawthorne, Cannon Hill, Seven Hills, Norman Park, Camp Hill and Coorparoo. We also cover Ascot, Hamilton, New Farm, Paddington, Red Hill, Wynnum, Manly and more.

north_east
location_on
Morningside
location_on
Bulimba
location_on
Hawthorne
location_on
Cannon Hill
location_on
Camp Hill
location_on
Coorparoo
location_on
Balmoral
location_on
Norman Park
location_on
Seven Hills

Ready to Experience the OctoPlus Difference?

You only need one plumber if you pick the right one, and we would like to be yours. Call Natalie, book online, or send us a message. We will diagnose properly, quote honestly, and leave your home better than we found it.

event
/* ========================================= Lumos GSAP Starter Interactions Version: v1.1 ========================================= */ document.addEventListener("DOMContentLoaded", () => { /* ========================================= Validación inicial de GSAP ========================================= */ if (typeof gsap === "undefined") return; gsap.registerPlugin(ScrollTrigger); const prefersReducedMotion = window.matchMedia("(prefers-reduced-motion: reduce)").matches; if (prefersReducedMotion) return; /* ========================================= Animaciones de counters, cards e íconos ========================================= */ function initCounters() { /* Elementos */ const cards = document.querySelectorAll(".counter_card"); const counters = document.querySelectorAll(".counter_digit"); const icons = document.querySelectorAll(".counter_icon"); if (!cards.length && !counters.length && !icons.length) return; /* ----------------------------------------- Animación de entrada de las cards ----------------------------------------- */ if (cards.length) { gsap.fromTo(cards, { y: 32, opacity: 0, scale: 0.96, filter: "blur(8px)" }, { y: 0, opacity: 1, scale: 1, filter: "blur(0px)", duration: 0.75, ease: "power3.out", stagger: 0.12, scrollTrigger: { trigger: cards[0], start: "top 85%", once: true } } ); } /* ----------------------------------------- Animación numérica de los counters ----------------------------------------- */ counters.forEach((counter) => { const originalValue = counter.textContent.trim(); // Normaliza el número para aceptar separadores de miles const numericValue = originalValue.replace(/,/g, ""); const endValue = parseFloat(numericValue); if (isNaN(endValue)) return; const before = counter.dataset.before || ""; const after = counter.dataset.after || ""; const duration = parseFloat(counter.dataset.duration) || 2.2; const delay = parseFloat(counter.dataset.delay) || 0.2; // Detecta los decimales desde el valor numérico real. // Opcionalmente se pueden definir manualmente con data-decimals. const decimals = counter.dataset.decimals !== undefined ? Math.max(0, parseInt(counter.dataset.decimals, 10) || 0) : (String(endValue).split(".")[1] || "").length; // Mantiene separadores de miles y decimales const formatter = new Intl.NumberFormat("en-US", { minimumFractionDigits: decimals, maximumFractionDigits: decimals }); let obj = { value: 0 }; gsap.to(obj, { value: endValue, duration, delay, ease: "power4.out", scrollTrigger: { trigger: counter, start: "top 85%", once: true }, // Actualiza el texto mientras avanza la animación onUpdate: () => { counter.textContent = before + formatter.format(obj.value) + after; }, // Ajusta el valor final y agrega un pequeño rebote onComplete: () => { counter.textContent = before + formatter.format(endValue) + after; gsap.fromTo(counter, { scale: 1 }, { scale: 1.08, duration: 0.18, yoyo: true, repeat: 1, ease: "power2.out" } ); } }); }); /* ----------------------------------------- Animación de íconos ----------------------------------------- */ icons.forEach((icon, index) => { const iconInner = icon.querySelector(".material_icon") || icon; const tl = gsap.timeline({ scrollTrigger: { trigger: icon, start: "top 85%", once: true }, delay: 0.35 + index * 0.12 }); tl.fromTo(iconInner, { scale: 0, rotate: -20, opacity: 0, filter: "blur(8px)" }, { scale: 1.18, rotate: 0, opacity: 1, filter: "blur(0px)", duration: 0.55, ease: "back.out(2.4)" } ) .to(iconInner, { scale: 1, duration: 0.25, ease: "power2.out" }) .to(iconInner, { y: -4, duration: 1.8, repeat: -1, yoyo: true, ease: "sine.inOut" }); }); } /* ========================================= Inicialización general ========================================= */ initCounters(); initAutoTabs(); initHeadingReveal(); });