The B2B Podcast Index
Index
All categories
MarketingSalesSaaSFinanceHROpsLeadershipCustomer SuccessAI & DataProductStartups & FoundersRevOpsEngineering & DevTools
MethodologySubmit
Best of:MarketingSalesSaaSFinanceHROpsLeadershipCustomer SuccessAI & DataProductStartups & FoundersRevOpsEngineering & DevTools
An independent project byFame
SearchBest episodesGuestsInsightsMethodologySubmit a podcast
Index/Engineering & DevTools/How Many CTOs
How Many CTOs artwork

Introducing Skein and Beaker Stack: Using AI Agent Engineers to Ship SaaS Faster

How Many CTOs · 2026-06-30 · 50 min

0:00--:--

Key moments - from our scoring

Substance score

47 / 100

Five dimensions, 20 points each

Insight Density10 / 20
Originality9 / 20
Guest Caliber8 / 20
Specificity & Evidence12 / 20
Conversational Craft8 / 20

Brad Heftegal, a fractional CTO, has been testing his thesis that smaller teams can ship bigger projects using AI agents and strong engineering practices. He created four AI agent personas (Diego, May, Rahul, and Sarah) using Nano Claude with role-based permissions, then put them through a crash course to build Beaker Stack - an opinionated SaaS template scaffolding. Beaker Stack comes pre-loaded with Next.js/React Native, full CI/CD with preview environments, Stripe billing with tiered features, Sentry observability, Resend transactional email, and a setup wizard (npm run setup) that gets a new SaaS live in hours. Building on this foundation, Heftegal shipped Skein in just 10 days using his AI engineering team: a cloud-hosted MCP server that acts as a shared memory backplane across Claude, ChatGPT, Cursor, and other AI tools. Skein solves the pain of repeating context - you capture a thought once, all your AI tools can access it with full audit trails and granular access controls. It launched on GetSkein.ai with free and paid tiers. The episode demonstrates spec-driven development and taking 'vibe' out of both coding and deployment through intentional engineering practices and AI augmentation.

Key takeaways

  • →Beaker Stack eliminates boilerplate SaaS setup by providing production-ready infrastructure (billing, CI/CD, observability, email) that you configure once and inherit in your app - cutting weeks of DevOps work to an npm command.
  • →Skein solves multi-AI-tool context fragmentation by providing a shared, auditable memory layer (MCP server) so you don't repeat the same information across Claude, ChatGPT, and Cursor.
  • →Using AI agents with defined personas and soul files (like Nano Claude with role-based GitHub access) lets you run structured code reviews, tech plan critique, and iterative feature development asynchronously - Brad went from 2,000 lines of code per day to 38,000 with his agent team.
  • →The key to shipping fast with AI is not vibe coding but applying classic engineering practices upstream (spec-driven development, feature briefs, tech reviews) and downstream (full CI/CD, automated testing, observability) to enforce quality gates.
  • →Brad shipped two distinct products in parallel (Beaker Stack template plus Skein SaaS app built on it) in under a month working part-time as a fractional CTO, proving the labor-cost reduction thesis.

In this episode

  1. 1The Case for AI-Assisted Development with Good Engineering Practices
  2. 2Introducing Beaker Stack: A Full-Featured SaaS Template
  3. 3Creating AI Agent Engineers: Diego, May, Rahul, and Sarah
  4. 4Building Skein: A Shared Memory Backplane for AI Tools
  5. 5Demonstrating Velocity: From Template to Product in Two Weeks
  6. 6How Beaker Stack and Skein Work Together
  7. 7Security, Features, and Billing Integration in the Stack

Mentioned

Brad HeftegalScott PoradaSkeinBeaker StackHow Many CTOsClaudeChatGPTCursorGitHubStripeSupabaseAWS

Guests

Brad Heftegal

Topics in this episode

Next.jsStripe BillingReact NativeSpec-driven developmentBeaker StackSkeinMCP (Model Context Protocol) serverNano ClaudeSentry observabilityResend transactional email

Questions this episode answers

What is Beaker Stack and how does it speed up SaaS launch?

Beaker Stack is an MIT-licensed open-source template that includes Next.js/React Native web and mobile apps, full CI/CD with preview/staging/production environments, Stripe billing with feature-gated tiers, Sentry observability, Resend email, and a setup wizard that configures everything with npm run setup - eliminating weeks of boilerplate infrastructure work.

What is Skein and why do AI users need it?

Skein is a cloud-hosted MCP server that acts as a shared memory backplane across AI tools (Claude, ChatGPT, Cursor, etc.), so users can capture thoughts once and have all their AI agents access that context without repeating information. It includes security features like granular access control, audit trails, and vector search for semantic recall.

How did Brad manage and coordinate his four AI agent employees?

Brad created four AI agent personas (Diego, May, Rahul, Sarah) using Nano Claude with role-based permissions (each agent has its own GitHub access token and specific capabilities), assigned them soul files describing their personality and working style, and ran them through structured processes like feature briefs and tech plan reviews - replicating how senior engineering teams collaborate.

How does Beaker Stack relate to Skein?

Beaker Stack is the underlying SaaS template framework (like Django) that provides billing, CI/CD, and infrastructure scaffolding; Skein is an example application built on top of Beaker Stack that uses those features to sell a cloud-hosted MCP memory service with tiered pricing.

What code velocity did Brad achieve with AI agents helping?

Brad's Cursor dashboard showed him writing 11,000 to 38,000 lines of code per day starting May 17th (up from typical 2,000 lines/day) when he activated his four AI agents, shipping Skein in just 10 days of part-time work while maintaining fractional CTO clients.

What our scoring noted

Our reviewer’s read on each dimension, with quotes from the episode.

Insight Density

10 / 20

The episode contains a handful of genuinely operational data points - overnight agent runs producing 30 PRs with only 5 usable, code coverage as an agent guardrail, and sub-$400/month token spend - but these are buried in lengthy friend-catching-up meandering, tangents about cats websites and rubber band balls, and broad claims about AI velocity that every B2B tech podcast now recycles.

I woke up in the morning, I had, like, 30 PRs, uh, five of which were usable. And so I was like, okay, that was a little bit too. I didn't get the right guardrails.
Beaker Stack has literally almost 100% code coverage on everything that's there. It's like 99% statement coverage, 95% branch coverage and like 98% function and 99% line coverage.

