All Episodes

June 30, 2025 23 mins

This episode is part 2 of a 2-part conversation with Joe Casabona, a systems architect for solopreneurs and a self-described automation geek. You can catch part 1 over on the Streamlined Solopreneur feed here

What if the difference between a chaotic, scope-creeping project and one delivered calmly, on time, and on budget wasn’t just better estimating - but a totally different approach? 

Joe shares how he used "vibe coding" - collaborating with AI as a coding partner - to rescue a complex nonprofit website project from spiraling out of control. You’ll hear how he navigated unexpected technical requirements, avoided burning weekends, and delivered a solution that protected both his business and his mental health.


This isn’t about working faster. It’s about designing a system that supports calm, margin, and intentional business choices.


What You’ll Learn

  • How "vibe coding" can help consultants keep projects on track without endless late nights
  • The importance of deeply understanding client needs (and what happens when you don’t)
  • Why AI is a better "rubber duck" than a magic wand
  • How to approach AI as a partner rather than a replacement
  • Practical ways to use AI to reinforce your business values and protect your time

Learn More About Joe

Learn More About Susan


Grab the Calm Service Design + Delivery Swipe File here

Mark as Played
Transcript

Episode Transcript

Available transcripts are automatically generated. Complete accuracy is not guaranteed.
Susan Boles (00:00):
Hey there. Susan here with a quick note before we

(00:02):
dive in. This is part two of aspecial conversation with Joe
Casabona. We started over on hisshow, Streamline Solopreneur,
where we talked about theconcept of vibe coding,
basically using AI as a partnerin your development process
instead of coding everythingyourself. If you haven't
listened to that first part yet,I definitely recommend starting

(00:23):
there.
You'll find the link right inthe show notes. What if the
difference between a chaoticscope creep riddled client
project and a calm, delivered ontime system wasn't just better
boundaries or more accurateestimating, but a completely

(00:45):
different way to approach theproject itself. Today, we're
solving for Calm. One KPI, onebottleneck, one business at a
time. And I'm your host, SusanBolz.
As I mentioned, this is part twoof a two part conversation with
Joe Casabone. Joe's a systemarchitect for solopreneurs, a
former web developer, and afellow automations geek who

(01:08):
loves all things tech. In partone over on Streamline
Solopreneur, we geeked out aboutthe idea of vibe coding, which
is basically using AI as yourcoding partner. You describe
what you want built, and itwrites the actual code for you.
So if you're curious about thehow of vibe coding or what can
go wrong when you treat AI likea magic wand, go listen to that

(01:31):
first part.
You'll find the link in the shownotes. In the second half, we're
talking about how Joe actuallyused vibe coding to keep a
complex client project on track.We're digging into the
bottlenecks he hit, theunexpected scope changes, and
how he used AI not as areplacement for expertise, but
as a systems design tool to keepboth his business and his brain

(01:54):
calm. So here's the setup. Joetook on a nonprofit client

(02:48):
project thinking it would be apretty straightforward WordPress
build.
No custom code. No biggie.Right? But if you've ever worked
with clients before, you couldprobably guess what happened
next. Midway through, herealized he needed advanced
custom fields, complex userroles, and even a full Google
Sheets macro system to make itall work.

(03:08):
Basically, it got way morecomplicated, way faster than
expected. This is usually thepart where most consultants
either burn the midnight oiltrying to catch up to the
original timeline even thoughthe scope has now ballooned, or
they go with option two, blow upthe butt. But instead, Joe
pivoted. We are talking aboutvibe coding a client project and

(03:35):
specifically using vibe codingas a tool in client services. So
talk to me about the project.
What was the project? How did itcome about? And you as a
developer, how did you decidenot to write your own code but
to try and use vibe coding toaccomplish the project?

Joe Casabona (03:58):
Yeah. It was a lot of panic, basically. So I was a
web developer by trade fortwenty years. And then around
the pandemic, I decided webdevelopment does not jive with
the type of dad I wanna be,right? Like, if you do big

(04:19):
client projects and, like,something goes down on a
Saturday, like, you're kind ofon the hook for that.

Susan Boles (04:26):
Right? Especially when it's somebody's website?

Joe Casabona (04:27):
Yeah. Exactly. And especially if they're making
money off of that website. Andso, like, I don't do web
designer development anymore. Iwanted to get into coaching
people in systems and consultingwith people in systems.
And I didn't wanna write customcode because I didn't wanna have
to support it. But I will stilldo the occasional simple

