Ben Tossell - Building Production Software Without Coding
Speaker: Ben Tossell (Ben’s Bites Newsletter, Factory/Droid) Context: Vibe Code Camp presentation
Key Insights
-
Pain threshold is the real barrier, not technical skill: Most people believe they can’t build software without coding ability, but the real limitation is whether you’re willing to work through frustration loops when things break. Non-technical builders and professional developers face the same debugging mindset - the difference is just the abstraction layer.
-
Vibe coding is actually a form of engineering: It’s engineering on one end of the spectrum where you must understand how to guide context and provide instructions to AI agents. The model does most of the work, but your role is to guide it effectively when it gets stuck.
-
The “fix it, fix it, fix it” loop is always a you problem: When you can’t code, you know with certainty that debugging failures are your fault - you haven’t guided the agent properly. This mindset shift transforms frustration into a skill-building exercise about prompt engineering and context management.
-
Session sharing creates a learning flywheel: By exporting and reviewing complete agent sessions with tools and outputs visible, you learn patterns (like what “glob” does) organically through repeated exposure, building confidence without formal education.
-
Multimodal agent switching unlocks complex projects: Being able to switch between models mid-session (Opus for implementation, GPT-4 Codex for planning/review) enables non-technical builders to tackle production-grade applications with hundreds of messages and complex debugging scenarios.
Summary
Ben Tossell is a self-described non-technical founder who built MakerPad (teaching no-code, sold to Zapier), started Ben’s Bites AI newsletter before ChatGPT launched, and now works on developer relations at Factory while continuing to build production software using AI agents - specifically Droid. He cannot write code and never learned to, yet he ships complete applications including complex systems like an ad booking platform with Supabase backend, real-time updates, and audit logging.
During this presentation, Ben demonstrates his workflow by showing a session review tool he built that exports terminal sessions with Droid into a navigable web UI. He walks through several projects: a popup he added to his site in 10 minutes, a cookbook site for sharing agent sessions with expandable technical term explanations, reverse-engineering animated buttons from Twitter, and rebuilding a years-old Bubble.io newsletter ad platform from scratch. His approach centers on treating the AI agent as a collaborator who needs proper guidance rather than magic automation, accepting that bugs and frustration are normal parts of development regardless of technical skill level.
Main Topics
Session Review Tool and Workflow Transparency
Ben starts by demonstrating a custom session reviewer he built for himself. The tool exports his entire Droid terminal session and presents it in a web UI where he can filter out tool calls to see just the conversation between him and the agent.
[00:01:19] “This is a couple of things this is one a session reviewer that I have built for myself so you can basically see my whole entire session with my agent so basically export the session from the terminal where I’m talking to Droid all day and it presents it in this UI.”
The session viewer shows his most recent work - adding an exit popup to his site in 10 minutes by giving the agent a code snippet from his newsletter and one-shot prompting it to implement it on his site. He built the session viewer itself by finding another developer (Mario, who built an agent called Pi) with a similar share command, then instructing his agent to: “find the share command code from his coding agent… make a plan to copy the implementation and replace what we currently have.”
Key workflow: Every session ends with a share session command that exports to a secret GitHub gist and populates his website with a formatted view, making his entire coding process transparent and shareable.
Learning Through Pattern Recognition
Ben emphasizes how building with agents teaches you technical concepts organically without formal education.
[00:04:13] “I think for me like how I’m learning to build stuff is often just being in a session and talking to an agent like I’m just doing stuff I’m not supposed to be allowed to do because you can and then you just start picking up those things as you go past you start seeing like glob what the fuck is glob like oh then you realize it’s like it’s a search tool it’s searching for something globally across your project for certain things you just start recognizing the patterns and feeling more confident with what you’re doing.”
He published content documenting all the terminology he’s learned while working with agents, creating a personal knowledge base accessible through his “cookbook” site. This site includes “nutshells” (an open source project) - inline expandable explanations for technical terms that he manually writes or curates to ensure they’re genuinely easy to understand.
Reverse Engineering as a Primary Workflow
Ben demonstrates his cookbook site showing a walkthrough where he reverse-engineered an animated button from Twitter. His approach: [00:05:58] “Use a bird tool to get this tweet download the video analyze it to reverse engineer it and create a similar component that we could use.”
The full session is viewable, showing how the agent broke down the task, came up with multiple options (he notes models love creating a “hybrid option” for some reason), and how he guided it: “do a start the server style the buttons with more 3d better it’s too big make it a bit smaller.”
This pattern of finding something interesting online and immediately reverse-engineering it drives most of his learning and project work.
Production-Grade Application: Newsletter Ad Platform
Ben’s most ambitious demonstration is rebuilding a newsletter ad booking platform originally built in Bubble.io that stopped working. This represents genuine production software his business depends on to avoid “sponsors emailing us all the time.”
[00:08:54] “I thought well I can just rebuild this and this is a very very long session I think there’s 770 766 messages here but what I said was I need to clone a piece of software we built on bubble several years ago bubbles and all from platform rebuilt the simplest possible way at least lines of code dependencies etc but look good work the same way.”
The resulting platform includes: - Calendar view with date selection - Order management system with ability to hold/remove dates - Creating orders and sending insertion orders - Supabase backend with real-time updates - Audit logging to track all changes - Full session testing where the agent uses the site as a first-class user
[00:09:27] “I forgot to give it to the link so I said good point give it a link and then I also have this in my agents md I’ve got this line from cool runnings just so I know that the agent has read my agents md before it starts.”
The project involved significant debugging, especially around database connections, but represents the kind of complex, stateful application that many assume requires professional development skills.
Debugging Mindset and Getting Unstuck
When asked about his approach to debugging, Ben outlines a systematic process:
-
Use tests and browser automation for validation: [00:13:03] “I don’t know anything about tests but I say make sure you write tests and also I use I used to use dev browser I now use the agent browser from Vercel so I say use the agent browser go through everything and like log exactly what’s happening.”
-
Let the agent verify its own work: [00:13:19] “I also can’t be bothered to keep going onto the site where it says it’s done something okay it doesn’t work I’m not going to copy paste console logs and Vercel logs and all the rest of it like the agent can figure that out and do it itself.”
-
Create systematic debugging plans: Borrowed concepts from Ralph (autonomous coding loops), creating files for “this is your plan” and “this is your progress” so the agent can track its own state. [00:14:06] “Let’s go through and list all the possible issues of what could be happening with this like bug… now let’s go through them one by one or you can say to the agent which do you think is the most likely culprit.”
-
Recognize when you’re in a loop: After several iterations with no progress, step back and guide the agent to a different area. In his database debugging example, he eventually realized it wasn’t code-level issues but Supabase configuration: “I think it’s a Supabase issue somewhere there’s no connection with it somewhere and I was like well we’re not even using Supabase functions so maybe use that.”
-
Model switching for different tasks: Uses Opus 4.5 for most work, but recently switched to GPT-4.5.2 Codex: [00:11:55] “It’s been really helpful to like review the code that opus has written or make a plan with codex and then switch over to opus to implement it and all that kind of stuff.”
The Mindset Shift: “It’s Always a Me Problem”
Ben articulates a powerful mental model for non-technical builders:
[00:12:22] “I actually just quite like figuring out it’s it’s always a me problem and I know that because I can’t code so it’s always my fault but just knowing that and saying well yes obviously you don’t know how to fix this because you can’t code so your job is to figure out how you can guide the agent in the best way to then get it to figure out what it needs to do next no matter how complex it is.”
This removes the temptation to blame the tools and creates a growth mindset around prompt engineering and context management. He acknowledges everyone falls into “fix it fix it fix it” loops but emphasizes: [00:17:00] “I’m being stupid here by telling it just to fix it fix it fix it it’s getting through its context like I’m not really helping it I’m just thinking it should be able to fix this by now yeah I’ve given it no guidance or anything like okay maybe that’s a bit unfair.”
Reflections on No-Code vs. AI Agents
Ben reflects on how his original no-code vision has evolved into the current AI agent era:
[00:23:01] “The no code dream was oh my god I can actually build something like this like I can use webflow and airtable and have zapier in the middle to like build a marketplace or build a job board… that was the extent of my dreams then but I was like oh actually anybody in the world can do this.”
However, he realized that even no-code required a certain pain threshold: [00:24:25] “I mistakenly thought anyone could build and democratization of software is here with no code but it was actually only the people who still had a certain threshold of pain to go through to build something like we still have to know to want to build something or have an incentive to build something and that is still true today.”
On the philosophical shift: [00:26:02] “When I was thinking of anyone could build anything I meant AI actually but I just didn’t know anything about AI or was really using it so there’s a sort of right time no right right message wrong timing which is the same as being wrong but I think well you stuck around long enough for it to be right.”
Why Factory/Droid
Ben gives a brief pitch for the Droid agent:
[00:26:58] “It’s multimodal so like I said you can change multimodal sorry so you can change between opus and gemini and gbt models all in the same session the compaction that we have so when your agent runs out of context which it will our compaction is like phenomenal and it basically won’t lose anything you don’t have to keep starting new sessions hence my 766 message session.”
[00:27:19] “I mean it’s the one that I feel like does more for me than others where others need more hand-holding and I’ve got enough hand-holding to do myself not knowing how to code.”
Actionable Details
Tools & Products
- Droid (from Factory): AI coding agent with multi-model support and context compaction (Twitter: @droid)
- Supabase: Backend database for the ad platform rebuild
- Nutshells: Open source project for expandable inline explanations
- Agent Browser (from Vercel): For automated testing and validation, replaced dev browser
- Webflow, Airtable, Zapier: Original no-code stack from 2019
- Ben’s Bites newsletter: bensbites.com (b-i-t-e-s)
Specific Workflows
Session Review Export:
1. Use share session command at end of work
2. Exports to secret GitHub gist
3. Populates website with formatted UI view
4. Can filter to show just user messages or include all tool calls
Reverse Engineering Pattern: 1. Find something interesting (e.g., tweet with animated component) 2. Prompt: “use [tool] to get this [content] download the [asset] analyze it to reverse engineer it and create a similar component” 3. Review options agent provides 4. Give refinement guidance: “start the server style the buttons with more 3d better it’s too big make it a bit smaller”
Debugging Workflow: 1. Instruct agent to write tests for implementations 2. Use agent browser to automatically verify: “use the agent browser go through everything and like log exactly what’s happening” 3. Create systematic debugging plan: “list all the possible issues… go through them one by one” 4. Ask agent to prioritize: “which do you think is the most likely culprit” 5. If in a loop for too long, shift direction to different area of codebase/config 6. Switch models if needed (Codex for planning, Opus for implementation)
Ralph Loop Implementation: 1. Reference existing implementations (Danny Postma’s UI, Matt Pocock’s repo) 2. Prompt: “pull these two things together reverse engineer it and like build this Ralph loop thing” 3. Trigger via GitHub issue creation 4. Loop runs through plan, creates PR 5. Enables remote work completion
Configuration Details
Agent MD Setup: - Include a distinctive line (Ben uses a Cool Runnings quote) to verify the agent has read the AGENT.md file before starting work - Add instructions for repeated patterns you want to establish as defaults
Session Length Management: - Ben’s longest session: 766 messages for the ad platform rebuild - Enabled by Droid’s context compaction feature - No need to start fresh sessions when context fills up
Quotes Worth Saving
[00:04:13] “I think for me like how I’m learning to build stuff is often just being in a session and talking to an agent like I’m just doing stuff I’m not supposed to be allowed to do because you can and then you just start picking up those things as you go past you start seeing like glob what the fuck is glob like oh then you realize it’s like it’s a search tool it’s searching for something globally across your project for certain things you just start recognizing the patterns and feeling more confident with what you’re doing.”
[00:12:22] “I actually just quite like figuring out it’s it’s always a me problem and I know that because I can’t code so it’s always my fault but just knowing that and saying well yes obviously you don’t know how to fix this because you can’t code so your job is to figure out how you can guide the agent in the best way to then get it to figure out what it needs to do next no matter how complex it is.”
[00:17:00] “I’m being stupid here by telling it just to fix it fix it fix it it’s getting through its context like I’m not really helping it I’m just thinking it should be able to fix this by now yeah I’ve given it no guidance or anything like okay maybe that’s a bit unfair like maybe okay if I point it over here and then it gets it straight away and you’re like okay that was that’s a skill issue for me like that that’s fine I know that now I’ll know in future when that happened to me and that was painful for 24 hours then hopefully we won’t repeat that mistake again.”
[00:18:20] “Professional developers all the time run into problems where they’re like I actually don’t know what’s wrong and I don’t know how to fix this and this the mindset is the same it’s just like I’m going to figure out why it’s like why it’s not working and I’m going to fix it and if you’re a professional developer you do that by like understanding all the code if you’re vibe coding it’s a process of you understanding what’s the difference between what you think should happen and what is happening and what the agent thinks should happen and how do you like close that gap.”
[00:20:01] “I think really it is just engineering not to insult any other engineers but I think that’s just like engineering on the very one end of the spectrum where what you’ve got to understand is how you give instructions to an agent because yes the agent will be able to figure it out most likely on what you’re building and probably not building something that it can’t figure out but it’s it’s just guiding it… you’ve got to put yourself in in the session with it and try and feel like you can be there as a resource to the agent rather than the agent’s just going to go off and do all of this stuff.”
[00:26:02] “I think this is this is what I actually meant back then so when I was thinking of anyone could build anything I meant AI actually but I just didn’t know anything about AI or was really using it so there’s a sort of right time no right right message wrong timing which is the same as being wrong but I think well you stuck around long enough for it to be right.”