Originality

9 / 20

The 'classic engineering best practices as the actual unlock for AI velocity' framing is the episode's most defensible contrarian point, distinguishing it slightly from pure vibe-coding hype; however, soul files, agent personas, and the small-team-big-output thesis are now thoroughly circulated ideas, and the six-thinking-hats digression adds no new thinking.

This isn't about vibe coding. This is about applying classic engineering best practices and driving that velocity by using AI agents.
I gave them their soul files, which basically describes their personality, how they work.

Guest Caliber

8 / 20

Brad is a practicing fractional CTO who actually shipped a product using the methods he describes, which is more credible than a pure thought leader, but the format is two co-hosts chatting about a personal side project with zero users at time of recording - there is no scale, no revenue, and no external validation of the approach.

I do still do my fractional CTO work. I'm basically working more than full, full time with multiple different clients.
I literally built that in ten days. Ten days of part time coding with me and my four employees.

Specificity & Evidence

12 / 20

The episode does supply concrete named tools (Supabase, Sentry, Stripe, NanoClaw, Resend), specific timelines (May 10 agents start, May 24 Skein coding begins, June 3 recording), code coverage percentages, lines-of-code figures, and a token spend ceiling - more than average - but all metrics are self-reported with no third-party evidence, and there are zero business metrics like revenue, CAC, or user counts.

my biggest day here, uh, I think was 38,000 lines of code. This is just my contribution, not counting the other four robots.
from the moment I forked Beakerstack and said running, it was 45 minutes later. This, the, uh, the initial scan website was up.

Conversational Craft

8 / 20

Scott asks useful clarifying questions - distinguishing BeakerStack from Skein, probing agent management workflow, and raising the go-to-market gap - but mostly plays enthusiastic friend rather than skeptical interviewer; he never challenges the lines-of-code metric as a quality proxy, never pushes on the 5-of-30-PRs failure rate, and responds to extraordinary claims with literal 'wow' and 'that's amazing.'

I would think in 2026 when we were recording this, something like this already exists, doesn't it?
How do you manage and operate your workforce?

Conversation analysis

Computed from the transcript - who did the talking, and the words that came up most.

Share of words spoken

  • Speaker A67%
  • Speaker B33%

Most-used words

different32skein27agents25code19features18beaker18stack18built16question15start14diego14team13idea13agent12perspective11beakerstack11

Episode notes

In this special episode of " How Many CTOs Does It Take? " podcast, hosts Scott Porad and Brad Hefta-Gaub discuss Brad's experiment proving that AI can dramatically boost output for teams with strong engineering practices. Brad shares an MIT-licensed open-source SaaS template called Beaker Stack , which includes web and mobile scaffolding, CI/CD for preview/staging/production, automated setup, observability, email tooling, and Stripe-based tiered billing with feature gating. He then uses it to build Skein , a cloud-hosted shared "memory backplane" served via an MCP endpoint that lets multiple AI tools and agents read/write memories with strong security controls and auditing. Brad describes hiring four AI agent "engineers" (Diego, Mei, Rahul, Sarah) with persona "soul files," running them in Nanocloud/Nanoclaw containers for security, coordinating work via Telegram and GitHub, and applying spec-driven, test-heavy guardrails to ship Skein in about 10 days of part-time work. Scott asks questions about Brad's process, and the two hosts debate how different perspectives effect an engineer's process, be they AI agent or human coworker.

Full transcript

50 min

Transcribed and scored by The B2B Podcast Index.

Speaker A: People's background does inform their way of thinking. And we do know that the LLMs, I mean, you can get them to give very different answers if you tell them they are. They should approach it from a different perspective.

Speaker B: Hello, everybody, and welcome to this week's episode of How Many ctos Does It Take? My name is Scott Porada.

Speaker A: My trusty co host is Brad Heftegal.

Speaker B: And he texted me the other day and he said, scott, I have to show you what I've been working on. I'm so excited. I was like, all right, let's get on and let's get on a call and check it out. I can't wait to see. Brad, you said, uh, you didn't tell me much, so I'm not even going to try and set it, uh, up. Brad, why did you text me? What are you working on? What do you want to share with us?

Speaker A: Okay. All right. So I want to start with you, and I have been talking about this for a while. I've been really bullish on AI for teams that already have good engineering practices. Okay. Right. That's, that's been like, I've been pounding that drum forever. Right. What I've been saying is I believe, and I, you know, we've talked about this in past episodes, I believe that smaller and smaller teams are going to be able to do bigger and bigger projects if they've got the K shaped economy, if they've got best practices from an engineering perspective, if they understand how systems work, then basically these AI agents and AI software assistants are just like, going to make things happen. I've, uh, been consistent with that story, right?

Speaker B: Yes, you have been indeed.

Speaker A: Okay. So I decided I needed to put my money where my mouth was. Or as the saying goes, and I

Speaker B: think you meant to say, put your tokens where your mouth is.

Speaker A: Put my tokens where my mouth is. And I've got some charts to show you some token usage. But I basically have this thesis that labor costs are dropping. That means smaller and smaller teams can build cooler things. And so I was like, I need to put this to the test. Okay, that's the setup. All right, so let me tell you what I've done. So I have like a handful of, uh, I got like two dozen ideas in my back pocket for little things, little, let's call them SaaS apps, B2C SaaS. Apps that I personally wish existed. I want this thing. I want this thing for myself. So I said, I'm going to put this to the test and I'm going to Start to try to, I don't know, set some audacious goal of I want to ship a new SaaS app once every six weeks. That's my crazy audacious goal I want to set for myself. And meanwhile, you know, I do still do my fractional CTO work. I'm basically working more than full, full time with multiple different clients. And so this has got to be stuff that I can get done in a couple hours, a day at the most. Right? What does that mean? Right? What do I need to make that happen? I need really good quality engineering gates. Right? I need, we've talked about it. I need my cicd. I need, you know, automated testing. I need that just to be able to build software in a high quality way. I also figured that I needed a whole bunch of features all these things need to have. They all need like a, uh, landing page with some marketing dribble. They all need signup, uh, flows. They all need, um, the three different packages of free, pro and Max, you know, and those packages are going to need to have feature metered features that you can like, know how much, you know, so many, so many AI tokens per month or whatever the heck, right? So actually like last November, I kind of said I'm going to try to build something that will start out as my template, right? And I worked on it for a couple days in November and then I put it aside and stopped working on it. But our recent conversations, you inspired me to be like, this is, I need to get my ass off the, you know, I need to do this right?