(04:48):
website, usually for a nonprofitorganization that I believe in,
right? And so, like, this, Idon't think they'll mind me
saying it at this point, but,the nonprofit is called Sale
Beyond Cancer. It means a lot tous. My father-in-law sells for
them, and my mother-in-lawpassed away of cancer a few
years ago.
And so, you know, I did some probono work for them last year,

(05:10):
and then they wanted this bigsystem that they said they had
budget for. And the big piece ofit was managing all of their
sales S A I L S with this giantGoogle this unwieldy Google
Sheet and they wanna have aportal. So I was like, Oh, this
is great. I'll, it'll beWordPress. I'll create some

(05:34):
stuff using a plugin calledAdvanced Custom Fields.
So again, no code. Whensomething happens in the Google
Sheet, I'll send it to theWordPress portal. Done and done.
My fatal mistake here was that Ididn't talk to the head
scheduler soon enough. So like afew folks walked me through what

(05:58):
they envisioned but I didn'tunderstand how the actual user
was going to use it.
And then I also made a bunch ofassumptions about the plugins I
was using and the block editor,because I'm like, block editor
came out seven years ago. Surelythese issues are fixed now. They

(06:19):
were not. And then the thirdassumption I made was that when
you use Zapier with GoogleSheets and you change a field,
any time that or a cell, right?Yep.
If you change a sell, anytimeyou change it, the Zap will
trigger. What I learned throughthis process was only unique

(06:44):
values trigger the Zap.

Susan Boles (06:46):
Oh, interesting.

Joe Casabona (06:47):
So if they had a sale scheduled and then
postponed, they wanted it to bedeleted from the portal. And
then when they scheduled itagain, they wanted it to be sent
back to the portal. Couldn't dothat because the scheduled sale
status was not unique. And solet's forget the WordPress code

(07:08):
for a while but like I vibecoded. There was a bunch of
stuff that I realized neededcustom code and I just had
ChatGPT write all of theWordPress code, which I could
describe.

Susan Boles (07:21):
Yeah. I think let's let's talk about the process
because I think a lot of peopleyou know, vibe coding, you and I
are pretty early on when itcomes to technology adoption.
Yes. Yes. Both make our livingWe're the early adopters.
Geeky API things. Right. Thenyour average person doesn't
necessarily understand API. AndI think vibe coding,

(07:45):
particularly because it's such anew term, new idea, I think it
would be really helpful to hearwhat was the process that you
used to have ChatGPT help you.

Joe Casabona (07:57):
Yeah. Great question. So ChatGPT, I've said
before is is or AI in generalhas been my rubber duck. So I
will talk through a problem withit. I'll ask it, Hey.
Is there a solution that doesthis? And then while I am
panicking because I scoped thisproject at, say, twenty hours

(08:22):
and I'm realizing that it'sgonna be closer to like a
hundred hours if I have tocustom code this stuff. I'm like
asking a bunch of stuff and, itsaid like, Yeah, you would need
a custom plugin for that. Do youwant me to code that for you?
And I thought, Yes.

(08:47):
Let's see what happens

Susan Boles (08:48):
Let me see how this goes.

Joe Casabona (08:51):
And again, WordPress is like fully open
source. So like it had a lot ofmaterial to learn from. But I
needed some stuff with advancedcustom fields. This is the
problem. Advanced custom fieldsis an incredible plugin for
WordPress that allows you to addadditional information to a

(09:13):
post.
And so I created this sales postwith all of like the passengers,
the captain, the crew, when thesale was, the vessel, and the
marina, all from the sheet. Andthen there's still not, like, a
native way to display that inthe block editor. You have to

(09:38):
code a custom block. And I'mlike, This is dumb. And so
ChatGPT just wrote all of thatfor me.

Susan Boles (09:47):
So did you end up having to debug it? Did you test
it and it just it was just fine?

Joe Casabona (09:55):
Yeah. For I'm gonna say 95% of the code it
wrote for me. I just tested itand it was fine. And if it
wasn't, it's because I didn'tprompt it the right way.

Susan Boles (10:11):
So how did you go about creating the prompts to
get the right output? Because Ithink that's actually the
challenge here Yeah. Is I thinkat the beginning when AI first
came out, there was a lot oftalk about, like, prompt
engineering Right. And that itit mattered. And I had not found

(10:33):
that to be true up untilrecently.
Yeah. Recently, I found that theprompts really do matter in the
quality of the output becauseit's doing more, I think, than,
you know, when originally whenit came out and everybody was
like, ah, write me a LinkedInpost. Right. You know, there
wasn't the granularity ofinformation that you needed

