I never thought I would say those words. My job title is Project and Operations Lead, not developer. I did not know what Supabase was six months ago (I had to look it up, and honestly still couldn’t give you a detailed explanation even now). And yet, I am currently the lead architect of a fully custom agency management platform that I am building in real time while simultaneously managing “normal” job duties .
That sentence would have sounded completely unhinged to me two years ago.
But here we are. I actually created something and it’s called Swirl.
Earlier this year, SDH made a studio-wide push to actually start using AI instead of just talking about it. Our team was encouraged to bring ideas to our dev team to see what was possible.

My first ask was pretty humble: I wanted a way to take a project spreadsheet (that I had Claude build for me from a proposal), upload it somewhere, and have it automatically create the project, tasks, and deadlines inside Teamwork, our project management tool. Dev built it. It worked. I was absolutely delighted.
Then Ben, our Founder & Creative Director, started playing around in Lovable. He invited me to try it out and actually build something myself. I rebuilt my little spreadsheet-upload app but this time it was mine to edit and mess with. Still pretty small. Still very much me figuring out what was even possible.
And then Ben said: "Why don't we just build our own Agency Hub?"
He spun up the framework and handed me the keyboard.
Teamwork is a solid tool, but was obviously built for a broad market, not us specifically. For a small agency our size, there were features locked behind paywalls that we would genuinely use. There were also entire sections of the platform we paid for and never touched. And then there were things we actually needed, like connections to our existing workflows, that simply did not exist.
The real issue was not any single missing feature. It was that the tool was not shaped like our business. And before AI made this kind of build accessible, you picked what worked for you and lived with the gaps.
I never thought "build your own" was a real option for a studio like ours. Now it is.
Swirl is SDH's internal Agency Hub. It lives at its own URL, it is built on React and Supabase, and it is designed top to bottom around how our specific eight-person studio actually operates.
Every project, task, deadline, and phase in one place, with statuses and views that match how we actually talk about work.
Logged by person, by project, by day. Billable vs. non-billable. Pulls directly into profitability reporting.
Clients get their own view with project updates, file sharing, and messaging, without seeing our internal chaos.
Built-in proposal creation with AI-assisted drafting, e-signature, and a pipeline dashboard.
Contacts, companies, deals, and activity logs all connected.
Our V/TO, Rocks, Scorecard, and Issues List live in the Hub because we run on EOS and our operations tool should know that.
Meetings recorded via Google Meet or uploaded as transcripts get automatically summarized, matched to the right project, and turned into tasks for approval.
Calendar, Gmail, and Drive all connected. A Gmail sidebar lets you create tasks from emails without leaving your inbox.
The Hub talks to our Slack. Updates surface where the team already lives.
One of my favorite parts of how Swirl works is communicating with Claude. It is not a feature inside Swirl. It is just a conversation, with Claude.ai connected to our database and project management tools.
That means I can open Claude and say: "Create a task in the Top Secret project, assign it to McKenna, due Friday." And it happens. Or: "What tasks are overdue and unassigned right now?" And it tells me. Or I paste in a meeting transcript and ask for a client summary, and it drafts one with full context from the project.
The deliberate choice not to build a chat interface inside Swirl itself saved us time and money. Claude already exists, my team already has access, and it costs us nothing extra. Why rebuild it?
Let's talk about what this actually cost.
Lovable credits: 2,629.5 at $0.30 each. Total: $788.85. On paper, that looks almost unreasonably cheap for a custom software build. And it is, but only if you stop counting there.
The number that does not show up on any invoice is the 65+ hours I put into this build. That is real time, with a real dollar value, pulled away from other work. Add in the hours spent spinning my wheels when something broke, or when a prompt produced something that made absolutely no sense, and the true cost is meaningfully higher. There is also a future cost that is easy to overlook: someone on your team has to own this thing, maintain it, fix it when it breaks.
And to be clear, what we have right now is a beta. We are still building.
So is it worth it? For us, absolutely. Swirl is built to make our team more efficient, help us win new work, and make both our clients and our team members happier. That is basically my entire job description, and now I have a tool shaped exactly around it.
But I want to be honest about when this kind of build makes sense and when it does not. If a third-party tool already does what you need at a reasonable price, use it. We kept tools we could not justify replacing. The math only works in your favor when the gaps in existing software are costing you more, in time, money, or capability, than the investment of building something yourself.
For us, the gaps were real. And honestly, the build itself gave me something I did not expect: the confidence to spin up tools whenever we need them now. Building Swirl also forced me to rethink every single one of our processes from scratch. Not just how we do this, but how we should do this, and where does AI actually fit into it. When you are designing the tool yourself, you cannot just accept the defaults. You have to make every decision intentionally. That shift in thinking has been just as valuable as the software itself.
I’m in a unique position. I have Ben, who understood the technical architecture and set up the foundation. I have a dev on call who can step in when something breaks in a way that requires actual code knowledge. Not everyone has that.
But the gap between "has a dev team" and "can build software" has never been smaller. There are a lot of people like me out there: operators, agency owners, studio leads, people who run businesses and have always just accepted that the tools available were your only options. That is changing fast.
The reason I am writing this is not to brag about having a fancy custom tool (okay, maybe a little). It is because the mindset shift is the real golden nugget. Once you genuinely internalize that you can build the thing instead of buying the closest approximation of it, you start looking at every workflow bottleneck differently.
We are an 8-person design and dev studio. We built our own software. I still have to look up what half the technical terms mean. And it is working.
Swirl is actively being tested and used by our internal team. We are still building, still finding the gaps, still sending prompts to our AI junior developer and watching features appear. There is a whole Admin Handbook that documents every decision, every field name, every layout choice. It is updated every time we make a significant call.
We built a client portal. We replaced our proposal tool. We have meeting intelligence that turns a 45-minute call into an organized project update before I finish my coffee. We are currently building out the full CRM and pipeline management.
At some point we will write the "what we learned" version of this article. There have been plenty of moments where things went sideways, features regressed, or a prompt I sent produced something that made no sense whatsoever.
But that is the job now: Project & Operations Lead/Vibe Coder.
Interested in how we approached a specific piece of it? Reach out. I am happy to talk about it.