Speaker B: Get off the bench, into the game.

Speaker A: Get it, get off the bench and into the game. So a month ago, I hired four AI engineers, as in I created four AI agent Personas. M and I set on a crash course to finish my template, my template. I'm going to, I'll share my screen here with you guys. Here, let me share my screen. My template is called beaker stack. It's MIT licensed, open source. It's on GitHub right now. I'm the only one using it, but it has all these things in it. So let me, let me share my screen real quick.

Speaker B: Do your AI engineers have names? Like, my friend Eric has an AI agent assistant that he has named Frank.

Speaker A: As a matter of fact, my agents do have a name. Let me show you, uh, their name. This is beakerstack. Um, it's ship your sass faster. Uh, it's a template that basically has all the stuff to do B2C sass in it. Um, it's got shared website and mobile app. It's got full CI CD for preview environments, uh, staging and production. It's got an automatic setup that literally you can just say you fork this template, say setup and boom. It like you know it's going to ask you a bunch of questions about you know, login, uh, you know enough, enough keys to basically set up the GitHub CICD for like doing AWS, doing expo, all this stuff. Um, yeah, please jump in anytime.

Speaker B: When you said you say setup does that mean like you just go like hey Siri, set up this thing for

Speaker A: me or like it's an npm, it's an NPM command. So it's NPM run setup and it, and it does a full blown setup and it comes out of the box with all kinds of stuff, billing, um, all the stuff that I knew I needed. So it's got like, it's got support for observability through Sentry, it's got email marketing through Kit, it's got transactional marketing, high quality transactional emails through Resend. Uh, it's got users and in fact it's even like here's a, here's actually this is the demo site beakerstack.com and you can see that this kind of has all the stuff that you expect, you know, like what are my features? Oh, I got all these features. What's the kind of the cta, what's the billing? So here it's got built in support for stripe for, for subscription services. You can see it's got feature A and B are not turned on. On the free version, feature A gets turned on and all this is just configurable and the setup wizard will actually ask you a bunch of questions to set this up and boom, get it going.

Speaker B: I would think in 2026 when we were recording this, something like this already exists, doesn't it? Or is this the first one of its kind?

Speaker A: Well, I'm not going to go so far as to say it's the first one of its kind. There certainly are tons of packages out there to get going. Um, you know next JS is obviously like great for people to get going on it. Um, but what I found was none of those packages like had the soup to nuts of what I expect out of a high quality engineering team. So in other words those packages don't come pre built with like true cicd to let me do you know a, a PR and get an ephemeral environment that I can test. Right. Um, or they don't come with like, they don't come with like observability built in.

Speaker B: Got it. So there's these packages that like, provide the website and the mobile app software, but they don't provide the developer infrastructure around it.

Speaker A: That's. That's my take on it.

Speaker B: Got it. Okay.

Speaker A: Right, cool.

Speaker B: Very cool.

Speaker A: You asked me like, um, you know, name my developer. So, uh, this I'd like you to meet. This is Diego. Um, hi, Diego. Diego started work with me on May 10th. Uh, and as did May. May joined on May 10th as well. And Rahul and Sarah and I, you know, I, um. This is not. This, this is not, you know, I'm not going to say this is rocket science. I, I created these agents. I gave them their soul files, which basically describes their personality, how they work.

Speaker B: Soul files. They have soul files.

Speaker A: Uh, in this case, that's a pretty standard thing. Now most agent packages, you kind of give them a SOL md. Um, and then that basically kind of points them at the way they behave. Right. So it's a little bit different.

Speaker B: That's news to me.

Speaker A: Yeah, that's pretty standard these days.

Speaker B: That is very metaphysical. We're getting into a different territory now.

Speaker A: Yeah. You know, immediately I basically started, I happened to use Nano. I set them up on Nano Claw because I liked the Nano Claw, gave me like a better, um, security profile. You know, uh, it uses one CLI to basically keep, um, uh, things like uh, access tokens and things like that are restricted. So I can assign. Sarah only has access to a, uh, GitHub Access Token, which is her account. So she can only do things as Sarah. So literally all of these contributions that she's done, they are attributed to this agent, clearly through GitHub. So anyway, so that's my team and just to clarify, they helped me in all kinds of ways. So here's an example where, uh, I wanted to make beakerstack easier to use, where there's the template stuff and then there's the stuff that's specific to the app. So I used my cursor agent and I strategized and wrote up a feature brief called Adopter Owned App Zones for easier template upgrades. So this is me doing the work of, uh, I'm describing as a product owner a feature that I want. And this is just normal engineering practices for teams that you and I work with for years. Right. So a feature brief was written. It includes a business need acceptance criteria, a proposed implementation. That was me running my cursor agent to do that. But then I ask my team of developers hey, please do a tech plan review. Diego comes in and he immediately says, there's a blocking problem here. The phase order is inverted. And he's read through my plan and he's critiquing it. Um, then May comes in. She's got a different personality, a different perspective on development, but she comes up with similar types of critiques and then unique critiques to her. Then Rahul came in with his critique. Um, I then sent my agent to fix that and came up with, uh, architecture diagrams. Basically, this iterative process that I'm blowing through here real quick. This is the kind of stuff that you would expect if you had teams of multiple engineers. And I'm using these AI agents to do the same type of expected quality work that you would expect from a senior engineer on the team or a junior engineer on the team reviewing each other's work. Eventually, I was kind of like, right around, uh, may, uh, 17th, I was like, okay, these guys have been working for me for a week. They've really cranked out the platform here for me. But now I need to actually build something with this. And by the way, we're recording this on June 3rd. So just over, just over two weeks ago, I said, I have an idea for something I want what that is. I'll tell you what that is. That is a. I want a, um, essentially a shared memory backplane that I can share across, not just multiple agents, but across all of the different AI tools that I use. So I use Claude, I use ChatGPT, I use Cloud code, I use Cursor, I have the agents that are running this different stuff, and I want to be able to create essentially a memory backplane that is served by an MCP server that any of these agents can. Can.