(10:55):
because we weren't expecting itto write a program or to be able
to do things independently likeit can now.

Joe Casabona (11:02):
Yes. One of the things one of my LinkedIn posts
that deeply upset the AIadvocates early on was telling
ChatGPT to act like a doctor islike telling George Clooney to
act like a doctor. Like, they'renot doctors. And so someone was
like, It puts it in the rightcontext. I'm like, Do you need
to tell it to act like a doctor,though?

(11:24):
And since then, research hascome out that when you tell it
to act like something, it doesimprove the quality. I never
told her to act like aprogrammer. It's stupid.

Susan Boles (11:33):
That's why I'm like, I I did not ever find
success with have thispersonality or do this thing. I
like to tell it what I'mexpecting. Yes. So these are the
outcomes. Or I need you to be abrainstorming partner with me.
I want you to, you know, pokeholes in what I'm Yeah. Like,
help me help me think throughthis, but don't just blow smoke

(11:56):
up my ass.

Joe Casabona (11:57):
Right. Yeah. Don't just agree with me. That's a
good one. For this project,because I also helped it
generate the proposal for me, Irecorded all of the, like, the
discovery call and then therequirements call and the
kickoff And I put that all intothe this project in ChatGPT.

(12:21):
I said, Help me come up with aproposal based on the
requirements we come up with,and here's how I'm gonna do it
now. And so it knew all of that.And so I continued in that
project, basically in that onechat, Hey, I need help with
this. What should I use? Whatare my options?

(12:42):
And so by the time it got to, Doyou want me to code this for
you? It was already veryfamiliar with what I needed. And
so the main thing I did was Isaid, If I upload the advanced
custom fields export of all thecustom fields I created, can you

(13:05):
code these things for me?

Susan Boles (13:07):
That's such a time saver.

Joe Casabona (13:08):
Yeah. And it did it. And then, like And then it
got even crazier because, like,you know, they have about 80
users on the site, and the userscould have multiple roles, which
I didn't learn until later. So Iwas like, Oh, we'll just assign
them different roles. And so Ifound a plugin that allowed for
multiple user roles and theygave me a spreadsheet to import.

(13:33):
So I gave it a CSV, and I said,Here are all the users I need to
import. I'm using this pluginthat allows for multiple user
roles. Can you create an importscript that will import each
user with the roles? And, again,it did it flawlessly. And so,

(13:55):
like, that also saved me a bunchof time or money.
Because this is the thing,right? I could have found
premium plugins for all this.Yeah. But then I would have had
to go to And I'm like, sorry toall the premium plugin
developers out there. But Iwould have had to go to the
client and been like, Hey.

Susan Boles (14:10):
Hey. Can we buy this thing that I didn't know
that I Yeah.

Joe Casabona (14:14):
I'm blowing up the budget unexpectedly. Right? Vibe
coding the WordPress aspect ofit was so helpful. And, like,
WordPress is something that I'vedone for a long time. So I'm
reviewing the code and sayinglike, Oh wow, this is actually
the right way to do it.
Like it's not like creatingcustom tables when it doesn't
need to. It's not like using thewrong methodology to do stuff

(14:38):
that could potentially break thesite. It automatically created,
like, admin pages so I can turnthings on and off if I needed
to. It was really impressive. Ido wanna move on to the Zapier
Google Sheet thing because thatwas also super helpful.
So two things led me to needingthis custom macro, right, or

(14:59):
Apps Script, I think they callit

Susan Boles (15:00):
Yeah.

Joe Casabona (15:00):
In Google Sheets.

Susan Boles (15:02):
It's a macro.

Joe Casabona (15:02):
Yeah. Yes. I get that Google Sheets is not a
database. But

Susan Boles (15:07):
So many people use it as one, though. Right. I
think because it's accessible,everybody has it, and it's
something that everybody canunderstand how it works. Like,
it feels much more approachablethan, like, a relational
database where you need tounderstand relational databases
and database structure and thatkind of thing. Everybody
understands a spreadsheet.

Joe Casabona (15:27):
Yeah. Right? Yes. Yes. And so, again, this is I
have a chronic problem of ifthis feature is obvious to me
it's definitely in there.
And so I thought, alright, wellif Zapier needs a unique value
in a field to trigger a zap, Iwill move it from the status

(15:53):
change which can only be one offive to a timestamp. And that
timestamp I'll just say like,Hey, Anytime any of these any
row or cell changes, update thetimestamp. Right? Very common
feature in databases. Not abuilt in feature of Google

