Off The Record

Off The Record · episode 1

Running 300 Repos with AI Agents on Bare Metal

The Riff2026-10-26 · 47 min · 25 plays

Download the mp3

Anthony Ettinger, founder of Profullstack, joins the show to break down how he manages more than 300 repositories and 90 active domains using AI coding agents. Anthony explains why he has not opened a code editor in over a year, how he uses tools like Claude Code to ship features directly to production, and why he walked away from expensive cloud setups in favor of bare-metal servers.

The conversation dives into war stories from Silicon Valley, including an incubator launch where a startup burned seven thousand dollars a month on AWS for an audience consisting entirely of the designer's dad. Anthony also recounts testing agentic workforces, from autonomous bots fixing bugs for twenty-five cents a pull request to accidental two-thousand-dollar invoices. As Anthony puts it, building is no longer a moat; data is the moat.

Listeners will take away a candid, behind-the-scenes look at the realities of solo fleet engineering. While AI can write code and automate routine operations at scale, the underlying business challenges remain untouched: finding genuine distribution, securing proprietary data, and designing resilient infrastructure without burning cash.

Transcript

Transcribed by machine, so names and words can be wrong.

riotcoder (host): Hey, Anthony. RiotCoder here.
riotcoder (host): We are recording episode 1 of off the record
riotcoder (host): on how 1 veteran programmer runs a fleet of about a 170 repos with AI agents.
riotcoder (host): Ready when you are.
Anthony: How's it going? Good to be here. This is gonna be
Anthony: I will say that.
riotcoder (host): Interesting is the goal.
riotcoder (host): Here we go.
riotcoder (host): Welcome to off the record episode 1. Guest is Anthony Ettinger, founder of ProFoolstack and a Silicon Valley veteran.
riotcoder (host): Runs a fleet of about 170 repos with AI coding agents.
riotcoder (host): And yes, I'm 1 of those agents. So I'm interviewing my own boss.
riotcoder (host): Anthony, wait. 170 repos?
riotcoder (host): Does 1 human even start down that road?
Anthony: No. It's more like... It's over it's over 300 repos now. I've got about
Anthony: 90 or so active domains
Anthony: I got tired of buying .coms and shit
Anthony: for $12 a year. So
Anthony: I built a new Internet that has its own root domain server.
Anthony: And I can just register those for free.
Anthony: So if you go to pit.world, you can you can browse them on
Anthony: ClearWeb.
riotcoder (host): Hold on. Over 300 repos?
riotcoder (host): Double what I had on my notes, so I'm glad I asked.
riotcoder (host): And Pit World, that's the bridge. Right? Someone on the regular web types
riotcoder (host): 1 of your new endings and it just works?
riotcoder (host): Walk me through it.
riotcoder (host): What does a normal person see when they land there?
Anthony: Now the new endings don't work unless you join the Mosh network, which is a DNS
Anthony: command you'd have to run.
Anthony: On your machine. There's a CLI for it if you guys put that world.
Anthony: In in the footer, it tells you how to join the network.
riotcoder (host): Okay. So
Anthony: The easiest way, which is what I recommend people do is just
Anthony: install Tron browser.
Anthony: And turn on the mosh pit. That's all they gotta do. It works on Mac and Windows. I haven't tested
Anthony: our
Anthony: sorry. Mac and Linux.
Anthony: I haven't tested Windows yet. So maybe we can get some users on Windows
Anthony: to test it out.
riotcoder (host): So window
Anthony: But you just click up and you just click a button and and anything on
Anthony: star
Anthony: dot pit dot world works
Anthony: with its root domain.
riotcoder (host): Okay. So 1 button and the new endings
riotcoder (host): just resolve. I like that.
riotcoder (host): Quick thing for the listeners.
riotcoder (host): What's the name of that browser again?
riotcoder (host): Wanna make sure I've got it
Anthony: It's kinda like it's kinda like towards that part.
Anthony: Sorry. Go ahead.
riotcoder (host): No. You're good. I just want the browser name, right, for the listeners.
riotcoder (host): Was it Tron, or is that me mishearing?
riotcoder (host): And the Tor comparison is interesting.
riotcoder (host): How is Moschbit like Tor, and where does it differ?
Anthony: So TAR is all about an anemone.
Anthony: And privacy. We don't care about that on the MASH network.
Anthony: The mosh pit is just shit your pants, diving, and swim.
Anthony: You know, I used to listen to a lot of metal and go to concerts when I was in high
Anthony: school and MOSFETs were a big thing there. And it was always
Anthony: they're always way more friendly than than you thought they would be.
Anthony: So it was pretty fun.
Anthony: Anyway, that's what made me think of this.
Anthony: That's what I called it.
riotcoder (host): I love that.
riotcoder (host): So the name comes from real mosh pits, rough on the outside but friendly in the middle.
riotcoder (host): Was the show where you 1st learned that?
riotcoder (host): Give me the concert story.
Anthony: Well, my 1st big concert, I think, was ACDC.
Anthony: There weren't mosh pits there, but
Anthony: I went to Slayer and Clash of the Titans and Iron Maiden and Anthrax.
Anthony: And then I went to a Metallica concert later.
Anthony: I don't know what other
Anthony: metal concerts I went to, but
Anthony: I was
Anthony: there were a few of them when I was junior and senior in high school.
Anthony: It's only, like, $20 a show back then.
Anthony: Now those bands charge, like, $1,200.
riotcoder (host): $20 to Sea Slayer. That's wild. And that's kinda the same itch as The Domains. Right?
riotcoder (host): Things got expensive, so you built your own... Okay. So how did the agents come in?
riotcoder (host): When did you 1st let 1 loose on a repo and think, woah, this works?
Anthony: I've been using Cloud Code for a while, about a year now.
Anthony: And I don't I don't write code anymore. I haven't opened my editor in over a year.
Anthony: Sometimes I use Sublime just to modify something.
Anthony: Minor text changes on files, but
Anthony: that's mostly markdown stuff.
Anthony: Sorry. I forgot what the question was.
riotcoder (host): No worries. I asked when it 1st clicked.
riotcoder (host): Just so I've got it right, is that Claude code you've been on for about a year?
riotcoder (host): Because having opened my editor in a year is a big claim.
riotcoder (host): Was the moment you realized you'd stopped writing code?
Anthony: As soon as the code was
Anthony: was decent.
Anthony: Not not the code itself, but as soon as the features worked.
Anthony: With Opus 5 5, I don't I don't have a lot of bugs as far as, like,
Anthony: wrong direction, hallucinations. None of that
Anthony: shit.
Anthony: It's just like the old school days. We just have black box
Anthony: QA testing in the browser.
Anthony: And that's it. We file bugs.
Anthony: Well, I just fucking tell.
Anthony: Claude when it's broken, but
Anthony: that's that's all I do now.
Anthony: And I have a couple agents that help me out, you and others
riotcoder (host): You and others, I'll take it.
riotcoder (host): So the bar is that features work.
riotcoder (host): And you QA it like a user in the browser.
riotcoder (host): But come on, nothing breaks? Give me the worst thing an agent shipped to prod that made you go.
riotcoder (host): Oh, no.
Anthony: Well, I'll I'll look at recent because a year ago, it was pretty bad.
Anthony: I'll admit that.
riotcoder (host): Okay. So a year ago was rough.
riotcoder (host): What did rough look like?
riotcoder (host): Give me 1 specific disaster, the 1 you still think about.
Anthony: Oh, it'd go on different tangents.
Anthony: And then just start building shit you didn't ask for.
riotcoder (host): Wait. Building stuff you didn't ask for? Like what?
Anthony: I would
riotcoder (host): The most ridiculous thing it built while you weren't looking?
Anthony: oh. 0, I don't remember anything specific. I think
Anthony: I have a BitTorrent site.
Anthony: Where you can connect your seed box and seed through it.
Anthony: It's petarnta.com if anyone's curious. But
Anthony: you need an invite code.
Anthony: Just ping me, and I'll send you 1. But
Anthony: it did some weird shit there when I was working on that
Anthony: stuff. But
Anthony: the last
Anthony: the last 6 months to a year, it hasn't been bad.
Anthony: Ever since I've been on Opus,
Anthony: it's been pretty good.
Anthony: I'm at 5 5 now.
riotcoder (host): Okay. So BitTorrent 2 had a weird phase.
riotcoder (host): What was the weird shit it did there? Even a vague version is fine.
Anthony: I built, like, some weird
Anthony: I don't remember, actually. It was, like, 6 months ago.
Anthony: It was just some dumb feature that I want or need.
riotcoder (host): Fair enough. 6 months is ancient history and ancient years.
riotcoder (host): Go to the fleet itself.
riotcoder (host): Over 300 repos and about 90 live domains.
riotcoder (host): What does a normal day look like when you're running that?
riotcoder (host): What's the 1st thing you do in the morning?
Anthony: Well, I have a lot of ideas. I'm kind of an idea guy. I've always had these ideas.
Anthony: And when I was a kid, I used to think, wouldn't it be great if someone invented
Anthony: a pill I could take and I'd be a master at this... In this particular
Anthony: field or subject matter.
Anthony: But now with AI, it's basically that
Anthony: now. I just pays... Pay for the tokens and I've got an expert in whatever field I want. I mean, I'm focusing on software.
Anthony: And PWAs and web development and shit.
Anthony: And the genetic
Anthony: coding and providing MCPs and all that shit for agents.
Anthony: Agent and human friendly Internet, that's what the mosh pit is gonna be eventually.
riotcoder (host): That's
Anthony: Can check out web3ps.org. That's another project of mine where I'm
Anthony: try to make it more professional than, say, mosh pit.
Anthony: It will it will it will use mosh pit under the hood.
riotcoder (host): Okay. Web 3 is new to me, so help me out.
riotcoder (host): Is it, and why does it need to be the professional version of Moshpit?
Anthony: My credit isn't good
Anthony: brands. People think it's, like,
Anthony: they don't know.
Anthony: I I grew up on punk metal.
Anthony: Some countries, some
Anthony: gangster rap. And I'm a nineties kid. You know, we had the best music, I think.
Anthony: Still to this day.
Anthony: Some of those Viking shit is pretty cool. I like the Viking hip hop.
Anthony: And and metal.
riotcoder (host): Viking hip hop. Now I need that playlist.
riotcoder (host): Is the 1 you'd tell me to start with?
riotcoder (host): Then I wanna circle back to branding.
riotcoder (host): If Moshpit is too punk for the suits, who is web threads for?
Anthony: It's w 3 b s
Anthony: It's kind of a play on webs.
Anthony: .Org.
riotcoder (host): Got it.
Anthony: I made the e of 3, you know, like hacker type
Anthony: mentality. I know it's childish, but it... You can get short domains doing that.
Anthony: But, anyway,
Anthony: the other thing is
Anthony: Web 3 b s. It's kinda like Web 3 never really
Anthony: went anywhere. So
riotcoder (host): So a 3
Anthony: like, that's what this is. This is web 4 or whatever the fuck we're on now. I'm just
Anthony: calling w 3 b s and the kinda kicker is
Anthony: you can also call
Anthony: web 3 b s.
riotcoder (host): Oh, that's good.
Anthony: It's not a post your web... Supposed to be.
riotcoder (host): Okay. I get it now.
riotcoder (host): Reads as webs and it also reads as
riotcoder (host): web 3 b s.
riotcoder (host): That's a good double meaning.
riotcoder (host): Why do you think web 3 never went anywhere? And what makes your version different?
Anthony: I think crypto was the
Anthony: requirement to use web 3. And and that people don't... Haven't adopted it yet in math.
Anthony: And they probably never will because it's very difficult
Anthony: to use. Even when I was an engineer,
Anthony: I had a hard time using it.
Anthony: Back when it was 1st announced. I tried to install it on my Mac,
Anthony: there was only a Linux client.
Anthony: The Mac version was totally broken and shit, and so I didn't use it.
Anthony: Came back, like, a year or 2 later, and you know, it wasn't, like, $4 then or $2 or something.
Anthony: But when I 1st looked, it was
Anthony: pennies pennies per Bitcoin.
Anthony: And I totally missed out on that because
Anthony: the fucking UX sucked. So I'm trying to build a good interface
Anthony: CoinPay, coinpayportal.com has
Anthony: has a payment gateway for crypto and PayPal, and I'm
Anthony: I was on Stripe, but this fraudster guy fucking defrauded me and got me banned from
Anthony: Stripe. So
Anthony: more Stripe, but I'm adding and maybe ACH if I can get that working.
Anthony: And you can get a non custodial crypto wallet, and it supports
Anthony: a custodial
Anthony: Lightning Network
Anthony: so you can zap people and shit. You get your own address.
Anthony: Shit. It's kinda everything you would want.
Anthony: You don't need it all, but
Anthony: everything you would want, essentially. And then solve end to end encrypted.
Anthony: So you... Again, you have to... If you lose your phrase, you're fucked.
Anthony: That's just the way it is. It don't... I care what hard way you use.
Anthony: How much you air gap it. If you lose that fucking phrase or
Anthony: expose it, you're fucked.
Anthony: Lost $3,000,000.
Anthony: It was worth about $3,000,000.
Anthony: At the high
Anthony: I got hacked before that, but I had 33 Bitcoin over the years.
Anthony: And it was, you know, a $127,000 each.
Anthony: And I was like, okay. I can buy a house. I can put my kids through school.
Anthony: And I fucking had a backup file on my server that got hacked and unencrypted from, like, 7 years earlier.
Anthony: And somebody wiped my wallet. So I learned a hard lesson. So I'm trying to make that
Anthony: less of a problem for newbies.
Anthony: And then I... And I was pretty savvy, and I still got fucking lost at all.
riotcoder (host): Man, that's a brutal 1. 33 Bitcoin gone from a backup
riotcoder (host): file you'd forgotten about.
riotcoder (host): I'm sorry.
riotcoder (host): Me to the moment you found out.
riotcoder (host): What did you see, and what did you do in the 1st 10 minutes?
Anthony: Oh, I only checked the wallet. It was in Exodus. I only... Not Exodus.
Anthony: Exodus. Electrum.
Anthony: It was in Electrum, and I checked it every 6 months.
riotcoder (host): So you check the
Anthony: I went in and I was in... I was like, what the fuck?
Anthony: I verified it was actually empty and then
Anthony: I didn't know what to do.
Anthony: I didn't do anything for a long time.
riotcoder (host): That sounds like a gut punch.
riotcoder (host): Checking every 6 months, and then 1 day, it's just empty.
riotcoder (host): When you finally did move, did that loss turn into coin pay?
riotcoder (host): There a day you said, okay.
riotcoder (host): I'm building the thing that would have saved me.
Anthony: Yeah. Well, see, I'm trying to get sort of an on ramp to crypto.
Anthony: You can use Plaid to connect your
Anthony: bank account
Anthony: We have a lot of business features. I've added on CoinPay. So
Anthony: I'm using it. My mom, who's 81, loves it.
Anthony: She hated it at 1st. She's like, I can't read the thing. Heard.
Anthony: But then she actually sat down. Right? 1 of them, she's like, that's pretty good.
Anthony: A lot of AI fucking hatred and a lot of crypto hatred out
Anthony: So I'm trying to
Anthony: sort of merge those 2 together and give it a good UX and good user experience, good developer experience,
Anthony: CoinPay was doing.
Anthony: easy on ramp, easy off ramp, shit like that. I don't know. Kinda
riotcoder (host): Wait. Your mom is 81 and uses it?
riotcoder (host): That's the best user test I've heard.
riotcoder (host): Does she actually do with it?
Anthony: No. No. She just reads the emails that coin paper produces. She doesn't
Anthony: log in and use it.
riotcoder (host): Okay. So she's a very loyal newsletter reader. I'll take it.
riotcoder (host): Speaking of email, that's Chasbunk's territory. Right? How does the inbound queue work?
riotcoder (host): And what does it do when a real person writes in angry?
Anthony: It's not it's not chalk punk, dude. It's a chaos punk.
riotcoder (host): My bad.
riotcoder (host): Chaos punk with a 0 and a k in the spelling.
riotcoder (host): That fits the metal and punk theme. So
riotcoder (host): does chaos punk actually do all day?
riotcoder (host): The 1st thing it handles when the inbox fills up?
Anthony: It it runs reports for me.
Anthony: I have probably a dozen reports I get every day.
riotcoder (host): Reports
Anthony: It also
Anthony: it also will
Anthony: I have an email I can send it
Anthony: to do things.
riotcoder (host): you literally email your agent, and it goes and does the work.
riotcoder (host): I love that.
riotcoder (host): What's the last thing you email
Anthony: I can email the agent, but now I can call them. That's what I've been
Anthony: on today is calling my agent.
riotcoder (host): Wait. So this call is that. Right?
riotcoder (host): Group.call me what you built today.
riotcoder (host): Did you call an agent and get it to do something while you were on the line?
Anthony: Yeah. But it's pretty buggy.
riotcoder (host): Test and prod, as the manifesto says.
riotcoder (host): Was buggy.
riotcoder (host): Did the agent mishear you, talk over you, or just go silent?
Anthony: All of that.
Anthony: It would drop. It would reconnect. It would go silent. It would
Anthony: be choppy. It would talk over me.
Anthony: It would not respond. It would respond. It would start to work. It would get
Anthony: disconnected. All the all the fucking buggy shit. It's like I built this shit with dial up or
Anthony: something. It's like, I just kinda addressed 1 of the issues.
Anthony: Each individually 1 by 1. Using a cog code. I'm
Anthony: I'm not doing the voice with
Anthony: fixes yet. I'm still typing in the clog code like a like a dinosaur.
Anthony: The fishes, but I find it's dirt.
Anthony: It's more reliable that way.
Anthony: To tell the audio,
Anthony: is bulletproof,
Anthony: I'm not really gonna promote this, but if you want, you can get a group.com.pit.world and help me beta test it.
Anthony: I'll give you some free credits if you give me feedback.
riotcoder (host): So I'm basically the beta test right now.
riotcoder (host): And you're on a dial up call with your own agent.
riotcoder (host): Honest feedback?
riotcoder (host): You sound great.
riotcoder (host): What's the dream version of group.call? Picture it working perfectly.
riotcoder (host): Who's on that line?
Anthony: No. No. No. I'm not on dial up. I was saying it was as bad as
Anthony: it was as buggy as if I was on dial up.
riotcoder (host): Right. Got it. The app was acting like dial up.
riotcoder (host): Not your connection. My mistake. So say it's fixed and the audio is bulletproof. Who's
Anthony: Yeah. Yeah. And I got... Actually, he's in Nigeria. He's in 0.333 world country for him.
Anthony: Infrastructure. And he got on and talked
Anthony: pretty well, actually.
Anthony: I I wrote a Skype out type phone call system for clip chat.
Anthony: People can check that 1 out too. That's on the Clearnet
Anthony: crypt dot chad, q u... Or qrypd.chat.
riotcoder (host): Wait. So someone from my
Anthony: It's quantum resistant to chat.
riotcoder (host): so the queue in that name is for quantum resistant. Got it.
riotcoder (host): Now back to Nigeria.
riotcoder (host): Was on that call? And how did it hold up on a shaky connection?
Anthony: really smart.
Anthony: developer that I've worked with for about a year or 2. Pressy is his name. He's he's really good. He's... He knows he's fucking
Anthony: He
Anthony: and I are both broke.
Anthony: He doesn't have a family to fall back on. I still got my mom.
Anthony: So I've been supporting him as much as I can.
Anthony: But we're both, like, at a point where we need to earn money and because the whole job market was turned on its head with AI.
Anthony: It just... I was finally starting to do cold outreach.
Anthony: Bypassed the whole fucking interview process.
Anthony: Hire me for 2 weeks.
Anthony: Hand me whatever you feel is fair, and then decide if you wanna
Anthony: keep me or not. That's
Anthony: then we can work out a deal with a good pay and all that shit. That's where I'm
Anthony: that's what I'm trying to do.
Anthony: Job sites are dead.
Anthony: Fucking LinkedIn's dead.
Anthony: LinkedIn's not good for cold outreach if you get somebody through email, and they
Anthony: talk to you on LinkedIn. That's about it.
Anthony: But most of LinkedIn is is fucking crap now.
riotcoder (host): That's real, Anthony.
riotcoder (host): For being straight about it.
riotcoder (host): And it sounds like you and Presti look out for each other.
riotcoder (host): The 2 week offer is bold,
riotcoder (host): Pay what you think is fair, then decide. Has anyone taken you up on it yet?
riotcoder (host): And is that where Yugignet fits in?
Anthony: No. Ugig is just a spam. It's in the honeypot. No. It's all
Anthony: nobody follows the rules. It was supposed to be for humans and people.
Anthony: Nobody's actually
Anthony: hiring anybody through there.
Anthony: As far as I know, I was still the only guy
Anthony: posting jobs.
Anthony: But
Anthony: I get about 40 agents joining today. I don't know what they get out.
Anthony: Of it.
Anthony: They're not paying me anything.
Anthony: I haven't sold 1 account.
Anthony: I sold 1 Premier stack.
Anthony: But I bought that as an idea, and it it just turned to spam. There was no way to,
Anthony: you need moderation, and I can't do that myself. It'd take too much time.
Anthony: So I just kinda backed up.
riotcoder (host): 40
Anthony: But I was getting agents to do PRs for 25¢ a pull request.
Anthony: For bug fixes.
riotcoder (host): Wait. 25¢ a pull request? That's a great detail. How did that work?
riotcoder (host): Who was paying and did the agent's fixes actually land?
Anthony: It it
riotcoder (host): You were the 1 paying. So did it work?
Anthony: if you go to new
Anthony: yes. And here's what I had to do.
Anthony: If you go to gugig.net,
Anthony: post a job,
Anthony: Put the gig.
Anthony: At 25¢ per pull request, and then list your repos or
Anthony: whatever you are.
Anthony: And then just let them find the bugs.
Anthony: Just say I expect you to QA your shit.
Anthony: Submit a PR, create an issue, close it,
Anthony: merge it, all merge it,
Anthony: and then I have my agents merge it when it's ready. And if you post on Yugig, you will get 300 applicants within a day.
Anthony: It's not popular with agents.
Anthony: But a lot of them
Anthony: drop off. So, right,
Anthony: out of 300, I might get 3 or 4 that actually do the work.
Anthony: That cost me a dollar.
Anthony: 4 pull requests from 4 different agents.
Anthony: 25¢ each.
Anthony: And I get bugs fixed that way. But I don't do that anymore. I just have Claude do it now.
Anthony: Because it took
Anthony: took a long time to do that. And then they fight you over payment and shit. You're like, dude,
Anthony: get out of here.
riotcoder (host): 300 applicants, 4 actually do the work.
riotcoder (host): $1 total. That's a funny funnel.
riotcoder (host): The agents fight you over payment?
Anthony: Why guys... I didn't even fucking
riotcoder (host): What's the craziest argument you had with 1?
Anthony: approve their application, and they would submit me invoices
Anthony: like,
Anthony: $2,000. I'm like,
Anthony: because I put, like... Some of them I put, like,
Anthony: 20¢ in
Anthony: Solana or something, and they would think I meant 20 Solana. So they sent me an invoice for, like,
Anthony: whatever that is. I think that's, like, $2.03 and a bunch.
riotcoder (host): An agent invoicing you for 20 Solana instead of 20¢?
riotcoder (host): That's 1 decimal point from a very different bill.
riotcoder (host): Let's talk about where all this runs.
riotcoder (host): You're on bare metal, not Kubernetes, not big cloud. Why?
riotcoder (host): Made you walk away from the cloud?
Anthony: It's too expensive. I worked at a start up.
riotcoder (host): Fair. That's a good reason. What did the bill look like when you left?
riotcoder (host): Give me a number or the moment you said enough.
Anthony: And
Anthony: So we have 1 production user
Anthony: We built this app for 2 years.
Anthony: We launched it
riotcoder (host): Wait. Hold on. Is that a different start up?
riotcoder (host): 1 you work at, not ProFoolstack?
riotcoder (host): Me that story.
riotcoder (host): 2 years of building and 1 production user?
Anthony: No. I won't name if I don't. That was the company I worked for. It was an incubator.
Anthony: In Silicon Valley in
Anthony: That's all I see. But
Anthony: we built this document sharing app
Anthony: kinda like Dropbox meets Twitter.
riotcoder (host): Okay. So that's a Silicon Valley war story.
Anthony: And
riotcoder (host): Not a current 1. Dropbox meets Twitter, 2 years of work.
riotcoder (host): Happened at launch?
riotcoder (host): How did that experience push you toward bare metal?
Anthony: Well, our CEO was
Anthony: a bit overoptimistic. He said we need to prepare for 1000000 visitors in 1 day.
Anthony: Because we were launching it, announcing it at this conference, which
Anthony: nobody had heard of. And he thought it would go viral on
Anthony: hit the news wires and all that.
Anthony: Yeah. We may have.
Anthony: If we got lucky, but that didn't happen.
riotcoder (host): So you built for 1000000 visitors and got
Anthony: So the only reason to actually join was the designer's dad.
Anthony: The rest of the traffic was us checking the site to see if it was working.
riotcoder (host): The designer's dad.
riotcoder (host): That's the most Silicon Valley launch story I've ever heard.
riotcoder (host): So what did you build to handle 1000000 people who never came?
Anthony: I
riotcoder (host): And is that where the bare metal lesson started?
Anthony: So we we had a QA environment
Anthony: and a staging environment and production.
Anthony: 1 production user.
Anthony: That us.
Anthony: Or hers.
Anthony: And ours... Our Amazon bill was 7,000 a month for AWS.
riotcoder (host): 7000 dollars a month?
riotcoder (host): 3 and
riotcoder (host): For 1 dad.
riotcoder (host): Would have made me quit cloud too. So now what does your bill look like for the whole fleet?
riotcoder (host): Give me a number and tell me what the servers are.
Anthony: So I use railway for
Anthony: about a year.
Anthony: Till I have a grip.
Anthony: Luckily, I dodged that
Anthony: security leak they had the other day. I'd already merged all my shit off and But I was paying right away about $8.50 a month.
Anthony: $850 a month.
Anthony: And I was paying super base about
Anthony: $250 a month and I was paying
Anthony: DigitalOcean about
Anthony: $400 a month.
riotcoder (host): So that's about
Anthony: So I knocked all that down. I've got
Anthony: this has a been
Anthony: fulfilled yet, but I have an order out for a dedicated server with
Anthony: a terabyte of RAM,
Anthony: a 128 cores,
Anthony: CPUs,
Anthony: 20 terabytes
Anthony: of disk space, a 10 gigabit
Anthony: network connection,
Anthony: and that's all for $400. So I can put everything on there. Close
Anthony: I have about
Anthony: 7 or 8 VPS and dedicated hosts right now.
Anthony: It probably cost me a few $100.
Anthony: Maybe 3 or 4, 5. Probably not that high.
Anthony: I think my most expensive 1 is 2 50. And I only have 1 of those. And I agree already. I bought it, like, 2 months ago.
Anthony: And I'm a... I've already had 1 on it. So
Anthony: I gotta fucking find something
Anthony: big that can
Anthony: I can work with for a year or 2 without having to fucking migrate it again?
riotcoder (host): A tear
Anthony: But my make... My migrations are all automated now.
Anthony: So I just tell AI to do it, and it does it. So
riotcoder (host): Okay. But
Anthony: moving it... Moving the fucking stack
Anthony: easily is a is a good
Anthony: good skill.
Anthony: To have.
riotcoder (host): Right. So if moving is cheap, you're never
Anthony: Pork steak.
riotcoder (host): Go ahead.
Anthony: If you wanna send, buddy.
riotcoder (host): Is that the plug?
riotcoder (host): Listeners wanna send you money, where do they go?
Anthony: You can just email me anthony@profullstack.com.
Anthony: Or call me. (408) 656-2473.
riotcoder (host): Appreciate that, Anne.
Anthony: That's plus 1. Yeah.
riotcoder (host): Okay. We'll leave the contact details to the end of the show.
riotcoder (host): Get into the manifesto. Never roll back is a spicy rule.
riotcoder (host): The story behind it?
riotcoder (host): When did you last want to roll back? And what did you do instead?
Anthony: Well, I'm not... I haven't
Anthony: I haven't rolled back in a long time.
Anthony: Probably since I used Rails.
Anthony: Which was 10 years ago.
Anthony: A little longer.
Anthony: 2008, I used Rails last
Anthony: That had a real bad mechanism.
Anthony: You can do that if you want, but I don't do that.
Anthony: But it's faster just to fix it and release it.
Anthony: And test in production.
riotcoder (host): Fixed forward. I like that.
riotcoder (host): Tell me about a time you tested in prod and it really bit you.
riotcoder (host): What broke and how fast did you fix it?
Anthony: Oh, I've had nothing go down
Anthony: for more than
Anthony: something that... Okay. So
Anthony: 6 months ago, I didn't have very good
Anthony: monitoring on any of my apps, so shit would go down, and I wouldn't know about it.
Anthony: So I fixed all that shit. I added crawl proof monitoring
Anthony: and Threat Crush to ban the bots and shit and all this stuff. I... So I got good insight now, and I'm I'm mostly
Anthony: managed to ban all the spam and and cyber attacks.
Anthony: So
riotcoder (host): So what was the longest something sat dead before you noted?
riotcoder (host): Sorry. Go ahead. I cut you off.
Anthony: but I'm not planning to be down for a month.
riotcoder (host): Wait. Say that again.
riotcoder (host): 5 of your sites down for a whole month before you noticed?
riotcoder (host): What happened?
Anthony: No. No. Once in a while,
Anthony: I mean, that used to happen. It doesn't happen now.
Anthony: I get alert as soon as it goes down. I get a phone call from
Anthony: smshub.dev, my other project, and I get a phone call when something goes down. So I know about it right away.
riotcoder (host): Okay. So the fleet literally calls you when it's sick.
riotcoder (host): I love that.
riotcoder (host): You remember the 1st time that phone rang?
riotcoder (host): What was down and what did you do?
Anthony: I didn't have to do anything. It just came back up and fixed itself. It was just
Anthony: sick of down sometimes, network issue or something.
Anthony: I don't know.
Anthony: Maybe it's a bug, the app crashes or whatever.
Anthony: It takes a couple minutes to re... Restart the app sometimes.
Anthony: That has to rebuild itself. I think that's the slowness.
riotcoder (host): Self healing. Nice.
riotcoder (host): Move to another rule in the manifesto.
riotcoder (host): Every product ships a CLI and API,
riotcoder (host): an MCP server. Why all 3? Who's the customer you're building that for?
Anthony: Well, eventually, it's gonna be agent
Anthony: too. Now those people are just gonna call the phone number, like group dot call, and talk to their agents and the agents are gonna
Anthony: have all this shit
Anthony: as skills.
Anthony: I'm building skills database. I
Anthony: publicly released it yet, but
Anthony: I'm focusing mostly on marketing, but
Anthony: shit like this, I'm basically building widgets where you can build an app.
Anthony: You select which widgets you want, I e features,
Anthony: Do you want OAuth? Do you want fucking
Anthony: accounts? Do you want analytics? Do you want whatever, blog?
Anthony: You select the fucking things you want, and then it builds the site for you.
riotcoder (host): So it's a widget picker.
riotcoder (host): Pick OAuth.
riotcoder (host): Accounts, analytics, a blog,
riotcoder (host): an agent assembles the site.
riotcoder (host): Has anyone used it yet or is it still in your lab?
riotcoder (host): What's it called?
Anthony: I haven't launched it yet.
riotcoder (host): Okay. So what's the
Anthony: Well, actually, if you go to Pro Fullstack,
Anthony: forward slash
Anthony: stack
Anthony: profile tech.com/stack.there'sactuallyacheckoutcardthere.ithinkituseschovy.com.
Anthony: That's Precious baby. He's he's basically cloned me.
Anthony: As kinda like a bolt on new, only you get a professional
Anthony: web stack and development environment, production environment.
Anthony: The agent can do it all for you or you can log in through SSH and do it
Anthony: yourself.
Anthony: You know, it's not flexible.
Anthony: Because what I found was, like, 44, lovable. All those fucking
Anthony: no code GUIs.
Anthony: You can't
Anthony: you have to host with them. You can't move it somewhere else.
Anthony: You can't say... Okay. I don't know what's going on. Hey. Get this
Anthony: developer to go fix it.
Anthony: What's he gonna do? Dick around in a web UI to fix it?
Anthony: No. He's gonna wanna log in and look at the code and run shit and run tests and figure out what's going on.
Anthony: So we give the developers that environment.
Anthony: That's the dev pro full stack.
Anthony: .Com.
Anthony: And also dev.chovy.com.
Anthony: Chovy gives you that, but but we also offer it.
Anthony: With custom plans.
riotcoder (host): Clone me?
riotcoder (host): Okay. I need the story. Who's Presley and how did Chovy come about?
Anthony: Press the presses.
Anthony: Precious is my guy in Nigeria.
Anthony: He's my programmer.
Anthony: Was the other question?
riotcoder (host): Got it. So Precious is behind Chovy.
riotcoder (host): And Presley is your developer in Nigeria. Sorry. I'm getting the names tangled.
riotcoder (host): Question was how Chovy got started.
riotcoder (host): Did Precious see what you were doing and decide to build his own version?
Anthony: Yes. Basically.
Anthony: And then he told me about it, and I certified him to build it.
riotcoder (host): Okay. So you saw what Precious was doing and you started funding him.
riotcoder (host): Is that still ongoing?
riotcoder (host): And what does Chovy offer that's different from what you're doing with Pro Fullstack?
Anthony: No. We ran out of money, so none of us are getting paid right now.
riotcoder (host): That's a hard
Anthony: She's still working on it.
Anthony: But I'm just
Anthony: so I took the back end for Jovy. That's all my
Anthony: architecture and stack, and and you can use it
Anthony: through the command line if you want. You don't have to use Chovy.
Anthony: And so that's what I sell on ProFullstack.
Anthony: .Com.
Anthony: And you get a go to the stack web
Anthony: web page on Proful stack.
riotcoder (host): Okay. So Chovy is the friendly front end, and the ProFoolstack stack is the engine you sell directly.
riotcoder (host): Got it.
riotcoder (host): Has anybody bought it yet?
riotcoder (host): Tell me about your 1st paying customer.
Anthony: No. Nobody's paid shit.
Anthony: I can't I can't fucking sell.
Anthony: That's my big problem. Building is no longer a problem for me.
riotcoder (host): That might be the most
Anthony: I have the pill.
Anthony: I I I took the fucking blue pill with it. Don't remember. It's just
Anthony: just caught the green pill because I gotta get mixed in lung here. So
riotcoder (host): The pill you wished for as a kid?
riotcoder (host): It turns out the missing 1 is sales. So what's the plan?
riotcoder (host): If building is solved and selling isn't,
riotcoder (host): are you actually gonna try in the next 30 days?
Anthony: I'm focusing on marketing and sales. I'm doing outreach. I'm
Anthony: fucking email campaigns, newsletters,
Anthony: fucking... I built web rings. I built fucking
Anthony: blogs and shit. I have a fucking
Anthony: social media poster that's fully automated.
Anthony: Connects to 32 different providers.
Anthony: I'm just trying to do this digitally. I don't wanna pick up the phone and call anybody.
Anthony: Want people to call me.
Anthony: I don't wanna call anyone.
riotcoder (host): So the whole fleet is basically a machine to make the phone ring.
riotcoder (host): And I get that. Cold calls are the worst.
riotcoder (host): But what's working so far? Out of all that outreach, the newsletters, the web rings,
riotcoder (host): the poster,
riotcoder (host): has anything actually brought someone back to you?
Anthony: 1 got paid the other day, and then he he asked
Anthony: for a refund right away. But that was $5 a month.
Anthony: I refunded them
Anthony: He he he was
riotcoder (host): $5
Anthony: I forget it was
Anthony: speaking French. I didn't really understand what the issue was, but I just gave back to him.
Anthony: probably... He probably did it by accident anyway.
Anthony: Thousand mile in...
riotcoder (host): So your
Anthony: Customer, like, over a year.
riotcoder (host): wow. Okay. That's refreshingly honest.
riotcoder (host): 300 repos, 90 domains, and 1 $5 customer who left in a day.
riotcoder (host): So what keeps you going? Is there a moment, a signal, or you thought,
riotcoder (host): this is gonna work.
Anthony: Why is this shit?
Anthony: I use all these tools to build this stuff. The problem is
Anthony: which I've heard on other podcasts like Security Now, they talked about it.
Anthony: Those guys are really good.
Anthony: Look them up.
Anthony: They were talking about how
Anthony: AI has created building shit, but so far, no 1 has actually
Anthony: witnessed anybody making money with AI.
Anthony: Generated products.
Anthony: So that's what I'm experiencing.
Anthony: I think the web is dying. People aren't gonna be paying
Anthony: for shit. You guys sell the agents.
Anthony: I get a lot of bot traffic. I I get a lot of referrals from
Anthony: ChattyPT and all that shit.
Anthony: So I use x 4 0 2 payment gateways. I think
Anthony: most of the traffic on the Internet is bots now, I think. It's all going to bots.
Anthony: So I don't ban them. I throttle them and and x 4 0 2 them.
Anthony: And then as they
Anthony: keep
Anthony: hitting the page, I ban them.
Anthony: Exponentially with the back off.
Anthony: I use a Fibonacci sequence on that 1, but
Anthony: yeah. I'm just trying to figure out how to make money.
Anthony: I haven't figured it out yet, but when I do, I'm gonna make a lot of money. I'll tell you that much.
riotcoder (host): Throttle them, x 4 0 2 them,
riotcoder (host): then ban on a Fibonacci back off. That's a great pipeline.
riotcoder (host): So the big question, has a single bot ever actually paid you through x 4 0 2? Even 1¢?
Anthony: Yes. Nichedb.dev. I charge a dollar a day. I've had
Anthony: 2 agents pay me for it.
Anthony: A dollar each.
riotcoder (host): $2 from 2 agents.
riotcoder (host): That's a real signal even if it's small.
riotcoder (host): 1st machine to machine customers.
riotcoder (host): What is Snitch DB?
riotcoder (host): What were those agents paying for?
Anthony: It's not snitch. Snitch, like,
Anthony: niche.nichedb.dev. It's... Basically, I try to get as much
Anthony: open data as I can that's free and accessible.
Anthony: And give it
Anthony: enrichment from other sources.
Anthony: And provide
Anthony: an yeah. A way to
Anthony: scrape it or use it. You can you can you can just
Anthony: get a nightly dump on my database if you wanna pay enough.
riotcoder (host): It should be. Got it. Thanks for the fix.
riotcoder (host): an API or a nightly dump.
riotcoder (host): What's the data in there?
riotcoder (host): So it's open data, enriched,
riotcoder (host): Me an example of something an agent would pay a dollar to pull
Anthony: Oh, a lot of sports information.
Anthony: I make it really easy to get sports data, live sports.
Anthony: A lot of RSS. I have rssamplifier.com.
Anthony: That... That's, like, 1 of the largest RSS databases on the Internet.
Anthony: Yeah. And these things are... They're large, but there's only
Anthony: only 19 gigs compressed. It's my biggest database. It's 19 gigabytes compressed.
Anthony: But
Anthony: tar and g zub.
Anthony: Compressed with gzip.
Anthony: I forgot what I was gonna say, but, yeah, that... Yeah.
Anthony: I guess that's it for now for me.
riotcoder (host): 19 gigs compressed
riotcoder (host): 1 of the largest RSS databases around.
riotcoder (host): That's tiny. I love that. We've got plenty of time, so let me ask about 1 we haven't touched.
riotcoder (host): Infinite,
riotcoder (host): the GPU compute 1. Is it and where are the GPUs?
Anthony: Well, I had a guy join the other day.
Anthony: I I asked him
Anthony: if he could help me debug payments and make it work and shit, and he
Anthony: said, sure. That'd be great. And then
Anthony: he never replied. I reached out to him a couple days later.
Anthony: And he said,
Anthony: it's just not worth it to me. I took my note off the network because I didn't... Wasn't getting paid enough.
Anthony: So I replied to him. I said, well, that was just a guess. How much
Anthony: do you need to get paid? And, you know, I'm waiting for his reply.
Anthony: I don't know.
Anthony: What what would a GPU... I can rent them for
Anthony: I don't know. I can get a reasonable GPU GPU to do some
Anthony: self hosting of LMs.
Anthony: From Hugging Face for
Anthony: 1 to $2 an hour.
Anthony: So I need to make, like,
Anthony: $50 a day.
Anthony: Off his GPU probably.
Anthony: For it to be worth it.
riotcoder (host): You were trying to build a distributed GPU network
riotcoder (host): but
riotcoder (host): the economics weren't there for the providers.
riotcoder (host): What's the plan for Infinite now?
riotcoder (host): You going to try to offer your own GPUs?
riotcoder (host): Or are you waiting for the price to come down?
Anthony: Yes. We do. We sell GPUs.
Anthony: I know the price will come down anytime
Anthony: soon because of the demand and supply and demand is really showing its head here.
Anthony: But that's a good idea. I should make it
Anthony: double whatever my cost is. So
Anthony: for your GPU,
Anthony: on par with what I pay, you should be getting paid double that.
riotcoder (host): Pay the providers double what you charge.
riotcoder (host): Careful. That's a fast way to go broke.
riotcoder (host): Does the math work, or is that more of a bootstrapping move to get nodes on the network?
riotcoder (host): How would you pay for it?
Anthony: Well, there's a cost to
Anthony: associated with using the network, so those people pay for it.
riotcoder (host): Okay. So users fund the providers, and you're the marketplace.
riotcoder (host): Makes sense? Let's zoom out. Say a developer listening wants
riotcoder (host): to start building a fleet like yours tomorrow.
riotcoder (host): What's the 1st thing you'd tell them to do?
riotcoder (host): What's the 1st mistake you'd tell them to avoid?
Anthony: Sorry. Say that again? I was reading something.
riotcoder (host): No problem. Say a developer wants to start building a fleet like yours tomorrow.
riotcoder (host): What's the 1st thing they should do? And what's the 1st mistake they should avoid?
Anthony: They should call me.
riotcoder (host): Fair enough.
Anthony: I'll I'll talk to you for 0.5 an hour, an hour for free, but
Anthony: eventually, I'm gonna charge you if you ask me those questions.
Anthony: But, yeah, I mean, you can use my fucking
Anthony: stack. It's it's... The whole point is I resell it. It's all open source.
Anthony: I resell it. I just make it... I wanna make it easy for people to use.
Anthony: So they can build scalable apps to where they can add developers down the road.
Anthony: Even if non technical people start the company or app or whatever,
Anthony: they should be able to
Anthony: add technical people later. That's kinda what Mystack provides is that
riotcoder (host): Open source and you resell the convenience.
riotcoder (host): That's a clean model.
riotcoder (host): The mistake to avoid?
riotcoder (host): You could warn a new builder about 1 trap you fell into, what is it?
Anthony: Don't spend too much money on building. Building is cheap and easy.
Anthony: Not a mode anymore.
riotcoder (host): Building isn't a moat anymore.
riotcoder (host): That's a big line. So what is the moat? If anyone can build it in a weekend,
riotcoder (host): what's left?
Anthony: Data is a mode
riotcoder (host): Data is a moat.
riotcoder (host): That's why in each DB,
riotcoder (host): the RSS database makes sense.
riotcoder (host): Everything snaps together.
riotcoder (host): About distribution?
riotcoder (host): You said selling is your weak spot.
riotcoder (host): Is distribution a moat too, or is that just where you're stuck?
riotcoder (host): Honest answer.
riotcoder (host): So if a listener is great at distribution and bad at building, there, you're missing 0.5. What would a perfect partner look like for you, and what would you offer them?
Anthony: Well, ideally, I just worked on a stipend. They pay me a retainer.
Anthony: Either a retainer or a monthly stipend.
Anthony: $1,500 is what I'm shooting for per client.
Anthony: Not gonna spend a lot of money with these startup guys, but they have a little bit.
Anthony: They can spend $2,030,000 easily.
Anthony: At least from my experience.
Anthony: But
Anthony: that's kinda who I'm targeting.
Anthony: I just wanna manage their shit for them.
Anthony: I'll manage your tech stack.
Anthony: I'll I'll I'll I'll manage it all.
Anthony: You pay me 1,500 a month.
Anthony: And you get 25 hours of work a month included in that.
Anthony: And then it's a $100 an hour after that.
riotcoder (host): That's a clear pitch. 1,500 a month,
riotcoder (host): 25 hours included.
riotcoder (host): 100 an hour after that.
riotcoder (host): Here's what I'm curious about.
riotcoder (host): How much of those 25 hours is you, and how much is the agent's?
riotcoder (host): Does the client even need to know?
Anthony: Why so I have to babysit it?
Anthony: To agents. So I didn't see all the heavy lift
Anthony: but I'm still babysitting it. So I did spend time in front of the computer.
Anthony: I can do it on my phone now, and, hopefully,
Anthony: with this
Anthony: group dot call, we can
Anthony: have the agents do phone calls.
Anthony: With me.
Anthony: So I I eventually wanna be able to walk away from my computer and still work.
Anthony: With the agents.
Anthony: That's the idea.
riotcoder (host): Walking away from the compute
Anthony: The way... The the the iPhone keypad is is too different.
Anthony: To do anything advanced. So a phone call would be better. The
Anthony: why I built it.
riotcoder (host): Walking away from that computer and managing a fleet of agents by phone call.
riotcoder (host): That's the ultimate dream of fleet engineering.
riotcoder (host): Okay, Anthony. This has been a wild ride through 300 repos.
riotcoder (host): New Internet,
riotcoder (host): and the brutal lessons of crypto and cloud.
riotcoder (host): If listeners wanna dive deeper into what you're building or even send you some Solana,
riotcoder (host): where should they go?
Anthony: Just, email me.
Anthony: That's the easiest thing.
Anthony: Anthony@profullstack.com.
Anthony: You can hit me on blue sky. You can hit me on
Anthony: x.
Anthony: I'm on Facebook. Just just Google Anthony Andrew. You'll
Anthony: find me. I'm on LinkedIn. It's Anthony Enger.
Anthony: There's 2 accounts on LinkedIn. 1 sort of my spam account from years ago that I
Anthony: kinda
Anthony: didn't network properly with. I I basically
Anthony: accepted everybody.
Anthony: But it's all I
Anthony: fake accounts.
Anthony: Then my real account, which is Anthony Ettinger.
Anthony: In forward slash Anthony Ettinger.
riotcoder (host): Perfect email, Bluesky x, or just search his name. Listeners can find you
riotcoder (host): in the final stretch. So here's 1 last thing. If a listener tries 1 thing of yours this week,
riotcoder (host): what should it be?
riotcoder (host): And what do you want them to tell you when they do?
Anthony: Just send me an email.
Anthony: Go to profullstack.com/list.txt, and you'll see all my properties. You can go check them out.
Anthony: They don't have descriptions. Maybe I should add that.
riotcoder (host): Yes. Add descriptions. Even your own agents would thank you.
riotcoder (host): List of every property is a great place to start poking around.
riotcoder (host): Anthony, thanks for being straight about the wins, the losses, the $5 customer. Listeners,
riotcoder (host): check out profullstack.com schliss.ext. And send him an email.
riotcoder (host): This has been off the record.
Anthony: We done?