Speaker B: Can.

Speaker A: Can basically store memories, or I can store memories. And they'll. They're able to use that as a resource to look things up so I don't have to. So it's like, I don't want to have to tell Chat GPT the same thing I just told Claude, and I don't want to go tell Cursor the same thing I told Chat GPT. Pretty straightforward idea. Uh, in fact, there's a handful of products out there that kind of do this. So on May 17, I said, I wrote my initial, like, planning brief. Well, to be fair, I used Claude, and I said, claude, I want. I want this thing. Does such a thing exist? I don't think it does. Please go do market research for me. Here are my expectations for what I want. And basically, Claude And I wrote up a business plan, a technical architecture, uh, competitive analysis. And all that started on May 17th.

Speaker B: Okay.

Speaker A: Basically a week later I actually started coding on this project. I'm calling it Skein. Skein is like a, um. Here you go, I'll show you a quick demo. So Skein is the thread that connects your AI tools.

Speaker B: Got it.

Speaker A: Um, a skein of yarn. Exactly. Um, and I wanted it to have a, ah, reliable MCP endpoint. I wanted to be able to capture from the web, but more importantly I wanted all my agents to be able to read and write to it. But I really wanted security in this. So I didn't want, I wanted to be able to control, like if I gave access to an agent, I could see what its access was. Um, I could control its access. So for example, I could later edit and go, oh, nanoclaw shouldn't be able to write to memory, it should only be able to read from it. Right. And I wanted to be able to audit. What did it do? What did it search for? What did it capture? Did it try to delete something? And so that's the thing that doesn't exist out there. And that's what I wanted. So that's the main thing that this, this thing Skein does. So this is, this is literally by the time, by the time this, uh, I mean this is out there now, you, Scott, you could play with it right now. Um, I plan to like, you know, release it to my friendlies here in the next couple days. Um, but certainly by the time this episode comes out, Getscane AI is going to be available and open and anyone will be able to log into it, get a free account, start, um, using it right away. Um, and all the upgrade paths are built in. And so I literally built that in ten days. Ten days of part time coding with me and my four employees. Uh, my, my four agent employees.

Speaker B: Wow. I mean that sounds like an understated wow, but like, that's a wow.

Speaker A: As an example. By the way, I'll show you this real quick. This is kind of just to kind of make the scale of this clear. This is my cursor dashboard for the last year. And um, this is me in cursor. This doesn't count my agents. And this is kind of like all of the projects that I work on across my different, um, uh, fractional CTO clients, um, or some of them, I write code for them, um, and then my own personal projects. And you can see here, this is essentially May 17th was when I started doubling down on BeakerStack and, uh, May 24th was when I actually started building Skane. And so if you look here, you can see that I was typically doing a couple thousand lines of code a day. Um, and then on the 17th, almost 11,000 lines of code, 36,000 lines of code, 13,000 lines of code, 20,000 lines of code. My biggest day here, uh, I think was 38,000 lines of code. This is just my contribution, not counting the other four robots. I know I'm rambling. I went super fast on all that. But, uh, my meta point here is this isn't about vibe coding. This is about applying classic engineering best practices and driving that velocity by using AI agents.

Speaker B: Yeah. So many thoughts. Here's just the first one.

Speaker A: First two.

Speaker B: First one is I'll go back to. Wow. Like, uh, this is just really cool and it's really amazing you did it because so many people talk about it and you had an idea and you made it happen, which is Skein. That's pretty sweet. My second comment is to m. This, this evolution makes a lot of sense to me. And here's what I mean by that. The journey that I've been on for, say the last six or nine months is the upstream part, the spec part. How do we go from vibe coding to what we've been talking about, a spec driven development, or sdd, because we're trying to make a system, we're trying to structure that upstream part in order to get better outputs. What I'm. What I'm sensing here is that now this is also like the, uh, call the downstream part. Right. Which is logical. Right. It's like, oh, you just like we needed to structure the upstream part away from the vibe. When you take the vibe out of vibe coding, we need to take like the YOLO out of, you know, building and deploying.

Speaker A: Right, Building and deploying. Yeah, totally.

Speaker B: And, um, so that, that makes a lot of sense to me and it's very exciting. The next two things I have are questions.

Speaker A: Sure, please.

Speaker B: One is just a practical question about Beaker Stack and Scan.

Speaker A: Sure, totally.

Speaker B: Ah. How does, how do those two things connect? Right. Scan is like this software that's like a, uh, shared memory in the cloud somewhere. Maybe it's hosted locally. I don't really know where it is, but it's like the shared memory concept, right?

Speaker A: Yeah.

Speaker B: But then Beaker Stack is actually like the business scaffolding around how do parts fit together?

Speaker A: Yeah.

Speaker B: I love it.

Speaker A: Thank you. Yeah.

Speaker B: My second question is. Let's just. I don't even know how to Ask this. So I'd love to learn more about the scaffolding around your workforce. Yeah. How are you? How are you running those?

Speaker A: Okay, so I'll start by saying Skane is a cloud hosted, you know, it's targeted as B2C, so it's kind of targeting consumers like you and I who maybe are, um, active AI users who are frustrated by the. Damn it. I just told Claude this. Why do I have to retail cursor the same thing?

Speaker B: Right?

Speaker A: And it's hosted as opposed to being open source for a couple reasons. The first one is that, um, you actually need to host it if you want, if you want the cloud, things like Claude and ChatGPT to be able to talk to it, they need to be able to hit a thing on the public Internet. So it's very much. It's got all its features and I rattled off the security features that were important to me. But just think of it as just like any Other Cloud hosted SaaS app that you log into it, you use the software, uh, you pay your monthly fee, and, um, it does the service for you.

Speaker B: But I guess what I'm asking is, for instance, maybe you could put up the screen, the free Pro Max screen for.

Speaker A: Yeah, yeah, sure.

Speaker B: I guess what I'm asking is, in my mind, the way I think about it, and maybe I'm thinking about it wrong. So, like, Skein is one application that does a thing and like Beaker Stack is a different application that does a different thing.

Speaker A: Totally, totally.

Speaker B: How do those two fit together?