(16:16):
Sheets.

Susan Boles (16:17):
I can kinda see that because it's again, it's
not a database. So somethinglike Airtable is in fact a
database which has fields thatyou can say. When was this
created? When was this updated?And then it's built into the
characteristics of the software,but Google Sheets is just trying
to be a spreadsheet.

Joe Casabona (16:34):
Right.

Susan Boles (16:35):
People use it for all kinds of things, but it's
just trying to be a spreadsheet.

Joe Casabona (16:38):
And I thought, for sure, if it's not native, then
there's probably an extension,And there wasn't. And so I was
like, ChatGPT, how do I do this?And it's like, Oh, here's the
code that you need to make thishappen. And so I said, Okay,
here's the spreadsheet. Whenthese columns change, update the
timestamp, and so, like, the thetime is unique enough.

(17:01):
And so I didn't know that AppsScripts or macros were, like, a
real thing in Google Sheets.

Susan Boles (17:07):
No. I didn't know until relatively recently. Like,
I've built a bunch macros inExcel and,

Joe Casabona (17:12):
like Right.

Susan Boles (17:13):
Because that's what you used to have to do back in
the day.

Joe Casabona (17:15):
Right. That's, like, that's how you would get
Excel to do stuff. Yep. And so,like, I simultaneously learned
about this and then had thecode. That took some debugging.
And it's mostly because, like,I'm not as familiar with that
and so I didn't really know whatto ask for. Yep. And then I As
I'm, like, doing this on thefly, I'm like, Oh, well, I

(17:35):
really want it in this case, inthis condition, and I only want
it on these sheets because it'salso, like, multiple sheets. It
was, like, a behemoth. And so,like, I think if I had been
clearer with exactly what Iwant, it would have probably
come up with the code.

Susan Boles (17:54):
But I think it's an interesting counterpoint to you
using vibe coding when you arein a system that you're very
familiar with. You know, you canwrite custom code for WordPress.
And in that case, it was verysuccessful right out of the gate
because it was benefiting fromyour knowledge of the existing

(18:16):
system versus using Vibe codingfor something where, yes, if you
know one kind of code, for themost part, you understand how
coding structures work.

Joe Casabona (18:28):
Right.

Susan Boles (18:29):
But going from one language to another is not as
straightforward.

Joe Casabona (18:34):
Or environment. Right?

Susan Boles (18:35):
Like, I

Joe Casabona (18:38):
could say I want an iOS app that does this. But,
like, I don't know all I knowabout iOS apps is that you need,
like, a developer account. But,like, I don't know really how to
describe an iOS app, especiallythe user interface. And, like,
I've never done an iOS. So,like, it would also have to,

(18:59):
which it's done for me before,how do I get this code where I
need it to be?

Susan Boles (19:04):
That like, that's the piece that I think is
interesting in the differentexperiences between using vibe
coding in a system you'refamiliar with versus using one
where you're not.

Joe Casabona (19:14):
Right.

Susan Boles (19:15):
You have to ask it a lot of questions to say, what
do you need from me? What whatother information are you
missing?

Joe Casabona (19:21):
Yeah.

Susan Boles (19:21):
What documents would be helpful for me to
provide? But it's not gonnanecessarily know it. I think
it's difficult in, like,environments where you are not
familiar with that structure.You don't know what you don't
know. Right.
Where, like, in a situationwhere it's a environment you're
very familiar with, you knowwhat you don't know, and you

(19:44):
know what to look for becauseyou're very familiar with how
things can go off the rails.

Joe Casabona (19:49):
Yes.

Susan Boles (19:49):
And so I think that is an interesting aspect where
right now, vibe coding worksreally well in an environment
where you know what it is, youknow what you're trying to
accomplish, you know what tolook for. And I think it's a lot
harder to do in environmentswhere you don't necessarily
aren't familiar with the codingenvironment. You're not

(20:10):
necessarily familiar with howthat works or how it interacts
because you just don't know whatyou don't know. Yeah. That's And
it's not gonna tell you what youdon't know.

Joe Casabona (20:18):
That's exactly right. And, like so even with,
like, the WordPress project,like, there are a few ways I
could have added the code to theWordPress site. There's one very
right way to do it, and thenthere is one very wrong way to
do it that would be destructive.Like, if you did it this way and

(20:41):
the WordPress site updated, thatcode would be gone. And chat GPT
did a good job of explainingeach of those things.
But if I'm just in a rush andnot paying attention, I might
have done the

