
Founder · EmbedAI
Developer
since twelve.
National Manager
by accident.
I'm Nic Fouhy. I've been writing code since I was twelve. I spent sixteen years running New Zealand's largest technology repair network, building the software along the way that helped me scale it from 200 to 27,000+ devices per year. My approach is simple, "what gives my customer a better result?". How could this be improved? How can I save 15 seconds from this task? It's no wonder EmbedAI has the same approach, relentless pursuit of efficiency.
Raumati Beach, NZ · Est. 2024 · Full Stack AI Systems

1991 · Age 5
At a computer before I could spell.
Crayolas on the desk, an ABC book for balance, and a beige CRT that weighed more than I did. It would be another seven years before anything I typed meant much. But this is where it started.
1999 · Age 13
First line of code.
I spent every dollar I had on a copy of QBasic by Example. Seventy-two New Zealand dollars, ordered from Amazon back when they still only sold books. It took three months to arrive.
I read it cover to cover, writing along with it the whole way through. Then I launched a QBasic tutorial site at qbworld.8k.com and started publishing my own.
' ============================================================' Welcome to a tutorial by Nic Fouhy' ============================================================'' VISIT MY WEBSITE AT:' http://www.qbworld.8k.com/'' 18 March 2000'' Please do not alter this file in any way' if you plan on giving it away somewhere.'' If you want to change it then E-mail me at:' nicfouhy@hotmail.com' and I will get back to you.'' We are going to go over three different ways of creating' graphics. We will be drawing a smiley face out of each method. SCREEN 13PRINT "The PSET way..." ' First row of pixelsPSET (13, 5), 14PSET (17, 5), 14PSET (21, 5), 14PSET (25, 5), 14PSET (29, 5), 14PSET (33, 5), 14 ' Second row of pixelsPSET (9, 9), 14PSET (37, 9), 14 ' Third row of pixelsPSET (5, 13), 14PSET (41, 13), 14 ' These are the DATA statements, ___' you can see the smiley face | |' in the numbers. 14 = yellow | |' 00 = black. |___| DATA 00,00,14,14,14,14,14,14,00,00DATA 00,14,00,00,00,00,00,00,14,00DATA 14,00,00,00,00,00,00,00,00,14DATA 14,00,00,14,00,00,14,00,00,14DATA 14,00,00,14,00,00,14,00,00,14DATA 14,00,00,00,00,00,00,00,00,14DATA 14,00,14,00,00,00,00,14,00,14DATA 14,00,00,14,14,14,14,00,00,14DATA 00,14,00,00,00,00,00,00,14,00DATA 00,00,14,14,14,14,14,14,00,00 XLength = 10YLength = 10 FOR Y = 1 TO YLength FOR X = 1 TO XLength READ Pixel PSET (X, Y), Pixel NEXT XNEXT Y PRINT "Remember, this is"PRINT "a tutorial by Nic." END' ============================================================' Welcome to a tutorial by Nic Fouhy' ============================================================'' VISIT MY WEBSITE AT:' http://www.qbworld.8k.com/'' 18 March 2000'' Please do not alter this file in any way' if you plan on giving it away somewhere.'' If you want to change it then E-mail me at:' nicfouhy@hotmail.com' and I will get back to you.'' We are going to go over three different ways of creating' graphics. We will be drawing a smiley face out of each method. SCREEN 13PRINT "The PSET way..." ' First row of pixelsPSET (13, 5), 14PSET (17, 5), 14PSET (21, 5), 14PSET (25, 5), 14PSET (29, 5), 14PSET (33, 5), 14 ' Second row of pixelsPSET (9, 9), 14PSET (37, 9), 14 ' Third row of pixelsPSET (5, 13), 14PSET (41, 13), 14 ' These are the DATA statements, ___' you can see the smiley face | |' in the numbers. 14 = yellow | |' 00 = black. |___| DATA 00,00,14,14,14,14,14,14,00,00DATA 00,14,00,00,00,00,00,00,14,00DATA 14,00,00,00,00,00,00,00,00,14DATA 14,00,00,14,00,00,14,00,00,14DATA 14,00,00,14,00,00,14,00,00,14DATA 14,00,00,00,00,00,00,00,00,14DATA 14,00,14,00,00,00,00,14,00,14DATA 14,00,00,14,14,14,14,00,00,14DATA 00,14,00,00,00,00,00,00,14,00DATA 00,00,14,14,14,14,14,14,00,00 XLength = 10YLength = 10 FOR Y = 1 TO YLength FOR X = 1 TO XLength READ Pixel PSET (X, Y), Pixel NEXT XNEXT Y PRINT "Remember, this is"PRINT "a tutorial by Nic." END2008 — 2024 · Connect NZ
Sixteen years running the largest repair operation in the country.
By 2008 I had been writing code for nine years. I joined a two-person operation doing about 200 repairs a year. Sixteen years later we were 34 staff across four cities processing over 27,000 devices annually for IAG, Vero and Tower. Earning the only Apple Premium Service Provider accreditation in NZ and the only repair provider to be officially authorised by Samsung, HP, Acer, Lenovo, Toshiba and Apple. I became an executive manager and shareholder along the way.
I wasn't hired to write software at Connect NZ. I was hired to run the repairs. But I'd been programming since I was twelve, and every part of the operation that was stuck on manual process was a puzzle I already knew how to unstick. So I wrote the software anyway.
The ERP, the dashboards, the custom trained computer-vision model that based on 216,000 device images, the XML automation, the COVID remote-assessment system, the iOS apps — none of it was on the job description. All of it created with a focus on creating better outcomes for customers. It's how I did the job. It's also why the business scaled 135x.
200 → 27,000 over sixteen years
- 200→0+devices / year
- 2→0staff
- 1→0cities
What I built while I was meant to be doing other things
In addition to my job description:
- 2011Custom ERP on Claris FileMaker Pro
- 2015Power BI dashboards across four cities
- 2017Automated job creation — VBA, Python, FileMaker API
- 20181,100+ iPads via MDM
- 2020Virtual device assessment, built in a weekend, ran through COVID
- 2021iOS vaccine pass verifier app
- 2022OpenAI API integrated into FileMaker for automated reporting
- 2023Smart Assess — computer vision, 216,000 images, 95% accuracy
The pattern
I was hired to manage the repairs.
I wrote the software anyway.
That has been the shape of every role since age thirteen. Code as leverage inside a job that didn't require code. It's why the repair operation scaled. It's why EmbedAI exists.
The shift
Words could now be used as logic.
I think like a programmer. Logic, states, functions. The hook was always the same. Clicking run and watching inputs, maths and live data collide into an instant answer.
Then language models matured. Most people were captivated by the writing, the creative output. That was the obvious thing.
The part that mattered was quieter. Words could now be used as logic. That was the real shift.
A traditional programme can check whether a number is greater than ten. It cannot tell you whether a customer is frustrated, or whether a maintenance request implies a health-and-safety risk that was never explicitly mentioned.
Now it can. AI reasoning outputs true or false from language that is fuzzy, implied, and never directly stated. You can treat nuances as variables. Convert unstructured text into structured decisions. Build functions that extract what a message meant to say, not just what it literally said.
Every EmbedAI project starts from that premise. If you can describe the logic, AI can now execute it, even when the inputs are human language at its messiest.
What we build
Two things, side by side.
Three SaaS products built for recurring New Zealand problems, and bespoke AI integration for operators who need something the shelf doesn't stock.
Selected work
Production systems across NZ operators.
Brenda Currie Property Management
"Liam", an after-hours tenant voice AI that qualifies urgency and dispatches trade contractors automatically.
LiveCommercial Joinery
Real-time Simpro capacity visualisation across four teams with NZ public holiday and leave handling.
LiveEasy-Flow Drainage
Workflow automation across quoting, dispatch and invoicing.
LiveOn Time Aircon
HVAC job-handling tooling integrated with field operations.
LiveHazardCo
Proactive support voice AI plus automated compliance follow-up for 2,600+ overdue contractors across NZ, AU and UK.
ProposedProfessionals Real Estate
Post-viewing AI lead qualification with Palace MRI sync and daily route optimisation.
Proposed
Working with




How we work
Three principles we don't negotiate on.
Operator DNA
We ran a 34-person operation across four cities before we wrote code for a living. We know what a scaled business actually feels like, where the time goes, and which automations actually move the number.
New Zealand only
We work with New Zealand businesses, on New Zealand problems, at New Zealand scale. No offshore middlemen, no timezone gap, no translation tax.
Discovery · Build · Operate
A fixed-scope discovery sprint, then a priced build, then a retainer to run the system we shipped. If the ROI isn't there, we say so before you spend anything.
Next step
Let's find some hours of your week to automate.
If you have a process eating hours, a phone calls often unanswered, or a manual workflow you suspect is a good candidate, let's talk it through and have a conversation about what's possible.