Speaker A: Cool. Let me explain that. Yeah, awesome. So basically, Scan is a fully deployed application that does all this stuff, um, lets you capture thoughts, blah, blah, blah. I built it on top of beakerstack. You could think of beakerstack as just like any other framework. So it's kind of like you could compare it to Django or something like that. Um, it's an opinionated framework where the opinions that I knew I wanted it to, to make easy for me were, uh, the shape of the features that you're looking at here. So beakerstack, to answer your question, beakerstack has built into it the idea of multiple payment tiers with different features. They can be arbitrary. These are obviously arbitrary names. Feature A, feature B, monthly versus annual. It's got, you know, it's got full flows here. So if I basically like, you know, click start, get started with Pro, I'm going to get sent to a signup funnel that lets me connect to Stripe and buy the Pro version.

Speaker B: So let me, let me if you can go back to Skein for a second, let me just say this back to you to see if I understand.

Speaker A: Yeah.

Speaker B: Uh, I. Let's say I wanted to make Skein. I don't want to make Skein. I want to make uh, you're doing balls of yarn. I'm going to do rubber band balls. So I'm going to do rubber band ball dot com. Okay. So I install Beaker Stack and I'm imagining maybe there's some folder in there called app. Yep. And that is where I actually stick Rubber band Ball.

Speaker A: Yep.

Speaker B: And then. Okay, Rubber band Ball has a bunch of features. Well, I'm going to just use Skein. Right. So Skein is in the app folder. And then it looks like Skein has, I'm just counting here, maybe 25 different features or something. Right. Or maybe it's not 25, maybe it's less. Doesn't matter. And so I would imagine that Beaker Stack has some sort of already built in way of tracking what kind of account I have. Mhm. And some sort of manifest where you indicate I've got a pro account which means I get features X, Y and Z and I don't get features PD and Q. And then I guess there must be some library available to the app inside the app folder where I can. It's a decorator on a function or I don't know what it is. Something that allows me to easily make something available or not available.

Speaker A: That's exactly right. It happens to be uh, I based it all on react and React native. Um, another opinionated part of Beaker Stack is I wanted the web and the mobile to be able to quick ah, share same business logic. And so yeah, you basically got it exactly right. So um, Beaker Stack has a billing module that scan didn't change at all. Skein hasn't touched anything out of the package Billing. Um, all of the stuff for the Skein features are all in app actually in, in app Adopter. So the Adopter component is where you put your, you put your custom web pages, you put your custom business logic. You know, you and, and you know the, the features that just work for free out of the box are all this billing stuff, accounts, you know, even other stuff that like I knew from working with, you know, I've worked with plenty of other, you know, entrepreneurs who are like I'm gonna, I need to build this like you know, landing page that, that I want to run a marketing campaign against. Well stuff like this homepage is pre baked SEO optimized. Right. Like, I changed the configuration, I rebuild it. It is fully SEO optimized. Um, you don't have to figure that out now.

Speaker B: Okay, now we're talking about like web and mobile apps here, but Skein itself feels a little back endy to me. It doesn't have a user, maybe has a user interface to manage it or something, but it's really an API or an MCP server. And so you just put that in your app adopter folder.

Speaker A: Yeah, in this particular case. Yeah, totally. In this case, um, it does have an MCP server interface in it. Um, I built beakerstack on top of many different services. One of the main services I'm using is Supabase, um, but it could have been built off of, um, pure AWS and stuff like that. But I used Supabase because it's pretty good hosting and has a bunch of the features that you care about, like a real high quality, um, SQL database, um, a vector database built in. Skein obviously does, um, it supports, um, embeddings. So that when you, you know, if, if the thought that you've captured is Scott Porad is the co host of the How Me CTOS podcast. And another thought is Brad Heftega is the co host of the How Many ctos podcast. And then somebody says, well, who are the hosts of the, of the How Many ctos podcast? You know, embeddings and vector search is the way that those types of searches work. Well, Supabase has built in vector search, so I just had to, I just had to implement the embeddings feature. Um, but yeah, you're right, there's, I mean there is a user interface to it. Um, uh, this happens to be the user interface, uh, for all these different features that it has, including my billing setup or um, security.

Speaker B: That is the.

Speaker A: There you go. Something goes wrong. Every live demo, something goes wrong.

Speaker B: Yeah, well, this is staging. And this is your view as the administrator. Uh, I'm sorry, question. Is this your view as the administrator of get.

Speaker A: This is my view as a user of Skein.

Speaker B: Okay, so I get, I'm getting the vibe for how this works. So now my other question was, how did you m. I'm uh, going to use the word manage, but maybe the word operate is a better word. How do you manage and operate your workforce?

Speaker A: Yeah, that's a good question. So like, how do I tell Diego what to do and all that?

Speaker B: Yeah, you just put in tickets and GitHub issues and somehow open up Claude and say, diego, go work on this. Or like, what did you do?

Speaker A: Yeah, a little bit. I told you already. I use um, nano Claw and Nano Claw is like openclaw. Um, it allows you to set up a bunch of agents. Um, it has a bunch of interfaces on top of it that you can, you can talk to them with, uh, um, Telegram, or you could talk to them through Command Line. You could hook up Slack and stuff like that.

Speaker B: Um, so nanoclaw is a locally hosted LLM, no?

Speaker A: Nanoclaw. That's a great question. Nanoclaw is a locally hosted agent framework. The thing that I liked about nanoclaw, it's similar to openclaw. But what I liked about nanoclaw is the agents all get their own Docker image, their own Docker container, and Nano Cloth, um, uses one cli, which is a token proxy for agents to talk to external services. In other words, I'll show you this real quick.

Speaker B: It sounds like Nano Claw is slightly more secure than openclaw.

Speaker A: I feel like it's more secure for

Speaker B: sure because it's compartmental, containerizing things a little bit better.

Speaker A: Exactly. So, um, this happens to be my Docker desktop. Right. Running. And you can see I got kinds of, all kinds of different stuff running in here. But you can see that this is Diego's. Diego May and uh, Sarah happen to be currently running inside of their, um, their containers. So they're, they're completely isolated to that space. They can't go outside of that container. Um, um, and that's, that's one way I can control them to make sure or control that they don't do. They don't have access to my email, they don't have access to the rest of my drive. They only have access to that container

Speaker B: versus OpenClaw, which had access to everything.