Susan Boles (20:54):
wrong one. You're gonna know. And I think right
now we're at a kind of aninflection point where the
possibility is there and alsothe possibility to really mess
things up where you're messingaround where you don't know
Yeah. What you're doing.

Joe Casabona (21:07):
You still do need to know what you're doing. But
in in this case, it saved mybutt. Like, it really did. It
allowed me to deliver theproject on time and on budget.
On budget for the client.
It probably ended up taking me,like, about ten hours more than
I expected.

Susan Boles (21:27):
I mean, who hasn't scoped a project and then gone,
well, mess that one up.

Joe Casabona (21:33):
Right. But I was looking at, like, triple or
quadruple the amount of time.

Susan Boles (21:41):
Joe's use case is a great example of how tools, when
used intentionally, can give us,as consultants, something like
superpowers. They don't have toreplace you, but if you
understand how to harness them,they can support you in ways you
might not expect. In this case,Joe managed to deliver his

(22:02):
project on time, close tobudget, and without sacrificing
his weekends to scope creep. Byletting AI handle the heavy
technical lift, he protected histime and his client
relationship. Instead ofdefaulting to overwork, he
leaned on the lever ofefficiency to rebuild the margin
he would have otherwise lost.

(22:22):
And this isn't just aboutcoding. It was about designing a
decision system that prioritizedcalm. What I love here is the
subtlety. Joe didn't use AI todo more. He used it to protect
the shape of the project and hisrole inside it.
He stayed the architect, not thefirefighter. It's a powerful

(22:42):
reminder that the tools we use,AI included, aren't just about
output. They're aboutreinforcing the kind of business
in life we actually want. Butlet's zoom out just a little
bit. What we just walkedthrough, it wasn't really about
AI or code.
It was a snapshot of how tobuild a calmer business by
intentionally pulling that leverof efficiency. And in this case,

(23:06):
efficiency wasn't about movingfaster. It was about reducing
the load, lowering the decisionfatigue, and building in margin.
So here's your tiny action tohelp you calibrate towards calm.
The next time a project startsto sprawl, pause and ask
yourself, what problem am Iactually solving?
And is there a tool or acollaborator, whether that's

(23:28):
human or AI, that could help mehold the boundary instead of
absorbing it. That one shift cancreate so much more margin, not
just in your calendar, but inyour brain.
Advertise With Us

Popular Podcasts

On Purpose with Jay Shetty

On Purpose with Jay Shetty

I’m Jay Shetty host of On Purpose the worlds #1 Mental Health podcast and I’m so grateful you found us. I started this podcast 5 years ago to invite you into conversations and workshops that are designed to help make you happier, healthier and more healed. I believe that when you (yes you) feel seen, heard and understood you’re able to deal with relationship struggles, work challenges and life’s ups and downs with more ease and grace. I interview experts, celebrities, thought leaders and athletes so that we can grow our mindset, build better habits and uncover a side of them we’ve never seen before. New episodes every Monday and Friday. Your support means the world to me and I don’t take it for granted — click the follow button and leave a review to help us spread the love with On Purpose. I can’t wait for you to listen to your first or 500th episode!

Las Culturistas with Matt Rogers and Bowen Yang

Las Culturistas with Matt Rogers and Bowen Yang

Ding dong! Join your culture consultants, Matt Rogers and Bowen Yang, on an unforgettable journey into the beating heart of CULTURE. Alongside sizzling special guests, they GET INTO the hottest pop-culture moments of the day and the formative cultural experiences that turned them into Culturistas. Produced by the Big Money Players Network and iHeartRadio.

Crime Junkie

Crime Junkie

Does hearing about a true crime case always leave you scouring the internet for the truth behind the story? Dive into your next mystery with Crime Junkie. Every Monday, join your host Ashley Flowers as she unravels all the details of infamous and underreported true crime cases with her best friend Brit Prawat. From cold cases to missing persons and heroes in our community who seek justice, Crime Junkie is your destination for theories and stories you won’t hear anywhere else. Whether you're a seasoned true crime enthusiast or new to the genre, you'll find yourself on the edge of your seat awaiting a new episode every Monday. If you can never get enough true crime... Congratulations, you’ve found your people. Follow to join a community of Crime Junkies! Crime Junkie is presented by audiochuck Media Company.

Music, radio and podcasts, all free. Listen online or download the iHeart App.

Connect

© 2025 iHeartMedia, Inc.