Running 300 Repos with AI Agents on Bare Metal
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?