Speaker A: Yeah.

Speaker B: And what models are those using? Are they. Do you configure them to say use Claude or use.

Speaker A: Yeah, whatever. Yeah, that's a great question. And I'll show you. I'll answer that question by kind of showing you my, my conversation with them. So this is, this is my telegram. So I'm often saying things like team, Please re review GitHub, Skein AI Poll 119. It includes additional code for admin and to set comps, as well as more tests. You know, and then this is so

Speaker B: dystopian, by the way, the fact that you're using Telegram to talk to your agents.

Speaker A: Why is that dystopian?

Speaker B: Well, just fast forward to the future where we're in the movie Times and we're like in a dystopian future and you're having to use your encrypted messaging app to talk to your AI agents that are controlling the world. Please give me more food and water. I'm begging you.

Speaker A: Well, yeah, so anyway, I talked to them. I mean, this, uh. I actually planned to set up Slack, but I was just. So. I was making so much progress and I didn't need the feature of Slack. But what I really want is Slack, where I can just have individual, like, uh, you know, DM channels with Diego, a different one with Diego, Sarah, May and, um, Rahul, and then to team ones and stuff like that. But basically I assign them GitHub issues. Um, I asked them to review GitHub pull requests or GitHub issues and they jump on it. And that's how I work with them.

Speaker B: So can you ask a specific person to do a specific thing? Like you said, team, please.

Speaker A: Yeah, yeah, I do. For example, here I said, rahul, please do a code review of, um, pull 394 upgrade vitest on this repo to address it.

Speaker B: We talked about solutions.

Speaker A: Yeah.

Speaker B: Tell me about Raul and Sarah and May and Diego. What? Who? What? Who are they?

Speaker A: Yeah, that's a great question. I mean, I want to. So, um, I. I'll have to pull. I'd have to pull it up.

Speaker B: Childhood trauma in their soul.

Speaker A: I didn't necessarily add any childhood trauma, but I did give them backstories that I intentionally wanted them to be influenced by the idea of a backstory. So I basically wrote up a Persona for each of them. And so, for example, uh, May's Persona includes that she got her start in technology, in hardware. For her, the idea of you can't do a patch to hardware. So she really leans into correctness, um, and quality, basically.

Speaker B: Yeah.

Speaker A: The backstory I gave Sarah was that, you know, she basically was very much got her start in small startups, and so she's kind of got a bias for action. And like, let's not overcomplicate things. Um, you know, uh, shippable is good enough kind of. Kind of perspective.

Speaker B: Yeah.

Speaker A: For example. And so. And Diego and Rule have slightly different backstories.

Speaker B: Sidebar. M on those perspectives for a second.

Speaker A: Sure.

Speaker B: We're having this conversation at the company that I work at about Velocity, related to AI and all this stuff. I mean, everybody has every. Everybody's talking about Velocity because everybody just wants stuff to go faster. But we're having this conversation about Velocity and I was talking to one of our engineering managers and she said something very interesting to me. She said, you Know, I used to work at a defense contractor. Like, I feel like we go blazing fast here.

Speaker A: Yep.

Speaker B: And I was like, so, like, when you guys are all talking about going faster, faster, faster, I'm like, this is, I'm already thinking this is madness. And I, and I, I come. I'm more like Sarah. I came from that startup world. And so that was a really interesting perspective to me. Just a moment where I was like, oh, that is interesting. Everybody's bringing their experiences, their soul MD file to the table, Right. And they're bringing, they're bringing different perspectives. And I think it's really fascinating. And I think it's fascinating that you wrote those into those agents as well.

Speaker A: I'm not 100% certain how much value I'm getting out of that, but my initial thesis was that people's background does inform their way of thinking.

Speaker B: Absolutely.

Speaker A: And we do know that the lems, I mean, you can get them to give very different answers if you tell them they are. They should approach it from a different perspective. M. Right. It is kind of all about the, the probability generating machine. But if you, if you preload, if you preload the probability generating machine, to have a bias for one perspective or the other makes a lot of sense. It directs the output.

Speaker B: I learned about something recently from someone I work with, a woman who, I'm going to give her a little credit right here, Jillian Cando. She's one of the directors on our team. She taught me about something or pointed me towards something to read called the six thinking hats. Are you familiar with this?

Speaker A: No. It sounds interesting.

Speaker B: Um, it is interesting. It's a, it's a framework. I'm not going to relate, uh, it exactly perfectly, but basically, um, there's these six thinking hats. Each one has a different color and just, each one brings a different perspective. Like, the white hat focuses on pure facts. The red hat focuses on feelings and intuition. The black hat folk is the devil's advocate hat. Yellow hat's the optimism positive hat, you know, et cetera. And so it's, uh, a, it's, it's kind of a tool for, like, we're having, you know, when a team is having a conversation, like, what. What color hat do you have on when you're bringing this up? And I think it's a tool mostly for getting people to have a little awareness of what they're bringing to the conversation. Um, but when I think about having these agents, like what hat? You're essentially giving one of those hats to Sarah or May or Diego or whomever, and it's like if you got a team of a bunch of, um, you know, red hats, which are focused on intuition, compared to a team of a bunch of black hats, which are focused on skepticism, you know, what different outcomes are you going to get? Yeah, imagine a little. Imagine when you build the version of, um, artif. Is it artificial? Is that how you pronounce it?

Speaker A: Artificer. Artificer Innovations.

Speaker B: Artificer Innovations itself could be a beaker stack thing whereby you just slide the dials for what kind of agents you want.

Speaker A: The question of, do different agents with different perspectives, does it, um, does it change the result? And I think it does, at least so far in my experimentation for the last month at this. They definitely come up with different things. They come up with a lot of the same things, but they come up with different things. And when I can look at the. Essentially the amalgam of all of them and iterate on it, then I feel like I get at least as good of a product as I would if I had, you know, four humans trying to. Who wear the same types of hats.

Speaker B: I was at kind of a meetup seminar kind of thing where someone was talking about the agents they were building. And I'm not going to be able to relay it perfectly, but I think the concept will come across. And I also, uh. I'll tell you a flaw. Not a flaw, but a part I don't understand. He said, look, I have, like a code reviewer agent, and I actually have three Personas, right? The, like the. Let's just call it the liberal, the centrist, and the conservative, just to illustrate three. And I actually have those agents each do a code review, and then I have them each do a code review with Gemini, OpenAI and Anthropic. And then so now I have nine code reviews. And then I'm not exactly sure how he said. The part I didn't understand is how he synthesized them. The one. Because you got to pick one of those models to synthesize it, right? Um, but I thought. I just thought that was kind of clever. Like, everything's given as different perspective, and you need to kind of like then do them all. And. But I don't know how the amalgamation part. I don't know how I synthesized that back into one code review.

Speaker A: I haven't tried to solve that. And the reason I haven't tried to solve that is because how would you do it if you had human?

Speaker B: Well, you just read it and you'd synthesize it in your head.

Speaker A: You'd let all three people do their reviews.

Speaker B: Yeah.

Speaker A: Now you got, like, all nine people.

Speaker B: You have all nine people.

Speaker A: Maybe you have nine people do their code reviews. And you got, you know, you got, um, a lot of overlap where they're, like, plus wanting each other's comments.

Speaker B: Yeah.

Speaker A: And then you got some unique stuff where, like, only one of them came up with it.

Speaker B: Right. And so, yeah. Unless you're. Is this right? I guess the question is, is this a spot that requires a human in the loop, or do you just roll the dice with one of the models and say, synthesize all this for me?

Speaker A: I. Okay, so that's a great question. I'm going to answer that. Practically, for the month, I've been doing this. So I want to say, like, couple things. One, the first couple days of letting the agents write issues, critique, um, each other's plans, and then I would say, hey, start building it. Then they would produce a pull request. They would ask each other to do code reviews. I would still be like, I would still do a final review and merge it. Okay. First couple of days I did that. I then got really excited of, like, wow, this is working. Like, I feel like my human in the loop isn't adding that much value. So I asked them to work overnight and to only start working once their plan had been approved by everybody on the team and to start working on their pull requests and then do code reviews. I told them not to merge anything, but I basically gave them. I took out myself out of a couple places in the loop, and when I woke up in the morning, I had, like, 30 PRs, uh, five of which were usable. And so I was like, okay, that was a little bit too. I didn't get the right guardrails. I didn't put the right guardrails in place. I have not yet gone back to taking myself out of the loop. I think that's. I don't think they're ready for that yet. I don't necessarily think it's a problem with the models. I think it's a problem with my. I haven't given clear enough acceptance criteria for each step along the way. M. And we talked about this almost. We talked about this three or four weeks ago. You and I did, where, um, I told you about one of my engineers that worked for me on one of my teams, and he's gotten. He's. He's been able to get his agents to have really strong acceptance criteria enough that he's starting to take himself out of the loop on a handful of. Of human in the loop places that's a uh, kind of a guardrails. That's a, that's a, that's a agent guardrails uh, tuning thing. Now what I feel good about is they still had like Beaker Stack has literally almost 100% code coverage on everything that's there. It's like 99% statement coverage, 95% branch coverage and like 98% function and 99% line coverage. It's like very high quality coverage. It's got incredibly, it's got great integration tests as well and it's got uh, end to end tests that test all the features. Like they literally fires up on web. It fires up playwright and does the whole thing. Right. So, so that's the kind of stuff that are guardrails that I would want for you and me if we were just human developers. Right. Like that's, that's exceptional level of, of guardrails for human developers. So I feel like if I've got the guardrails for the human developers then I should be more confident that I can let the agents work so long as they can access all those tools. Um, now what I'm not certain of is here's the other important point. I'm m not spending a ton on tokens. So I have like the max plan on Cursor and I have the pro plan on Claude or something like that. So we're basically like, I mean those are not cheap but it's less than $400 a month of token spend.

Speaker B: Mhm. That surprises me that it's not using a ton of tokens. Why is that?

Speaker A: I think that's because I'm still human in the loop. I think the way that people are burning through tons of tokens is I think that if I did say to these agents like hey, you're allowed to go wild so long as all the local quality gates pass, then I think I would wake up and they'd have 100 PRs and then I would be sort of left with like, oh, how many of those do I actually want to merge?

Speaker B: Well this is pretty amazing. Let me ask one more question about Beaker Stack. You built it, you've got Skein. You got Beaker Stack, you built Skein. On top of it you have this uh, useful tool, you called it B2C. It is B2C. Technically it's almost like B2D business to developer because I don't see a lot of people who are ordinary C's using this thing. But I could be wrong about that.

Speaker A: Using Skein or Skein.

Speaker B: Yeah.

Speaker A: Sure, yeah, it's definitely a power user tool.

Speaker B: Definitely a power user tool. But here's my question. If a tree falls in the forest and nobody hears it, is there to hear it? Does it make sound?

Speaker A: Yeah, sure.

Speaker B: And so you've got this thing. Does Beaker Stack have the marketing platform built into it?

Speaker A: Partly. So like I said, Beaker Stack has, um, it's integrated with kit so you can do nurture campaigns. Um, uh, it's integrated with, um, uh, it has fully optimized SEO. So it's, you know, your landing page, um, is optimized and it's got, you know, it's got things like articles and stuff like that. So you can kind of do your SEO optimization where you write articles about yourself saying how you're great and you know, you get the things to, you know, the crawlers to find you. Um, I, this is clearly not launched and it's clearly not. It got zero users. Right? That's not yet the, the part of the thesis that I'm trying to test. I understand, but I think it's a good point. And the, and, and like you and I have talked a little bit about this, which is an idea is only as good as whether it solves a problem for, for customers enough that they see value in it.

Speaker B: Well, I, I'm actually coming at it from a slightly different perspective, a little bit more of a business, Business growth perspective, which is this. I believe this solves a problem for customers. But how do you, how do we get it in front of those customers? Right, you mentioned SEO. That's one way to get it in front of them. Um, another way to get it in front of them is for Diego and May and your other employees to all have LinkedIn accounts and post articles about what they're doing at work. So there's social is another way to get in front of customers. Um, there's paid is another way to get in front of customers. And um, my observation, of course there's, you know, PR is another way to get in front of customers. My observation, not about Beaker Stack or Skein. It goes all the way back to, um, you know, way long. Just, just. My experience with startups is engineers often see a problem and they go out and fix it and then they don't actually know how to get in, get their solution in front of people who have the problem.

Speaker A: Totally agree.

Speaker B: You know, there was a time when I made a website about cats work. It was successful. It was a successful startup and it made me stop believing that I had any idea about what was or wasn't going to be successful.

Speaker A: Right.

Speaker B: Because I was like, look, if I could make a website about cats work, anything can work. Right?

Speaker A: Right.

Speaker B: And when I would talk to people who are doing startups, people would come to me and they'd say, what do you think of this idea? And I would say, sounds great. How are you going to find the customers who needs your ball of skein? And how are you going to get in front of them? And, um, that, to me, for me personally, that's always been the mystery.

Speaker A: Well, uh, and I'll say, like, that's a legit observation. And this, this episode will come out, you know, a month from now and, and we'll find out if any, if, if anybody's using it, you know, three weeks after I launch it.

Speaker B: What you're saying is that wasn't the problem you were trying to solve, which I appreciate. That's great.

Speaker A: Well, it's not. It's not that. It's not that I'm saying it's not the problem I was trying to solve. I do want people to use Skein and the next six other ideas that I also plan to build. And so, you know, finding a way to market them, whether that be a combination of social, um, you know, uh, whether that be paid advertising, SEO, etc. That's. There's an element of my factory of software projects.

Speaker B: Yeah.

Speaker A: Philosophy that I didn't cover with you today that I do, I do have in the back of my mind or in written documents I plan to execute against.

Speaker B: It's like you need to build a bot farm into, into beaker stack so it can go out and vote all your posts.

Speaker A: Um, well, it may. You know, there are many other tools that I think are needed to operationalize the factory.

Speaker B: Yeah.

Speaker A: That don't exist in the form that I want and those, therefore, they might be other things that the factory builds.

Speaker B: Yeah. I think this is amazing. And I think, Brad, the most amazing thing about it is that you did it. As engineers, we often see the solution

Speaker A: to a problem and feel like that's good enough. Identified the solution.

Speaker B: Yeah. We're like, oh, I know I could. Here's how we would solve that.

Speaker A: We could.

Speaker B: Here's how we could do that. Yeah. And you know, in your head, yeah, we could build that. This is how we would do that. Blah, blah, blah. Uh, but we never go do it. Yeah. Uh, and then there's another thing we do, which, by the way, if I had a nickel for every one of these, we start it.

Speaker A: Yeah.

Speaker B: I had a nickel for every folder on my laptop of something I started and spent, you know, a couple of nights on and then got tired of because it got hard. I'd have a lot of nickels. Right, we do that. But you actually saw it through and did it, which is pretty amazing.

Speaker A: Yeah, I appreciate that. One of the things that is driving this is this idea that all those nickels, I want to make it so that I can come up with the idea, fork Beaker Stack, run a setup and in the first hour have the shell of the new app up and running. And that's what I did with Skein. Like literally from the moment I forked Beakerstack and said running, it was 45 minutes later. This, the, uh, the initial scan website was up. Now it didn't have any of the features yet, but it was up with, with, with billing integrated with observability integrated with, with. With everything integrated.

Speaker B: See, what I want from Beaker Stack is this. I want to be out for a hike in the woods talking to my. Talking with my good friend Brad, talking about some idea and be like, oh, that would be cool. And I want to be able to send an SMS telegram by the telegram. By the time we get back to the car, it's up and running. It's already spamming the Internet with. With AI posts on Instagram and YouTube and whatever and, and we got a trillion dollar valuation.

Speaker A: There is, There is somebody out there called Pulsia AI. I think that is the beginnings of almost trying to do that where they, they've. They started with the, uh, the lead gen sort of like strategy type thing. And I don't know how many people have. Have built apps on Pulse, but it's a, it's. This is not a unique idea and I think you're right. There's value in it.

Speaker B: Well, Brad, amazing. I think what I'm going to say to all of our listeners is do not smash, subscribe, do not rate and review. Do not tell all your friends about this. Go straight to beakerstack.com.

Speaker A: yeah, actually, and go straight to GitHub.

Speaker B: Um, and, and give it a star.

Speaker A: Give it a star. And start your own. Start your own, uh, out of the Box SaaS app.

Speaker B: Can we put the link in the show notes?

Speaker A: For sure? Link in the show notes.

Speaker B: All right, Brad, this is awesome. Thanks for reaching out and, um, yeah, it's fun. This is the best kind of bonus episode. I love it.

Speaker A: Love it. All right, man, nice talking to you. See you next week. This episode of the how many CTOs does it take podcast was produced and edited by Saffron Heptic. Our theme song was AI Generated by Brad. Please follow us on all the social media platforms at howmanyctospod. You can find us on YouTube, LinkedIn, Instagram, Facebook, threads X, TikTok and Patreon or at our website@howmanyctospod.com and remember to rate, review and subscribe on the podcast platform of your choice. Thanks for listening.

Related episodes across the Index

Other episodes covering the same guests and topics, from across The B2B Podcast Index.

  • You Need AI Sysadmins Can Trust, With Cribl's Nikhil MungelPlatform Engineering Podcast · on Next.js87 / 100
  • 323 - David Yanacek on 20 Years of Innovation at AWSCode with Jason · on Spec-driven development80 / 100
  • Full-Stack Signals in Solid, AI Development, and the Future of Web Frameworksegghead.io developer chats · on Next.js76 / 100
  • Why your biggest pricing mistake is copying competitors and going cheaper | Mark Walker @ Nuesaas.unbound · on Stripe Billing74 / 100
  • Lucas Josefiak, Widgetbook - Role of Design Systems in Software DevelopmentBuild To Succeed · on React Native74 / 100
  • How LinearB helps Kraken find hidden bottlenecks across thousands of engineers | Nik SudanDev Interrupted · on MCP (Model Context Protocol) server72 / 100

More from How Many CTOs

All episodes →
  • AI and the Data Swamp In Your Backyard with Ben Wilcox
  • Pioneering Music Education with John von Seggern
  • Removing Bottlenecks, Not People with Stephanie Sylvestre
  • Pioneer or Perish: How and When to Evolve Your Engineering Org Toward the AI Development Life Cycle
  • Navigating the Future: Gas Town and Bespoke AI Agents
Explore the best B2B Engineering & DevTools podcasts →
All How Many CTOs episodes →