Cloudflare’s Next.js Slop Fork ![rw-book-cover](https://img.youtube.com/vi/h39oZb2-7Xo/maxresdefault.jpg) 🔗 **Source:** [Cloudflare’s Next.js Slop Fork](https://www.youtube.com/watch?v=h39oZb2-7Xo) > [!note]+ Document Notes > tags: #artificial-intelligence #web-development #nextjs #vite #cloudflare #code-generation > author: Syntax > source: YouTube > reference: https://www.youtube.com/watch?v=h39oZb2-7Xo > date created: 2024-12-19 14:30 > > # 🏷️ Title: Cloudflare's Next.js Slop Fork > <!-- deep-read:sections start --> ## 🧰 Action Inbox - [H1] Explore OpenCode desktop app with agent browser skill for debugging — 15:30 #web-development - [H2] Try discoveries.md pattern for tracking ecosystem bugs and solutions — 12:45 #development-process - [H3] Consider using Context7 and Exa search MCP servers for 20% better LLM results — 8:23 #ai-tools ## 🧭 Table of Contents - [[#📝 Summary]] - [[#📖 Main Content]] - [[#🗒️ Notes]] - [[#📚 References]] - [[#🗣️ Paraphrase]] - [[#📰 Newsletter]] - [[#✅ Action Items]] - [[#🧪 Hypotheses]] - [[#📊 Methodology]] - [[#❓ Questions]] - [[#🔮 Future Research]] - [[#💡 Implications]] - [[#🧠 Learning Styles Assessment]] - [[#📊 Accessibility Assessment]] - [[#🌍 DEIB Assessment]] - [[#✅ Logical Validity]] - [[#🛡️ DARVO Analysis]] - [[#🎯 Conclusion]] ### 🔗 References - [V-EX Project](https://github.com/cloudflare/v-ex) - [Agent Browser Tool](https://github.com/vercel/agent-browser) - [OpenCode](https://www.opencode.com) ## 📝 Summary - Steve Faulkner created V-EX, an AI-generated Next.js alternative built on Vite, in approximately one weekend - The project demonstrates the power of AI amplification for experienced engineering managers - Cloudflare is embracing AI-first tooling across security, debugging, and development workflows - The "slop fork" represents a new paradigm where entire frameworks can be rapidly ported using LLMs - Security vulnerabilities are being found and fixed using AI agents, creating new feedback loops ## 📖 Main Content Steve Faulkner, Director of Engineering at Cloudflare Workers, explains how he used AI to create V-EX, essentially porting Next.js to run on Vite. The project emerged from Cloudflare's year-long struggle to better support Next.js on their platform. Previous attempts with human engineers estimated 6 months of work with 5 engineers. The breakthrough came with improved AI models in December/January. Faulkner spent Friday evening planning with Claude Opus, then let it work overnight. By Saturday morning, he had a working app router demo. The entire project used 99% AI-generated code, primarily from Claude Opus 3.5 and later 4.6. Key technical approaches included using Next.js's 8,000+ test suite as a compatibility target, porting tests to Vitest, and maintaining detailed documentation of discoveries and ecosystem issues. The project demonstrates both AI's potential and limitations - while functionally successful, the code quality required human oversight and refactoring. ## 🗒️ Notes #### ⏱️ [00:00](https://youtu.be/h39oZb2-7Xo?t=0) — [H1] Introduction to V-EX "Slop Fork" - Key idea: Cloudflare ported Next.js to Vite using AI in one weekend - Evidence: "Cloudflare took Next.js and they created what is lovingly called a slop fork" #### ⏱️ [02:30](https://youtu.be/h39oZb2-7Xo?t=150) — [H2] Steve Faulkner's Role and Background - Key idea: Director of Engineering for Cloudflare Workers, not a daily coder - Evidence: "100x engineering manager is how I would think that would be the correct term" #### ⏱️ [04:45](https://youtu.be/h39oZb2-7Xo?t=285) — [H3] Historical Context and Previous Attempts - Key idea: Cloudflare tried this approach twice before with human engineers - Evidence: "This is going to be six months of work, five engineers... it just wasn't feasible" #### ⏱️ [06:15](https://youtu.be/h39oZb2-7Xo?t=375) — [H2] AI Model Breakthrough Timing - Key idea: December/January 2024 models reached new capability threshold - Evidence: "Everything really just changed when... these models just hit this next level" #### ⏱️ [08:23](https://youtu.be/h39oZb2-7Xo?t=503) — [H3] Technical Setup and Tools - Key idea: Minimal setup with specific MCP servers for better results - Evidence: "Context7 and exa search... 20% better just being able to have those two" #### ⏱️ [10:45](https://youtu.be/h39oZb2-7Xo?t=645) — [H1] Weekend Development Timeline - Key idea: Friday planning, overnight execution, Saturday working demo - Evidence: "I started on a Friday... I woke up the next morning and was clicking around in the app router demo" #### ⏱️ [12:45](https://youtu.be/h39oZb2-7Xo?t=765) — [H3] Discoveries.md Documentation Pattern - Key idea: Tracking ecosystem issues and solutions in dedicated file - Evidence: "Started this file called discoveries.md... list of things that were like oh this version of React doesn't work" #### ⏱️ [15:30](https://youtu.be/h39oZb2-7Xo?t=930) — [H2] Agent Browser for Visual Debugging - Key idea: Using Playwright-wrapped tool for UI testing and debugging - Evidence: "I said the scroll is janky... it was like 'Oh, I see it now' and then... I was a little blown away" #### ⏱️ [18:20](https://youtu.be/h39oZb2-7Xo?t=1100) — [H2] AI Feedback Loop Effectiveness - Key idea: AI excels at iterative improvement with human feedback - Evidence: "Agents are really good at taking feedback... on the fourth or fifth loop, it'll start doing it right" #### ⏱️ [22:15](https://youtu.be/h39oZb2-7Xo?t=1335) — [H3] Code Quality Trade-offs - Key idea: Generated code was verbose but functional, requiring later refactoring - Evidence: "The code is not maybe great, but does that really matter? And if it does matter later, we'll fix it later" #### ⏱️ [26:30](https://youtu.be/h39oZb2-7Xo?t=1590) — [H1] Security and AI-driven Vulnerability Management - Key idea: AI agents finding, triaging, and fixing security vulnerabilities - Evidence: "AI is triaging security vulnerabilities. AI is fixing them. AI is validating them" #### ⏱️ [32:45](https://youtu.be/h39oZb2-7Xo?t=1965) — [H2] Framework Migration Paradigm Shift - Key idea: Low cost of switching frameworks changes development incentives - Evidence: "If you don't like Next... you can spend $10 in tokens and be on a different framework" #### ⏱️ [38:20](https://youtu.be/h39oZb2-7Xo?t=2300) — [H2] Future AI-First Programming Languages - Key idea: New languages designed specifically for AI development - Evidence: "I think we'll probably see an AI first programming language... something that's typed, verbose and simple" ## 📚 References - [V-EX GitHub Repository](https://github.com/cloudflare/v-ex) - [Next.js Framework](https://nextjs.org/) - [Vite Build Tool](https://vitejs.dev/) - [Claude Opus AI](https://www.anthropic.com/claude) ## 🗣️ Paraphrase - Cloudflare's engineering director used AI to recreate Next.js functionality on Vite in one weekend, something that previously required months of human engineering work - The project demonstrates AI's effectiveness as an amplification tool for experienced engineers who understand system architecture and can provide proper guidance - AI-driven development creates new paradigms around framework portability, security management, and code generation workflows ## 📰 Newsletter **AI Transforms Framework Development: The V-EX Story** This week brought fascinating insights into AI-powered development with Cloudflare's V-EX project. Steve Faulkner demonstrated how modern AI can tackle complex engineering challenges that previously required large teams and months of work. **Key Takeaway:** AI works best as an amplification tool for experienced engineers who can provide direction and feedback, not as a replacement for technical expertise. **Practical Applications:** - Use dedicated documentation files (discoveries.md) to track ecosystem issues - Leverage agent browser tools for visual debugging - Implement AI feedback loops for iterative improvement This represents a shift toward AI-first development workflows while maintaining human oversight for architecture and quality decisions. Resources: [V-EX Project](https://github.com/cloudflare/v-ex), [Agent Browser](https://github.com/vercel/agent-browser), [OpenCode](https://www.opencode.com) ## ✅ Action Items #### DevRel - Developer advocacy: Create case studies around AI-assisted framework development - Education: Develop workshops on effective AI development workflows - Developer experience: Document patterns like discoveries.md for community adoption #### Community - Contributors: Share AI development patterns and anti-patterns - Ecosystem: Explore cross-framework compatibility through AI assistance #### WordPress - Core: Evaluate AI tools for compatibility testing and debugging - Documentation: Consider AI-assisted documentation generation patterns - Plugins: Explore AI-driven security vulnerability detection ## 🧪 Hypotheses - AI amplification is most effective for experienced engineers who understand system architecture - Weekend-scale AI development projects can match months of traditional engineering work - AI-generated code requires human oversight for maintainability and security - Framework portability costs approach zero with mature AI assistance ### 📊 Methodology - Compare development velocity between AI-assisted and traditional approaches - Analyze security vulnerability patterns in AI-generated vs human-written code - Study correlation between engineer experience level and AI project success rates ### ❓ Questions - How will low-cost framework migration affect the competitive landscape? - What development patterns emerge when AI handles implementation details? - Can AI-first programming languages improve code generation quality? ### 🔮 Future Research - AI-native programming language design principles - Security implications of rapid AI-driven code generation - Economic impact of dramatically reduced development costs ### 💡 Implications - Practice: AI becomes essential for competitive development velocity - Policy: New security review processes needed for AI-generated code - Security: Automated vulnerability detection and remediation workflows - Education: Shift from implementation skills to architectural guidance ### 🧠 Learning Styles Assessment Reading level estimate: Grade 12 #### 👀 Visual learners - Present: Code examples, architectural diagrams in discussion - Improve: Visual workflow diagrams, before/after comparisons #### 🔊 Aural learners - Present: Full podcast/video format available - Improve: Timestamped audio segments for key concepts #### 🗣️ Verbal learners - Present: Technical terminology well-defined through conversation - Improve: Glossary of AI development terms #### 🧩 Kinesthetic learners - Present: Practical examples and real project walkthrough - Improve: Step-by-step tutorial for similar AI-assisted projects ### 📊 Accessibility Assessment #### Screen reader semantics - Present: Proper heading hierarchy, timestamped sections - Improve: Alt text for any visual diagrams mentioned #### Contrast and readability - Present: Clear content structure, good information hierarchy - Improve: Ensure code examples meet contrast requirements ### 🌍 DEIB Assessment #### Cultural breadth - Present: Focus on technical accessibility across skill levels - Improve: Examples from diverse development communities #### Inclusive language - Present: Technical discussion avoids exclusionary jargon - Improve: Plain language summaries for complex concepts ### ✅ Logical Validity #### Strong reasoning - Deductive strength: Clear timeline from problem to solution - Inductive strength: Generalizes from specific project to broader trends - Causal reasoning: Links AI model improvements to development capability #### Fallacies - Appeal to novelty: Some assumption that newer AI approaches are inherently better - Survivorship bias: Focus on successful AI project without failed attempts ### 🛡️ DARVO Analysis - No denial, attack, or victim/offender reversal patterns detected - Constructive technical discussion with acknowledgment of limitations ## 🎯 Conclusion The V-EX project represents a significant milestone in AI-assisted development, demonstrating that complex framework porting can be accomplished in weekend timeframes with proper AI tooling and experienced guidance. This signals a fundamental shift in software development economics and competitive dynamics, where the cost of migration and experimentation approaches zero. The key insight is that AI works best as an amplification tool for experienced engineers rather than a replacement, requiring human expertise in system architecture, planning, and quality oversight. ## 🧱 Refactor Appendix ### 📚 Literature Split Pad ### [H1] AI amplifies experienced engineering managers effectively > [!quote] Cloudflare's Next.js Slop Fork by Syntax via YouTube. Published 2024. Accessed 2024-12-19. > "100x engineering manager is how I would think that would be the correct term." Demonstrates AI as force multiplier for technical leadership rather than replacement for human expertise. [view highlight](https://youtu.be/h39oZb2-7Xo?t=150) #xref #articleseed ID:rw_001 ### [H2] Weekend AI development matches months of traditional work > [!quote] Cloudflare's Next.js Slop Fork > "This is going to be six months of work, five engineers... I started on a Friday... woke up the next morning and was clicking around in the app router demo." Quantifies dramatic productivity gains from AI-assisted development workflows. [view highlight](https://youtu.be/h39oZb2-7Xo?t=375) #xref ID:rw_002 --- ### 🔖 Atomic Split Pad (Zettel Candidates) #### [Z1] AI feedback loops enable rapid iteration - Applies when human can provide clear direction and corrections - Reference: 18:20 timestamp discussion - Links: [[AI Development]] [[Feedback Systems]] #### [Z2] Framework migration costs approach zero with AI - Limited to projects with good test coverage - Reference: 32:45 framework switching discussion - Links: [[Development Economics]] [[Technical Migration]] --- ### ✏️ Fleeting Queue - [F1] Research Agent Browser tool for UI debugging workflows #fleeting #inbox - [F2] Try discoveries.md pattern for tracking technical issues #fleeting #inbox - [F3] Investigate Context7 and Exa search MCP servers #fleeting #inbox --- ## Full Transcript [00:00] Welcome to Syntax. Today we have Steve<br>[00:02] Faulner on and he is the creator of<br>[00:05] V-Ex. If you didn't hear about it,<br>[00:07] basically Cloudflare took Nex.js and<br>[00:11] they created what is Levvenly called a<br>[00:13] slop fork um which is they uh ported the<br>[00:16] entire Nex.js framework to Vit and then<br>[00:20] they posted it and it was this big thing<br>[00:22] and we're not here too much to talk<br>[00:25] about like like the drama of of all of<br>[00:27] this and whatnot and whether Nex.js JS<br>[00:29] is hard to run on Cloudflare and<br>[00:31] whatnot, but I think we're more<br>[00:33] interested here of like h how did you do<br>[00:36] this? You know, like like how how was<br>[00:37] this created? How what's your process<br>[00:39] for tackling something that is not like<br>[00:42] oh cool you made like a little app where<br>[00:44] you can like drag and drop stuff around<br>[00:46] or you made a photo booth app, but like<br>[00:47] you literally took like an existing I'm<br>[00:50] not going to say spec, but like like<br>[00:52] test suite and and replicated most of<br>[00:54] the software behind it. So super<br>[00:57] interesting one. I'm super happy to have<br>[00:59] him on. Welcome, Steve. Thanks so much<br>[01:00] for coming on.<br>[01:01] >> Yeah, happy to be here. Like I said, uh<br>[01:02] I'm I'm I'm excited to tell the world<br>[01:04] more about this. Um I think it's a cool<br>[01:06] story. It's a cool story about AI and<br>[01:08] just the world we're living in right now<br>[01:10] and how rapidly it's changing. I I think<br>[01:12] this is going to be a wild year. Wild,<br>[01:13] maybe wild five or 10 years with for<br>[01:16] >> Yeah, buckle up. So, give us a quick<br>[01:18] rundown of of who you are and what you<br>[01:20] do.<br>[01:20] >> My name is Steve Falner. I am uh the<br>[01:23] director of engineering here for<br>[01:25] workers. So pretty much own kind of the<br>[01:27] whole workers or at Cloudflare. It<br>[01:28] includes other things like our agents<br>[01:30] product, uh containers, uh some of the<br>[01:32] stuff around Wrangler CLI. So I I didn't<br>[01:34] list all the teams. Apologies to to who<br>[01:36] I missed, but it's roughly like 80<br>[01:38] people. I've been here for a couple<br>[01:39] years. Um and yeah, that's that's my<br>[01:41] role. Um I'm not writing code every day.<br>[01:44] That's not what I do. I've seen a lot of<br>[01:45] people have said a lot of stuff about<br>[01:46] what I did and about the blog. And I<br>[01:48] think the only real correction that I<br>[01:49] want uh to make is a lot of people have<br>[01:52] been calling me a 100x engineer or<br>[01:53] something like that. I would I would use<br>[01:54] a title 100x engineering manager is how<br>[01:57] [laughter] I would I think I think that<br>[01:59] would be the correct the correct term.<br>[02:01] [gasps]<br>[02:01] >> Yeah. Given the state of AI, isn't that<br>[02:04] like kind of where we're landing though?<br>[02:06] Those are the people with the uh the<br>[02:08] superpowers are the uh 100x engineer<br>[02:11] manager. Yeah.<br>[02:12] >> And we we'll jump right into that. Like<br>[02:14] I think AI is an amplification factor,<br>[02:15] right? If you know what you need to do,<br>[02:17] I think you can use AI to do it faster<br>[02:19] and better. But it it works in both<br>[02:20] directions, right? I mean, I' I've seen<br>[02:22] it negatively amplify things when you<br>[02:24] don't know what you need to do or or you<br>[02:25] have the wrong, you know, kind of<br>[02:27] direction, right? It it just helps you<br>[02:28] go, but you the human still needs to set<br>[02:30] the direction.<br>[02:31] >> I was curious about the the term uh slop<br>[02:34] fork that has been thrown around given<br>[02:36] the nature of AI writing it. How does<br>[02:39] that term like hit you? How do you feel<br>[02:41] about the the term slop fork being used<br>[02:44] here?<br>[02:44] >> I think it's a funny term. I kind of<br>[02:45] like have embraced it. I mean, I've<br>[02:47] talked about uh slot forking other<br>[02:49] things now. Um sort of after this came<br>[02:51] out, I mean, somebody said, "Oh, like we<br>[02:53] should, you know, uh jokingly somebody<br>[02:55] was like, "Oh, we should slot fork<br>[02:56] Kubernetes and rewrite it in Rust." Oh<br>[02:57] my god, that's an amazing idea. So,<br>[02:59] [clears throat]<br>[03:00] >> I think all the terms that are coming<br>[03:01] out like Vibe Coding, uh like Clanker is<br>[03:04] the latest one, things like that. I I<br>[03:06] don't I find all these things funny, I I<br>[03:08] presume there's like I don't take any<br>[03:09] offense in it at all.<br>[03:10] >> When I saw slot fork, I like almost<br>[03:12] dropped my phone. I was like, "This is<br>[03:15] the greatest term ever coined." And I<br>[03:18] was like, I'm going to start slob<br>[03:20] forking stuff just so I can say it. So,<br>[03:22] like, set it up for us before before we<br>[03:23] get into how you did it. Um, let's just<br>[03:26] talk real quick about like why you did<br>[03:27] it. Like, why did you essentially fork<br>[03:30] Nex.js to get it to run on V.<br>[03:32] >> Let me rewind time a little bit, which<br>[03:34] is that, you know, maybe about a year<br>[03:35] ago, we were trying to figure out how do<br>[03:37] we better support Next.js on Cloudflare,<br>[03:39] right? Like that was just this hot topic<br>[03:41] internally. I think there's been a lot<br>[03:42] written about this hopefully not too<br>[03:44] contentious but you know Nex.js JS has<br>[03:47] problems hosting especially on other<br>[03:48] like runtimes other serverless providers<br>[03:50] right it's sort of very some of the<br>[03:52] things are very like bespoke to node and<br>[03:54] to versel and so you know generally you<br>[03:57] know you you can host it a lot of places<br>[03:59] but I think when you see the edges of<br>[04:00] the problem right and like you know<br>[04:02] certain features or certain things don't<br>[04:04] work quite as well like that's where you<br>[04:06] get into trouble and so we were looking<br>[04:08] at like paths forward here and one of<br>[04:12] the paths we were talking about at the<br>[04:13] time was actually well what what if we<br>[04:14] just wrote our compiler for next, right?<br>[04:17] Like what if we just took the next API<br>[04:18] and just did it, you know, this API<br>[04:20] service and did it ourselves. Like this<br>[04:21] is not the idea was almost a year old,<br>[04:24] probably even a little longer than that.<br>[04:26] And we had somebody actually go try to<br>[04:27] do this for a bit and and just do a PC<br>[04:30] and the answer was ah this is going to<br>[04:32] be six months of work, five engineers,<br>[04:35] you know, replicating so much. It's just<br>[04:37] going to like take so much time. It just<br>[04:38] it just wasn't feasible, right? And so<br>[04:40] at that time we really doubled down on<br>[04:41] Open Next uh which we we still are very<br>[04:44] involved in OpenX project and still<br>[04:45] moving on to OpenX. I keep telling<br>[04:47] people like if you want battle tested<br>[04:49] production code that's not 3 weeks old<br>[04:51] like please use Open Next. It's great<br>[04:52] right?<br>[04:53] >> Yeah. So that's kind of like where the<br>[04:55] idea probably started and then funny<br>[04:57] enough we actually we tried very briefly<br>[04:59] again we had an intern who actually<br>[05:01] tried this because he thought it was a<br>[05:02] cool idea and so I said oh just do pages<br>[05:04] router and let's just see if we can get<br>[05:05] it working you know very talented intern<br>[05:07] and you know let's throw this at him<br>[05:09] couldn't get that done either right so<br>[05:11] we tried twice and then I think<br>[05:14] everything really just changed when you<br>[05:16] know like everybody else December<br>[05:17] January suddenly these models just hit<br>[05:19] this next level and yeah<br>[05:21] >> I was doing a lot of manager stuff with<br>[05:23] these models, right? Like you my my job<br>[05:25] here is not to write code, right? So I'm<br>[05:26] I'm using uh these models to like<br>[05:28] summarize meeting notes and to track<br>[05:31] Jira tickets and to pull in summaries<br>[05:33] from channels and you know at Cloudflare<br>[05:35] we have a lot of like internal MCPs now<br>[05:36] that we're using uh and so I I was kind<br>[05:38] of using AI for manager brain and I I<br>[05:42] was also using a little bit of code here<br>[05:44] and there and I was like you know what<br>[05:45] these are really good now. I was like I<br>[05:47] wonder if we could just do this with AI<br>[05:48] like what like Ralph Wigum was kind of a<br>[05:50] thing. I did a couple Ralph Wiggum style<br>[05:51] projects.<br>[05:52] >> I was like, "Next.JS has this great test<br>[05:54] suite. What if I just I just throw it at<br>[05:56] that problem, right?" And that's what I<br>[05:58] did. Uh I think I started on a Friday.<br>[06:00] It was like a Friday afternoon, Friday<br>[06:01] evening. Did a plan. Spent a couple<br>[06:03] hours on that. That was the the start of<br>[06:05] just going back and forth with Opus and<br>[06:07] just saying like, "Hey, here's how I<br>[06:09] think this should work. Here's the<br>[06:10] things I think we should cover." And I<br>[06:13] think I woke up the next morning and<br>[06:14] like was clicking around in the app<br>[06:16] router demo like the app router<br>[06:17] playground and I was like whoa like this<br>[06:20] this kind of works right like it wasn't<br>[06:23] working perfectly but enough that you're<br>[06:25] like this this is there's something<br>[06:28] >> wow and so like let's talk about that<br>[06:30] planning stage as well like that's if<br>[06:32] someone were to tell me all right take<br>[06:34] NexJS and implement it in Vit like what<br>[06:36] is your process for tackling that do you<br>[06:38] do you say like oh take the tests or or<br>[06:40] do you ask it, how would you approach<br>[06:42] it? And like how much time do you spend<br>[06:45] building up this plan and and how much<br>[06:47] of that is that you actually understand<br>[06:48] how software engineering works? I<br>[06:52] definitely I think I was uniquely suited<br>[06:54] to this because I of just my background<br>[06:56] with you know Nex.js JS and so<br>[06:58] understanding the problem and and we've<br>[07:00] now we use V uh by the way we have our<br>[07:02] own Cloudflare plugin for VT and so we<br>[07:04] use V other places for other frameworks<br>[07:05] and so I I I understood the shape of<br>[07:07] like what needed to happen right<br>[07:09] >> so it's it's a couple hourong process<br>[07:11] for me to come come up with that plan<br>[07:13] and and it was iterative I'm working<br>[07:15] through it with open code open code opus<br>[07:18] is you know the default stack for me I<br>[07:19] definitely spent a lot of time going<br>[07:21] back and forth I'm also a big voiceto<br>[07:22] text guy I use super whisper I don't<br>[07:26] think that there's like some magic<br>[07:28] really good prompting I did here. This<br>[07:30] is me just sort of like brain dumping at<br>[07:32] the computer using my voice for you know<br>[07:36] 10 minutes. it comes back and interprets<br>[07:39] what I said, kind of fills in the<br>[07:40] blanks, and then me saying, "Ah, that<br>[07:42] didn't don't do that, right? Don't do<br>[07:43] that. Don't do that." Like those kinds<br>[07:44] of things, right?<br>[07:45] >> Like at some point it even suggested, I<br>[07:47] think, sort of like ripping out React or<br>[07:49] something like that. And I was like, I<br>[07:50] no, I don't want to do that. It's like<br>[07:51] out of scope for this project, right?<br>[07:53] >> So,<br>[07:54] >> so when you're doing this type of<br>[07:56] planning work, are are you creating just<br>[07:58] a bunch of markdown files? Are there any<br>[08:02] processes or skills that you're finding<br>[08:04] work best for you in this?<br>[08:06] >> All markdown files. I think this is the<br>[08:09] best tool we have at the moment. I'll be<br>[08:10] honest, I think it's kind of a local<br>[08:12] maximum. I my guess is is that in, you<br>[08:14] know, two, three years, you're not going<br>[08:15] to be writing a bunch of markdown files<br>[08:16] to a repo. Like I think LLM seem to be<br>[08:19] very good at it today, but I think as<br>[08:21] they sort of learn, we learn new<br>[08:22] techniques. I think we'll we'll figure<br>[08:24] out something that's a little more like<br>[08:25] LLM native, right?<br>[08:27] >> So, it seems strange to me that this is<br>[08:28] like the best we've got, right? But<br>[08:29] right now it actually works pretty well.<br>[08:31] We had like a plan markdown file and<br>[08:33] then I had a one specifically around<br>[08:34] testing too. So probably one of the<br>[08:37] parts I spent the most time on was like<br>[08:40] guiding it on which tests to pull in<br>[08:42] from next. The next test suite is is<br>[08:44] huge. I mean it's 8,000 something tests<br>[08:47] and a lot of it is testing either like<br>[08:50] what next itself emits or uh testing<br>[08:53] things that maybe were just like not day<br>[08:55] one features I wanted. And so I did have<br>[08:57] to spend some time guiding it. One of<br>[08:59] the maybe like unlocks I had was instead<br>[09:00] of trying to get the test suite running,<br>[09:03] like the next test suite running, I<br>[09:04] actually just said just port the tests,<br>[09:06] right? Like you can just like literally<br>[09:08] go test by test and figure out which<br>[09:10] ones. And then it used like a tracking<br>[09:11] document to like track each one of those<br>[09:13] tests along the way.<br>[09:14] >> And by porting the tests, you mean like<br>[09:15] like moving them to Vest or like like<br>[09:17] actually implementing the code behind<br>[09:19] each of these tests?<br>[09:21] >> Yeah, like moving them to Vest, right?<br>[09:23] And well, both, right? Like you know, so<br>[09:24] so moving it to like my own vest setup.<br>[09:27] So the the test from setup from day one<br>[09:29] was V test and play right? Um using<br>[09:31] those together<br>[09:32] >> and then you just like what let it rip<br>[09:34] overnight or or like like how much of<br>[09:37] you was it just like it came back after<br>[09:39] 20 minutes and you had to like type more<br>[09:41] into it?<br>[09:41] >> I actually asked Open Code about this.<br>[09:43] So I was curious because I I had I had<br>[09:46] the same question and and<br>[09:47] >> the people or the app.<br>[09:49] >> No, no, I the app, right? The app.<br>[09:51] >> Okay. [laughter]<br>[09:52] >> Sorry, not not the people. I I did a<br>[09:54] little internal session that's similar<br>[09:55] to this about like how I did this um for<br>[09:57] Cloudflare folks.<br>[09:59] >> And one of the things I did to prepare<br>[10:00] for that is I actually told Open Code to<br>[10:02] go look at all its session data for the<br>[10:04] last week and to analyze it and figure<br>[10:06] out what I did when.<br>[10:08] >> Uh and it had some really interesting<br>[10:09] things. So it said my my peak token<br>[10:12] usage was at 3:00 a.m. which I am not<br>[10:14] awake at 3:00 a.m. right? So I<br>[10:17] definitely did a lot of like setting it<br>[10:19] up with a lot of tasks to do overnight.<br>[10:22] And I I wouldn't say I was like full<br>[10:24] Ralph Wiggum like with a bash loop and<br>[10:25] stuff like that. This is more just like<br>[10:27] giving it a document that said okay<br>[10:29] hammer out these 10 things and then you<br>[10:31] know just keep going. And my experience<br>[10:34] it's pretty good at that, right? I mean<br>[10:35] sometimes it gets stuck but pretty good.<br>[10:37] And then it said my my habits were very<br>[10:39] barbell shaped. So there was either<br>[10:41] really short sessions that were like 2 3<br>[10:43] 4 minutes long or really long sessions<br>[10:46] that were like uh 1 to 2 hours. And so I<br>[10:49] think that's where like if I if I think<br>[10:50] back to that weekend that kind of<br>[10:52] matches my recollection of what I was<br>[10:54] doing. Either these like little short<br>[10:55] like go just go fix this thing. This<br>[10:56] thing doesn't work or like go off in the<br>[10:59] deep end and explore something super<br>[11:00] deep. I got two young kids at home. So<br>[11:02] like I wasn't spending like all weekend<br>[11:04] on this. I was like literally like I<br>[11:05] remember kind of being like h like we<br>[11:07] you know going to the playground and get<br>[11:09] home and I like run to my computer and<br>[11:10] just like let me just kick the LM for a<br>[11:12] second and then I'll like go back and do<br>[11:14] kids stuff. Right.<br>[11:14] >> How are you tracking that usage?<br>[11:16] >> This is all the open code data. So this<br>[11:18] is open code has all its own session<br>[11:20] data stored. Um I think they use SQLite<br>[11:22] and they store all this like information<br>[11:23] and so I just told her to go look in the<br>[11:25] SQLite database and figure it out.<br>[11:27] >> So there was no formal process like you<br>[11:30] said you just had I mean for the the<br>[11:31] loop right you were just pointing the<br>[11:33] agent at it which agent or uh which<br>[11:36] model were you using for that? Opus 4 uh<br>[11:39] 465<br>[11:40] >> 45 so 45 46 actually came out when I was<br>[11:42] working on the project. So about halfway<br>[11:45] through the project, I just switched all<br>[11:46] into 46. 99% of the code was written by<br>[11:48] Opus uh 46 or 45. Near the end stage, I<br>[11:52] started doing a little more like reviews<br>[11:53] where there was like times where I was<br>[11:55] trying to get the code reviewed a little<br>[11:56] bit better and then I would throw<br>[11:57] sometimes codeex at it just to get like<br>[11:59] another opinion.<br>[12:00] >> Yeah. How do you find the difference<br>[12:01] there? Or have you noticed too much?<br>[12:04] >> That's a good question and I I've<br>[12:05] actually I know people online will say<br>[12:07] like oh like Opus writes the code and<br>[12:09] Codex reviews the code. I did that for a<br>[12:11] while. I actually have kind of backed<br>[12:13] off that. I just haven't noticed that<br>[12:15] switching the model provides that much<br>[12:17] difference. It's almost just as good to<br>[12:19] just have the model review itself. And<br>[12:21] and I also find that reviewing the<br>[12:25] review is helpful, right? Like sometimes<br>[12:26] I'll just put it in a review loop where<br>[12:28] say like review the code, fix the<br>[12:29] problems, then review yourself again,<br>[12:31] fix the problems. And like it'll do two,<br>[12:33] three iterations of that before it, you<br>[12:34] know, doesn't find anything.<br>[12:36] >> And while you're doing all this like<br>[12:38] like what's your actual like open code<br>[12:40] setup? Do you have plugins, skills,<br>[12:42] agents, files, um, MCP servers hooked<br>[12:45] up? Like I often think about these guys<br>[12:47] that just spend all day tuning the knobs<br>[12:49] on their setup.<br>[12:50] >> That's me.<br>[12:51] >> Knob. [laughter] Yeah. I just started<br>[12:53] getting into Pi and that's like constant<br>[12:55] knob turning. So yeah.<br>[12:57] >> Yes. So very minimal. So I use the uh<br>[13:00] desktop app mostly. Um, I've kind of<br>[13:02] gone through the full iteration where I<br>[13:04] I I am a desktop app kind of guy. I'm<br>[13:06] not a a terminal UI kind of guy. That's<br>[13:08] just like my background. and I use VS<br>[13:10] Code. I kind of got deep into the<br>[13:12] terminal UI for a while because it was<br>[13:14] just nice and good. And then the desktop<br>[13:15] app got better and so I switched back to<br>[13:17] the desktop app. So almost all of this<br>[13:20] was desktop app. Uh as far as MCP<br>[13:23] servers and you know special skills and<br>[13:25] stuff like that. Nope. Don't really use<br>[13:27] any of that. We have I said our internal<br>[13:29] MCPs but I didn't even those I didn't<br>[13:31] really use for that. I had those turned<br>[13:32] off. No special agents. Uh we do now<br>[13:35] have a specific V-Next sort of like<br>[13:38] agent that we use for some of our<br>[13:39] reviews on the repo. So we we have found<br>[13:41] that getting an agent with like a bunch<br>[13:43] of context is helpful. Uh the agents MD<br>[13:45] file for this repo was generated by the<br>[13:47] agent itself when we started. Um and you<br>[13:49] know I I along the way I would tell it<br>[13:51] hey please go update agents MD make sure<br>[13:53] it's got everything it needs. I will add<br>[13:55] there's two MCP servers that I have had<br>[13:58] a little bit of luck with better results<br>[14:00] than just like not using them. And that<br>[14:02] is uh Context 7. I think it's by the<br>[14:04] Upstatch folks that really has a bunch<br>[14:06] of stuff indexed around uh open source<br>[14:08] libraries and things like that. And then<br>[14:09] also the uh exa so exa xa search.<br>[14:13] >> Yep.<br>[14:14] >> I have found that provides just a sort<br>[14:17] of general better search experience for<br>[14:19] the LLM. So I pretty much have both of<br>[14:21] those when I'm working on this project.<br>[14:22] I have those on now by default. It's not<br>[14:25] like this massive bump, but I would say,<br>[14:26] you know, my total vibe take is 20%<br>[14:30] better just being able to have those<br>[14:31] two. And while the LLM is is testing<br>[14:34] this stuff, that's that's all just like<br>[14:36] V test stuff or or at any point did it<br>[14:38] start opening up the browser and<br>[14:40] clicking links and doing things like<br>[14:42] that?<br>[14:43] >> Definitely. So I can talk about that. I<br>[14:44] talked about this in the blog post, but<br>[14:46] coincidentally agent browser by Versell,<br>[14:48] which is sort of a wrapper around<br>[14:49] playright, but it's like a nice CLI tool<br>[14:51] that lets you do everything. Agent<br>[14:52] browser very good. I used that a lot.<br>[14:55] >> So uh at one point I think I installed<br>[14:58] that skill. I should mention that. I<br>[14:59] don't really have a lot of skills<br>[15:00] either, but the agent browser skill is<br>[15:01] very good. Agent browser itself very<br>[15:03] good. And I would say here's the<br>[15:05] production, you know, app router<br>[15:07] playground. Here's something I'm trying<br>[15:08] to do. Here is the V-Next app router<br>[15:10] playground, something I'm trying to go<br>[15:12] do. And I would just give it<br>[15:13] instructions to go replicate and figure<br>[15:15] out what's going on. Definitely did a<br>[15:16] lot of debugging with that. And I was<br>[15:19] honestly a little blown away by some of<br>[15:20] these things. Like I remember one time I<br>[15:22] said, you know, the scroll is janky,<br>[15:23] right? Which is like,<br>[15:24] >> yeah,<br>[15:25] >> is the LLM going to figure that out? And<br>[15:27] it did. it it was like, "Oh, I I see it<br>[15:30] now, right?" And then, you know, like<br>[15:31] sending that I was a little blown away.<br>[15:33] I was like, "Oh, okay." Along the lines<br>[15:35] of ancient browser and opus, I have an<br>[15:39] issue with Opus specifically<br>[15:42] always like just totally failing with<br>[15:45] screenshots from agent browser and it<br>[15:48] coming in with like a this screenshot is<br>[15:52] too large for Opus and then I have to<br>[15:54] started a completely new session because<br>[15:56] it pollutes and kills that session. This<br>[15:59] has happened to me a couple times.<br>[16:01] >> Okay. I was going to say I'm like is<br>[16:03] this something that is only happening to<br>[16:05] me but seeing as you use these same<br>[16:06] tools I figured that was worth like if I<br>[16:09] have a longunning process and I have<br>[16:11] agent browser it can kill that process<br>[16:13] and like ruin a long running thing for<br>[16:15] me. Yeah. Just huge bummer.<br>[16:17] >> I've definitely hit this myself and and<br>[16:19] it really corrupts at least an open code<br>[16:20] for me the whole session and so I have<br>[16:22] to like start over<br>[16:24] >> and I will say that um these sessions<br>[16:26] sometimes get really valuable. There's<br>[16:27] been times where I will stop and say,<br>[16:30] "Wow, what I'm doing here is actually<br>[16:32] like I really want to save this." And I<br>[16:34] will say to it like<br>[16:35] >> save like a compaction to a markdown<br>[16:37] file of this session so that I can kind<br>[16:39] of come back to it later because<br>[16:41] certainly like I've built up in the<br>[16:43] context like enough interesting stuff<br>[16:45] that I'm like, "Wow, there's there's<br>[16:46] like good good things going on here."<br>[16:48] >> Yeah. And how closely are you monitoring<br>[16:50] that context? Are you sending things to<br>[16:52] sub agents or anything like that or is<br>[16:54] it just<br>[16:55] >> Not really. I I I definitely had I'm not<br>[16:58] going to say it's perfect. I'm going to<br>[16:59] had some days where, you know, you hit<br>[17:01] context compaction and then you're like,<br>[17:03] ah no, it's gonna going to just like,<br>[17:05] you know, it's going to start off on a<br>[17:06] weird foot and and that happens.<br>[17:08] >> I would say this is where I've noticed<br>[17:10] open code seems to have improved a lot<br>[17:12] in the last few weeks even where I used<br>[17:15] to have more problems around this and<br>[17:17] then now even just like in the last<br>[17:19] week, I don't really have much problems<br>[17:20] around context comparing where it just<br>[17:21] sort of does it right and and whatever<br>[17:23] internal prompts they're using for this<br>[17:24] seem to be pretty good. Another thing<br>[17:26] I'll I'll forget that I I forgot to<br>[17:27] mention is I I started this file with<br>[17:29] the LLM called discoveries.mmd<br>[17:32] at some point and and even it may have<br>[17:33] even suggested this to me. I don't even<br>[17:35] know if it's like my idea. It was all<br>[17:37] just the list of things that were like<br>[17:40] >> oh like this version of React Webpack,<br>[17:44] you know, DOM renderer doesn't work with<br>[17:46] the CJS module that doesn't load with<br>[17:48] the V stuff, like all that kind of<br>[17:49] stuff. And it just kept a log in there.<br>[17:51] So when it hit these bugs or hit or hit<br>[17:53] these like ecosystem issues, it's to<br>[17:55] sort of like figure out what to do and<br>[17:56] move on um rather than like just hitting<br>[17:58] it over and over again.<br>[18:00] >> I love that that move as well. So I'm<br>[18:02] I'm working on a tenstack start app<br>[18:04] right now with the Cloudflare V plugin,<br>[18:07] all that stuff. And it it keeps hitting<br>[18:09] this like loop where it realizes that it<br>[18:13] imported some serverside code into a<br>[18:16] client module and then that triggers<br>[18:18] like a warning because it it it's trying<br>[18:20] to tree shake it out and then it it<br>[18:22] tries to like make it into dynamic<br>[18:24] imports which is a nightmare and then<br>[18:27] like it's just this constant spinning<br>[18:28] and I hit it like three or four times<br>[18:30] and I I was like been like no we like we<br>[18:33] solved this already and like you<br>[18:35] obviously don't know what to do here<br>[18:36] because you're just going in this crazy<br>[18:38] loop, you know, where it goes like, but<br>[18:40] wait, they already said this. Oh, but<br>[18:42] looking at it again, uh, I did X, Y, and<br>[18:44] Z. That that drives me nuts when it just<br>[18:46] spins forever like that. And at that<br>[18:49] point, I was like, all right, I'm I'm<br>[18:50] starting to throw I was just throwing it<br>[18:52] in my agents.mmd, which is like these<br>[18:55] this is how you solve this specific<br>[18:58] problem or even just like posting in a<br>[19:00] gist or something like that, linking out<br>[19:01] to it. kind of like piggybacking off<br>[19:03] that, one of the insights that I've had<br>[19:04] is that like agents are really good at<br>[19:07] taking feedback, right? Like humans<br>[19:09] aren't, right? Like if I if if somebody<br>[19:11] writes a document and I say that's a bad<br>[19:13] document, you need to write it again.<br>[19:14] The next iteration is not going to be<br>[19:16] like<br>[19:16] >> light years better, right?<br>[19:18] >> But agents when you tell them to do<br>[19:20] something differently, you provide them<br>[19:22] new context, they really get better. And<br>[19:23] this is where this is where I think a<br>[19:25] lot of people there's a lot of people<br>[19:26] still kind of coming along on this<br>[19:28] journey, right? Like I I have developer<br>[19:29] friends who sort of don't really even<br>[19:31] want to touch this stuff. And what<br>[19:33] happens is their their first interaction<br>[19:34] is they look at it and they say, "Oh,<br>[19:37] well it it didn't do the thing right, so<br>[19:39] therefore it cannot do the thing right."<br>[19:41] >> And and I'm like, "Oh, you just got to<br>[19:42] hold on a little bit longer because if<br>[19:44] you just correct it, then on the fourth<br>[19:47] or fifth loop, it'll actually will just<br>[19:49] it'll it'll start doing it right. It'll<br>[19:51] stop making that mistake." That's where<br>[19:52] I think it really trips people up is<br>[19:54] like wrapping their head around like how<br>[19:56] good these agents are at interpreting<br>[19:59] course correction.<br>[20:00] >> Yeah, I do find that too. Like people<br>[20:03] people just send a a prompt, it outputs<br>[20:07] something they didn't expect and say<br>[20:08] this tool is garbage. Uh rather than<br>[20:11] >> Yeah. Well, as as programmers, that's<br>[20:13] how our brains are trained, right? Like<br>[20:15] you got you got humans on the one end<br>[20:16] which are can take feedback but are sort<br>[20:18] of very squishy and bad at dealing with<br>[20:20] it, right? And then on the other end you<br>[20:22] have programs which are you know like if<br>[20:26] you write a program and it does<br>[20:27] something and it fails you expect you<br>[20:29] run it again it will fail right and then<br>[20:32] LLM sit in this weird squishy in between<br>[20:34] non-determinism thing and this is where<br>[20:36] the non-determinism is a feature not a<br>[20:38] benefit right like it it's like yeah it<br>[20:41] output garbage terraform that took down<br>[20:42] your production database but like you<br>[20:44] can tell it not to do that again and it<br>[20:46] probably won't probably [laughter]<br>[20:49] >> probably maybe Yeah, probably maybe.<br>[20:52] [gasps] Well, I'll say like I I'll add<br>[20:54] on like I I am not like this AI<br>[20:55] maximalist. I think I have had my<br>[20:57] skeptical moments. I have also been<br>[20:59] coming on this journey the last few<br>[21:00] months that everybody else has. I I'm<br>[21:01] really excited about where we're going,<br>[21:02] but like I'm also simultaneously<br>[21:04] terrified, right? Like I I see the<br>[21:06] mistakes people are making. I see the<br>[21:08] mistakes that I'm making with it. And I<br>[21:10] I know there's real gaps here. And so,<br>[21:12] you know, there's people saying all<br>[21:13] these terrible things are going to<br>[21:14] happen because of AI. And I'm like,<br>[21:16] you're Yeah, you're probably right. I<br>[21:18] don't know. like I know that's but it's<br>[21:21] also amazing. It's both at the same<br>[21:23] time.<br>[21:24] >> Well, let's talk about like code quality<br>[21:26] a little bit on that as well. Like the<br>[21:28] code that it was kicking out, was it of<br>[21:31] good quality? And did you ever hit these<br>[21:34] like areas that it would just go down<br>[21:37] and and start doing awful stuff, right?<br>[21:38] Like I I spent the other day I spent<br>[21:40] like an hour writing up the most<br>[21:42] beautiful dock. It was a Friday night<br>[21:44] and I was like 5:00.<br>[21:46] Hit the button. I put it on the cursor<br>[21:49] longunning agents which can go for 10<br>[21:51] hours you know and I was like man came<br>[21:53] back on Monday and it had written like<br>[21:56] direct SQL queries. It just sidestepped<br>[21:58] all of my OM and like I was just looking<br>[22:02] at it like man I I spent like 3 hours<br>[22:04] just undoing a lot of the like bad stuff<br>[22:06] that it did and I was like I thought I<br>[22:08] did a good enough job planning for this<br>[22:09] and like did you ever hit that where<br>[22:11] just the code quality or the direction<br>[22:13] that it went was just not it? for sure<br>[22:15] have definitely that and I would say<br>[22:17] that I every time I tried to look at the<br>[22:19] code I I definitely was not super<br>[22:22] thrilled. That's not code I necessarily<br>[22:24] would have written directly. Like it<br>[22:26] it's verbose. And part of me on this<br>[22:28] project was having to let go of that a<br>[22:30] little bit, right? And say, okay, what's<br>[22:31] the goal here? The goal is to get<br>[22:33] compatibility and the goal is to get the<br>[22:34] test passing and like have confidence<br>[22:37] that that, you know, that is the answer<br>[22:39] and that it's going to work, right? I<br>[22:40] mean, I I framed this as an experiment.<br>[22:42] It's still an experiment. This is an<br>[22:43] experiment to how far you can push AI.<br>[22:46] And it's uncomfortable for me, but I've<br>[22:48] had to sort of let go a little bit of<br>[22:49] like, yeah, the code is not maybe a<br>[22:52] great, but does that really matter? And<br>[22:53] if if it does matter later, we'll fix it<br>[22:55] later. I'll give you a very specific<br>[22:57] example. One of the things that went<br>[22:58] down the rabbit hole on was it did a lot<br>[23:00] of um code generation here. So, this is<br>[23:05] true today. So, if you look at the V-NEX<br>[23:06] codebase, what is actually contained in<br>[23:09] like the client bundle is actually<br>[23:12] generated from template strings, right?<br>[23:13] like interpolated uh template strings<br>[23:16] and it it really rubs me the wrong way,<br>[23:18] right? It's not type checked. It's not<br>[23:20] linted. There's tests for like the end<br>[23:22] to end behavior, but like there's not<br>[23:23] like unit tests for little bits and<br>[23:25] bobs. And so this is something I've<br>[23:27] actually been working with all the other<br>[23:28] contributors on is that we're trying to<br>[23:29] extract this out. So we're saying, hey,<br>[23:31] no, LLM, you kind of did a bad thing<br>[23:33] here. You went way too down this path of<br>[23:36] like doing something that's I think hard<br>[23:38] to maintain for humans and for LLMs,<br>[23:40] right? cuz now it's like, you know,<br>[23:41] massive interpolated strings of code is<br>[23:43] also hard for LLMs. And so we're trying<br>[23:45] to like extract that out and get those<br>[23:47] into like proper like, you know, linted<br>[23:50] type checked code that is then like, you<br>[23:52] [music] know, pulled in in the right<br>[23:53] places. And if you want to see all of<br>[23:56] the errors in your application, you'll<br>[23:58] want to check out Sentry at<br>[23:59] centry.io/sax.<br>[24:03] You don't want a production application<br>[24:04] out there that well, you have no<br>[24:06] visibility into in case something is<br>[24:08] blowing up and you might not even know<br>[24:10] it. So head on over to centry.iosax.<br>[24:13] Again, we've been using this tool for a<br>[24:15] long time and it totally rules. [music]<br>[24:17] All right,<br>[24:19] so I've been working with Pi lately and<br>[24:21] writing extensions and orchestration<br>[24:23] loops and all that kind of stuff and<br>[24:25] like the the thought process is like<br>[24:28] every single feature it takes different<br>[24:31] passes at it. Okay, here's a, you know,<br>[24:34] linting pass. Here's a whatever pass.<br>[24:36] Here's a a styl pass. Here's a UI pass,<br>[24:40] a UX, all that accessibility stuff. And<br>[24:43] each of those is like it's its own<br>[24:45] separate thing. It feels right now like<br>[24:47] a lot of extra work when like I could<br>[24:49] probably just say, "Oh, hey, this wasn't<br>[24:52] good. Try try it again with these." Uh,<br>[24:55] so I'm still trying to figure out like<br>[24:57] what that optimal workflow is for like<br>[24:59] preventing those types of things because<br>[25:01] it ultimately you do continually go back<br>[25:04] and forth and back and forth with it<br>[25:06] until it gives you something that's<br>[25:08] decent.<br>[25:08] >> This is where like the I think<br>[25:10] guardrails are really important for AI.<br>[25:11] I mean the test suites are really<br>[25:12] important and you know linting<br>[25:14] formatting those kinds of things but<br>[25:15] then they sort of can also box it in a<br>[25:18] little bit, right? So, it's like you<br>[25:20] >> you almost want to like<br>[25:22] >> have like these small nice tasks that<br>[25:24] are very easily contained and have those<br>[25:27] guardrails, but every once in a while<br>[25:28] you want to give the LLM sort of like a<br>[25:30] free pass of like saying, "Okay, well,<br>[25:33] what would you do if you could just redo<br>[25:35] this entirely or do something<br>[25:36] differently?"<br>[25:37] >> Yeah, I found that to be helpful, too.<br>[25:39] Yeah, I I regularly run audits like<br>[25:41] audit this, audit this, tell me this,<br>[25:43] what you're you know, what you would<br>[25:44] change about it here. And sometimes it's<br>[25:46] just like always looking for things to<br>[25:47] change even if there aren't things that<br>[25:50] it should change. But a lot of times<br>[25:51] there is like valuable insights in<br>[25:53] there, things you didn't think about.<br>[25:54] What about security with this type of<br>[25:56] stuff? So I I don't know if this is<br>[25:57] true. You can maybe tell me, but like<br>[25:59] the Verscell folks put in a bug bounty<br>[26:01] against the Cloudflare bug bounty<br>[26:03] program. I'm sure they took their whole<br>[26:05] backlog of security vulnerabilities and<br>[26:07] ran it against this. Can you talk about<br>[26:09] security a little bit and tell us was<br>[26:11] that actually true? Did they did they<br>[26:12] pay out Versel? Some of this is is is<br>[26:14] still like in process, right? These<br>[26:15] things take a minute to like for us to<br>[26:17] go and fix everything and triage reports<br>[26:19] and do all that, but we got a lot of<br>[26:21] reports outside of herself, too. So,<br>[26:23] they did send us reports. I'm very<br>[26:24] appreciative of that, honestly. Like,<br>[26:26] some people were framing as like sort of<br>[26:27] a gotcha. And I'm like,<br>[26:28] >> it's a weak old project. Of course,<br>[26:29] there's security vulnerabilities, right?<br>[26:31] >> Like, yeah, this is great. I I please<br>[26:34] send us more. I want to know what's a<br>[26:35] problem so I can get them into the LLM.<br>[26:37] Yeah.<br>[26:38] >> Shuffle it right in<br>[26:39] >> AI. This again, this whole story is<br>[26:42] about AI and AI and more AI. So, we have<br>[26:45] AI triaging security vulnerabilities. We<br>[26:47] have AI finding its own security<br>[26:49] vulnerabilities. I can't share too much<br>[26:50] about this yet, but we're we're going to<br>[26:51] have a blog post about this where we we<br>[26:53] actually did build our own AI agent and<br>[26:56] harness to find some security<br>[26:58] vulnerabilities in this project because<br>[26:59] we we we saw what was coming in and we<br>[27:01] were saying, well, we could probably<br>[27:03] just find these ourselves because these<br>[27:04] are clearly AI written, so we should do<br>[27:06] this ourselves. And then we did and then<br>[27:10] we took that thing and started pointing<br>[27:11] it to other projects and it started<br>[27:12] finding other vulnerabilities and we<br>[27:14] were like, "Oh, this is really good."<br>[27:16] Right? So, we're going to have some more<br>[27:17] coming out about this in the future.<br>[27:19] But,<br>[27:19] >> oh, cool.<br>[27:20] >> We're using this as a learning<br>[27:21] opportunity, right? How do we use AI?<br>[27:24] And what we've learned right now around<br>[27:25] security is that it's actually pretty<br>[27:26] good at some of those things, too. So,<br>[27:28] AI is triaging security vulnerabilities.<br>[27:31] AI is fixing them. AI is validating<br>[27:33] them. AI is responding to reports and<br>[27:35] going back and forth with people on, you<br>[27:37] know, what's going on. So, we're trying<br>[27:38] to use all these tools everywhere. To be<br>[27:39] very specific, like, yes, very aware<br>[27:41] there's some security problems. Um, I<br>[27:43] mean, you can go look at the repo and<br>[27:44] see the ones we fixed. I think we've<br>[27:46] done something. We're on our like maybe<br>[27:48] 26th or 27th release since uh we<br>[27:52] launched this thing like about, you<br>[27:53] know, two weeks ago. So, we're we're in<br>[27:55] there fixing stuff. We're maintaining<br>[27:56] it. Uh, we're keeping going. I would say<br>[27:58] everybody like I I'm I'm trying to map<br>[28:00] this out right now like how do we get to<br>[28:01] like a will we we'll remove the<br>[28:03] experimental label and call it stable or<br>[28:05] something like that or call it beta.<br>[28:06] >> Yeah.<br>[28:07] >> Just to give people a little more<br>[28:08] confidence that yeah like this thing is<br>[28:10] ready ready for production.<br>[28:10] >> It's like this is something that the end<br>[28:12] game is like you will hopefully release<br>[28:15] this thing and it will be like usable<br>[28:17] for people that want to run<br>[28:19] >> and we have customers doing that now<br>[28:20] right? I mean, we've told customers<br>[28:22] about, you know, the where it has gaps<br>[28:24] and where the risks are and especially<br>[28:25] like if you there's a lot of people out<br>[28:26] there that use Next in a very limited<br>[28:28] way, right? Like they sort of make a<br>[28:30] static site with Next and maybe they've<br>[28:31] got a few random API endpoints or uh<br>[28:34] they do maybe one page is you know<br>[28:36] dynamically generated but the rest of<br>[28:38] their site is all static and so we have<br>[28:40] people that have sort of that I say more<br>[28:42] like kind of like narrow feature set of<br>[28:44] next and they're having a pretty good<br>[28:45] time with this so far. Do you think that<br>[28:47] makes sense to literally port the whole<br>[28:49] Obviously it does. This is a dumb<br>[28:51] question to ask you, but does it make<br>[28:52] sense to port the framework<br>[28:55] versus just like telling it to move the<br>[28:57] website to to like another framework?<br>[29:00] >> That is a great question and I I think I<br>[29:02] said something about this in the blog<br>[29:03] post. I said this exact words to<br>[29:05] customers. I said if you like Next and<br>[29:07] you want to use Next, then this is a<br>[29:09] good option. If you don't like Next, if<br>[29:11] that's your problem, then you can spend<br>[29:14] $10 in tokens and be on a different<br>[29:16] framework, right? Uh and we've seen<br>[29:18] customers do that. I mean, there's so<br>[29:20] many options out there. Astro, Tanstack,<br>[29:22] solid, right? Like they if you want to<br>[29:25] be on another framework, like the cost<br>[29:26] of switching is so low thanks to AI,<br>[29:30] >> especially if you've got any kind of<br>[29:32] good endto-end test suite.<br>[29:33] >> So, I I have said this to people and and<br>[29:35] like I said, I I didn't do this because<br>[29:37] like I love Nex.js JS and I wanted to<br>[29:40] like that's not why I did this. I did<br>[29:41] this because I was like interested in AI<br>[29:43] and I've I've definitely said to people<br>[29:44] if you don't want to use Nex.js spend<br>[29:46] the tokens, go try another framework.<br>[29:48] >> Totally. I man I I've been trying to<br>[29:51] move off of a fairly a fairly large<br>[29:53] project off of Express for a long time<br>[29:55] and I've just never been like Express is<br>[29:58] one of those things where it doesn't bug<br>[29:59] me enough uh to want to move off of it,<br>[30:02] you know? And then finally I was just I<br>[30:04] let this thing rip for like an hour or<br>[30:06] whatever and and it was totally moved<br>[30:08] over to Hano and I was like man that is<br>[30:11] amazing. The portability I think we<br>[30:12] should Scott we should probably do an<br>[30:14] entire show on that is just like<br>[30:16] migrating is the the barrier to entry of<br>[30:19] of migrating is so low right now.<br>[30:21] >> Totally. Yeah. I do wonder how that's<br>[30:23] going to I mean I talked about this in<br>[30:24] the post too but how it's going to<br>[30:25] change the incentives around like what<br>[30:27] we do and how we write software and<br>[30:29] where abstractions matter and where they<br>[30:31] don't. I don't claim to know the answer.<br>[30:33] I just know that the line is probably<br>[30:34] going to change.<br>[30:35] >> Yeah, it's all very fascinating and and<br>[30:37] who knows like with the the way that<br>[30:40] frameworks are changing. Uh CJ and I<br>[30:43] over here have been like talking quite a<br>[30:45] bit about like frameworks and right now,<br>[30:48] you know, frameworks are designed to be<br>[30:50] authored by us, but like what types of<br>[30:52] changes would we make uh in like a next<br>[30:55] generation of frameworks that were<br>[30:56] designed specifically to be authored by<br>[30:59] AI? uh like what types of optimizations<br>[31:02] would be needed there for a framework to<br>[31:05] perform or to for the AI to be able to<br>[31:07] write framework code better. It's just<br>[31:09] like an interesting thought experiment.<br>[31:11] We don't have anything to show for it,<br>[31:12] but we're both hacking on some stuff.<br>[31:14] Just seeing if we could make anything<br>[31:16] interesting.<br>[31:17] >> I I think we'll see some AI first<br>[31:19] frameworks. I think we'll probably see<br>[31:20] an AI first programming language, right?<br>[31:23] Somebody will come up with a way for<br>[31:25] >> interesting<br>[31:26] >> something they think AI is can just be<br>[31:27] better at. Now all of these will suffer<br>[31:29] from the bootstrapping problem of well<br>[31:30] it's not in the training data so you<br>[31:33] know it won't get recommended or won't<br>[31:34] understand how to do it but I I think<br>[31:36] that's just going to get solved. That's<br>[31:37] that's actually my personal take is that<br>[31:40] >> we cannot live in a universe where we're<br>[31:43] always like two years behind on what<br>[31:46] LLMs are telling us to do. And so I I<br>[31:49] think there will be some part of the<br>[31:51] technology or the training or the post-<br>[31:53] trainining or or something that will get<br>[31:54] solved here like some somebody will come<br>[31:56] up with some technique to say like<br>[31:58] >> we're going to inject in you know all<br>[31:59] the relevant data for this new language<br>[32:01] because it's super critical that AI uses<br>[32:03] it.<br>[32:03] >> What would a AI programming language<br>[32:06] look like? What do you think?<br>[32:07] >> I talked about guardrails, right? So, so<br>[32:09] probably something that's typed<br>[32:11] something um honestly if I look at the<br>[32:14] programming languages now you know like<br>[32:16] >> Rust is is verbose but has like all of<br>[32:19] these guard rails famously rust people<br>[32:21] will say well if it compiles it probably<br>[32:22] runs right it probably works so Rust<br>[32:25] kind of seems close to what you want but<br>[32:28] almost like you want something that's<br>[32:30] verose and simple which is more like go<br>[32:33] right like go is sort of designed to be<br>[32:36] you know well there's only one way to do<br>[32:37] thing or a couple ways to do things And<br>[32:39] so, um, I don't know, something that has<br>[32:41] sort of more the guardrails of Rust, but<br>[32:43] then like the simplicity of Go. I guess<br>[32:45] that that's what I would say. It's like<br>[32:46] my guess.<br>[32:47] >> And do you think we would have like a<br>[32:49] like a rigid syntax similar to how how<br>[32:52] those languages are, or do you think it<br>[32:53] would be more free flowing English?<br>[32:55] >> I'm guessing rigid because I think it<br>[32:58] needs like those guardrails, right? Like<br>[32:59] a limited syntax. Uh, I I say all this<br>[33:01] too is I I love I'm a Typescript guy.<br>[33:03] Like that's my background. I I was a<br>[33:05] front end dev historically before I kept<br>[33:07] getting put in charge of infrastructure<br>[33:09] teams. Uh and so I like writing<br>[33:11] TypeScript and so if Typescript, you<br>[33:13] know, doesn't make it in the AI world,<br>[33:15] I'll be a little sad about it.<br>[33:17] >> That's good. Actually, that was one more<br>[33:18] question I had about your open code set<br>[33:21] up. Did you have the TypeScript LSP<br>[33:23] hooked up in in Open Code? I I think<br>[33:25] it's on by default or does was it just<br>[33:27] GP and strings?<br>[33:28] >> No, it's on by default now. And so I<br>[33:30] think it just was working and in the<br>[33:32] background. I don't know if it made much<br>[33:34] of a difference at all. I will say that<br>[33:36] it gets caught up on the LSP sometimes<br>[33:39] where the LSP is out of date. I don't<br>[33:40] know if you ever see this in open code<br>[33:41] where I'll say like, "Oh, there's an LSP<br>[33:43] error." And then it will catch itself.<br>[33:45] It'll say, "Well, I I know that the type<br>[33:48] check passed, so the LSP is just not<br>[33:50] caught up or something, right? Like in<br>[33:51] the background and I notice it gets it<br>[33:53] gets caught up on the and hiccup on that<br>[33:55] sometimes." I don't have any data that<br>[33:57] says the LSP stuff is helpful, but I<br>[33:59] don't have any data that for me that<br>[34:00] says it's not helpful, right? like it<br>[34:02] was running and I got the project done.<br>[34:04] So<br>[34:06] maybe<br>[34:07] >> yeah, I'm curious to see when the um<br>[34:09] like the TypeScript Go stuff becomes a<br>[34:12] bit more mainstream where they can type<br>[34:14] check your entire project in like 20<br>[34:16] milliseconds. I'm curious to see if that<br>[34:18] will help it at all. We do use that<br>[34:21] here. So we use um TypeScript Go, uh<br>[34:24] Oxlint, uh OX format. Yeah, like we use<br>[34:28] all three of those. So I definitely<br>[34:29] prior and then V uh V test I prioritized<br>[34:32] like all the latest and greatest speedy<br>[34:34] tools because I I knew that that would<br>[34:36] be important, right? Like you you want<br>[34:37] that like feedback loop, right?<br>[34:39] >> Yeah. So<br>[34:40] >> yeah, I agree. It's if it's like a like<br>[34:42] a 3se secondond<br>[34:43] >> tsx compile every single time it does<br>[34:46] something to check that there's no<br>[34:47] errors. It's it really slows you down.<br>[34:50] Yeah, I do feel like Oxlint and Oxford,<br>[34:52] those those types of tools are I think<br>[34:55] once they hit more people, I think<br>[34:57] people are going to be really impressed<br>[34:59] with how how great they are.<br>[35:01] >> I mean, that that's all from Void Zero<br>[35:03] from the V team. I mean, they they are<br>[35:05] cooking over there, right?<br>[35:06] >> They are.<br>[35:07] >> V8, which uses roll down instead of roll<br>[35:09] up, is not the default yet. It's still<br>[35:11] V7 if you so for V next it uses V7 by<br>[35:13] default and you can opt into V8. I<br>[35:15] believe they're going to have something,<br>[35:18] you know, kind of beta soonish. I don't<br>[35:20] I don't want to commit to any timelines<br>[35:21] cuz they haven't told me, but you know,<br>[35:23] as soon as that's ready to even be in<br>[35:24] like a kind of public beta, we're going<br>[35:26] to swap the default because it it<br>[35:28] improves build times by like another 2x<br>[35:30] or something. It's It's pretty drastic.<br>[35:31] >> Smokes. Yeah.<br>[35:32] >> Crazy.<br>[35:33] >> Yeah, the Vit folks are cooking lately.<br>[35:36] >> They definitely are. It<br>[35:37] >> It feels like the Cloudflare folks are<br>[35:39] are cooking, too. Uh, and also I I've<br>[35:42] noticed a lot of Versel uh folks are are<br>[35:46] even being scooped up by by Cloudflare.<br>[35:48] I know Versel often has the reputation<br>[35:51] for having like really good DX and and<br>[35:53] Cloudflare has always had the reputation<br>[35:55] of being like great tools. Is Cloudflare<br>[35:58] taking that DX part of it more seriously<br>[36:01] now? Is that the message?<br>[36:03] >> 100%. So, uh, when when I joined, uh,<br>[36:07] Cloudflare, that was a big part of like<br>[36:09] what the goal was, right? And so, how do<br>[36:11] we get the right people in that can sort<br>[36:13] of like have this good taste for DX and<br>[36:15] how can we just let them go? And, you<br>[36:17] know, it's, you know, it's it's a big<br>[36:19] company. It takes time. Um, I I often,<br>[36:21] you know, people ask, you know, what<br>[36:22] what's your job at Cloudflare? And I use<br>[36:24] the analogy of like I I'm not<br>[36:26] responsible for fighting fires. I decide<br>[36:28] where fire stations get built, right, at<br>[36:29] my level, right? Like that's the kind of<br>[36:31] timeline horizon I'm on. So for me to<br>[36:34] understand if I'm being successful is<br>[36:36] you know I have to look back two years<br>[36:38] to see like well did I make a right<br>[36:40] decision there that resulted in you know<br>[36:42] a team being formed that created the<br>[36:44] right conditions for this to get better.<br>[36:46] I do think that is where things are<br>[36:48] headed at Cloudflare. We've invested a<br>[36:49] ton in hiring the right people and we<br>[36:51] and we've given like we have a whole new<br>[36:52] design engineering team that's<br>[36:54] responsible for our dashboard and they<br>[36:55] are just burning through pages trying to<br>[36:57] like make them better. Uh, so we got<br>[37:00] work to do, but I think it's way better<br>[37:01] than it was a couple years ago. So I I<br>[37:04] hope other people think that's true.<br>[37:05] >> Every time I load up Cloudflare,<br>[37:07] something looks a little bit better here<br>[37:09] and there. So I I think it's noticeable<br>[37:11] already and and then that effort I think<br>[37:13] will continue to, I think, pay dividends<br>[37:15] for y'all cuz that was, you know, I<br>[37:17] think a rub with Cloudflare before was<br>[37:19] navigating it even.<br>[37:20] >> And we got we have a a bunch of projects<br>[37:22] that I I can't share necessarily in the<br>[37:24] works, but we got a bunch of stuff in<br>[37:25] the pipe that I think is going to make<br>[37:26] this even better. I think we're tackling<br>[37:27] it from like sort of multiple layers. We<br>[37:29] have people that are like go fix the<br>[37:30] dashboard today, make it good, make it<br>[37:32] faster, make it better, right? And so we<br>[37:34] have people focused on that. And then we<br>[37:35] have even some people now focused on<br>[37:37] well what is the entire future of the<br>[37:39] platform look like? Like how do we<br>[37:40] reinvent like a surface area of our<br>[37:43] platform such that it not only is it<br>[37:45] good for humans but good for agents,<br>[37:47] right? Where you know like how do you<br>[37:49] build tooling that is like agent first<br>[37:52] and agents because it's different,<br>[37:54] right? Like an agent, an agent needs<br>[37:57] good DX, but agentic DX is different<br>[38:00] than human DX, right? It doesn't need to<br>[38:01] look nice, but it needs to still be like<br>[38:03] intelligible to an agent so it<br>[38:05] understands like, well, I need to click<br>[38:07] on this thing or I need to go follow<br>[38:09] this path to figure out what to do.<br>[38:11] >> Cool. Um, anything else we didn't touch<br>[38:12] upon before we wrap this up?<br>[38:14] >> I'll give you just like super high<br>[38:15] level, right? Like I said it before, I'm<br>[38:17] I'm both simultaneously like thrilled<br>[38:20] and terrified about all this stuff and<br>[38:21] where it's going to go, right? Like I<br>[38:23] mean it feels like we get to be alive at<br>[38:25] this this like what feels like a big<br>[38:26] technological revolution, right? I mean<br>[38:28] this is like the printing press or the<br>[38:29] steam engine or something, right? I mean<br>[38:31] the closest thing we have in our<br>[38:33] lifetimes is mobile, which I think is<br>[38:36] still an order of magnitude smaller.<br>[38:38] Maybe the internet, but even the<br>[38:39] internet, I mean, it took a while for us<br>[38:40] to get all the pipes to everybody's<br>[38:42] houses. You know, it it it takes a while<br>[38:44] to roll out and you get the latest and<br>[38:47] greatest on your phone within like 24<br>[38:50] hours, the same as anybody else, right?<br>[38:51] when these things get released. And so,<br>[38:53] not only is it like the magnitude of the<br>[38:56] revolution that's happening, but also<br>[38:57] the compression of how fast it's<br>[38:59] happening. Some days I feel so ahead of<br>[39:01] the curve with this stuff and then the<br>[39:02] other days I'll look at what other<br>[39:03] people are doing and I'm just like,<br>[39:04] "Wow, I I barely scratching the<br>[39:06] surface."<br>[39:06] >> Yeah. It Do you have any ideas of like<br>[39:09] what industries are sort of like next<br>[39:12] for this type? Like obviously it's doing<br>[39:13] very well in coding and it's doing very<br>[39:16] well in like like white collar office<br>[39:18] jobs you know like accounting Excel that<br>[39:21] email it's being abused in marketing and<br>[39:24] and whatnot. What's next? Like what do<br>[39:26] you see?<br>[39:27] >> Probably the next big thing I imagine is<br>[39:30] I have to think that that medicine right<br>[39:32] is going to get<br>[39:34] >> you know pretty upended by this. I think<br>[39:35] it'll be very similar to what's<br>[39:37] happening in in coding where there's a<br>[39:40] lot of things that can be done by an<br>[39:43] LLM, but then you need like an actual<br>[39:46] doctor with experience to like steer it<br>[39:48] along the way, right? You know, you<br>[39:49] can't just do all of its own stuff. And<br>[39:51] so I have family members in medicine and<br>[39:53] I I just sort of see what they do and<br>[39:56] the direction they're headed. It's<br>[39:58] already there. I mean, some of the these<br>[39:59] hospitals are already using LLMs and<br>[40:01] like have like, you know, LLM based<br>[40:02] voice transcription and things like<br>[40:04] that. like some of the tech is there and<br>[40:05] and in use. I think there's a lot of<br>[40:07] regulation in that industry. So, it'll<br>[40:08] take a while to sort of, you know,<br>[40:09] permeate fully, but I think medicine is<br>[40:12] something that could get very very<br>[40:13] upended just in terms of like how fast<br>[40:16] you can understand what's going on with<br>[40:17] a patient, right?<br>[40:18] >> Mhm. So,<br>[40:19] >> I I I'm kind of excited for like<br>[40:21] obviously there's there's horrifying<br>[40:23] things that could happen in regards to<br>[40:25] like the wrong people having that data<br>[40:27] and and not being able to cover your<br>[40:30] your payments for things like that. But<br>[40:32] also like I have a Apple Watch on that's<br>[40:35] just like I all of this data of how I<br>[40:38] slept, my heart rate, all of this stuff,<br>[40:39] you know, and then you you take a blood<br>[40:41] test and then take that and then compare<br>[40:43] it against<br>[40:45] >> what 20,000 other people, 100,000 other<br>[40:47] people of all these different cases.<br>[40:49] There's there's got to be something<br>[40:50] there, right? And [clears throat] I'm<br>[40:51] sure people are working on that. I think<br>[40:52] this is where like we we as<br>[40:54] technologists and the people sort of<br>[40:56] inventing this stuff around this have to<br>[40:58] try our best to sort of steer things in<br>[41:00] the right direction because the<br>[41:02] technology gets used for good and bad<br>[41:03] stuff. Like I mean I I I brought up the<br>[41:05] example of the printing press before. I<br>[41:06] mean the printing press changed the<br>[41:08] world. Printing press started wars and<br>[41:10] revolutions, right? You know like a lot<br>[41:12] of bad stuff happened too. And so I<br>[41:15] think both will be true in this case and<br>[41:17] and we just got to try to keep our thumb<br>[41:19] a little bit on the scale of like use<br>[41:21] this for the right things to help people<br>[41:24] and make things better, right? That's<br>[41:26] and it's it's going to be hard, but<br>[41:28] that's what I'm I'm trying to do.<br>[41:30] >> So now's the part of the show where we<br>[41:31] get into sick picks, which is just<br>[41:33] things that you're really enjoying in<br>[41:34] life. Uh cuz all this stuff is scary and<br>[41:37] crazy, but we got to have things that we<br>[41:38] like. So, do you have something in life<br>[41:41] right now that is just you're enjoying?<br>[41:43] Could be a a product, a a show, a<br>[41:46] podcast, anything.<br>[41:47] >> Sick pics. Here's the thing. I'm I'm I'm<br>[41:51] exploring becoming a watch guy.<br>[41:53] >> Oh, this is a this is a relatively new<br>[41:56] thing for me in the last like few<br>[41:58] months. So, yeah, I actually I inherited<br>[42:00] a watch from my grandfather uh that he<br>[42:02] got for retirement. So, it's got like<br>[42:03] some sentimental value for me. Now it is<br>[42:05] gold and flashy and so it's not really<br>[42:07] my style. And so that sort of begged the<br>[42:10] question, well what is your style if you<br>[42:12] were going to be a watch guy? And so<br>[42:14] this is this is where I landed. This is<br>[42:15] the uh IWC Mark 20.<br>[42:19] >> Uh it is uh um made by well IWC. Um and<br>[42:23] so this is their just one of their kind<br>[42:25] of like standard pilot watches. It's it<br>[42:27] it's not like the flashiest uh most out<br>[42:29] there watch, but um I've been very happy<br>[42:31] with it so far.<br>[42:32] >> Yeah. How do you find out what your<br>[42:33] watch guy style is? How do you How do<br>[42:35] you develop that?<br>[42:37] >> I It probably took me like 3 months to<br>[42:38] decide to buy this particular watch. So,<br>[42:40] I went tried on a bunch. Just kind of<br>[42:42] felt what felt right. Honestly, I I<br>[42:44] didn't know either until I went and<br>[42:46] tried some on. And then uh there's a few<br>[42:48] watches that you kind of just leave the<br>[42:50] store and you go like I feel like I left<br>[42:51] I like I forgot something there, right?<br>[42:53] Like when I left the store and I was<br>[42:54] like, what? What am I missing? And then<br>[42:55] I'm like, oh wait, no, I just really<br>[42:57] liked how that watch felt and this is<br>[42:58] this is sort of one of them. But you can<br>[42:59] tell I've got I've got a couple others<br>[43:00] in mind that maybe will come through the<br>[43:02] pipe. But this is this is my first like<br>[43:04] proper watch purchase. So yeah, uh<br>[43:06] that's kind of been a fun thing. I I<br>[43:07] also just like so I'm actually a<br>[43:09] mechanical engineer is my that's what I<br>[43:10] went to school for. Uh before I bumbled<br>[43:13] into software engineering sort of by<br>[43:14] accident, which you know, we didn't<br>[43:15] cover my background, but you know that<br>[43:17] there's a whole story there. I worked on<br>[43:19] like the Ford Mustang for a little while<br>[43:20] at Ford. I kind of did some stuff around<br>[43:22] mechanical engineering. So I really like<br>[43:23] the mechanical stuff around watches. I<br>[43:25] mean, the fact that it is like on your<br>[43:26] wrist and there's little spinny things<br>[43:28] in there that just run all day, like<br>[43:29] it's it's just very very cool to me. Oh,<br>[43:31] >> that's cool. That's actually something I<br>[43:33] was building the other day. I use this<br>[43:35] 3D library called Manifold. Um, it's<br>[43:37] it's like a it's like a C library, but<br>[43:39] there's there's TypeScript bindings for<br>[43:40] it. You could just write JavaScript and<br>[43:42] essentially it will just like create 3D<br>[43:45] shapes that are like watertight, right?<br>[43:47] And I I do a lot of 3D printing and<br>[43:50] whatnot. And and probably about a year<br>[43:51] ago, I made this website called<br>[43:52] bracket.engineer, engineer, which is is<br>[43:54] for making brackets that hold up like<br>[43:57] power supplies and whatnot. And then I I<br>[43:59] came back to it a couple months ago when<br>[44:00] not once the the models got much better.<br>[44:03] And I was like, I wonder if it can do<br>[44:05] things like um like planetary gears and<br>[44:08] and whatnot and and do all the math<br>[44:10] behind that. And I I thought that was a<br>[44:12] kind of interesting. It made all the<br>[44:14] like actual mechanical engineers mad cuz<br>[44:16] they're like like we have calculations<br>[44:18] for this already. But it it worked<br>[44:21] pretty good. It took a little bit to get<br>[44:23] there, but I was very surprised.<br>[44:25] >> I've seen a little bit of that of like<br>[44:26] the LLM's kind of intruding in the like<br>[44:28] traditional engineering category, what<br>[44:31] you know, like mechanical engineering,<br>[44:32] and it's it's kind of been fun to see<br>[44:33] cuz it there's a lot going there, right?<br>[44:36] Like, so<br>[44:37] >> I I love being a software engineer. I<br>[44:39] love writing software, but when you look<br>[44:41] at what it is like to engineer for the<br>[44:43] real world, right? It it is it's<br>[44:46] >> it's just like entirely different,<br>[44:48] right? like it it's very different in<br>[44:50] terms of like what you have to think<br>[44:51] about and like sort of the the all the<br>[44:53] trade-offs you have to make right around<br>[44:55] like materials and you might do these<br>[44:57] things to make something like.5%<br>[44:59] better right and that's like a huge<br>[45:01] success right and um you know or you<br>[45:04] have so many more constraints and<br>[45:06] software just feels like this like sort<br>[45:07] of boundless like do whatever you want<br>[45:09] right just whatever you want on the web<br>[45:10] page<br>[45:11] >> put put more RAM in it and we'll be fine<br>[45:14] >> it's part of why I got into software<br>[45:15] engineering but I I definitely missed<br>[45:16] some of the mechanical stuff Um,<br>[45:18] totally.<br>[45:18] >> I I haven't dumped into 3D printing yet<br>[45:20] because I know when I do it will be bad<br>[45:22] for me and I will get way too deep into<br>[45:24] it.<br>[45:24] >> Oh man.<br>[45:25] >> Oh yeah. Oh, you will. Yeah,<br>[45:26] >> that was my life. I didn't get one for<br>[45:28] probably 5 years cuz I was like, I'm<br>[45:29] going to be obsessed. And I've had it<br>[45:30] for a year and I am obsessed.<br>[45:32] >> We're going to be moving next year.<br>[45:34] We're moving. We have like this like<br>[45:35] lofty condo thing now. We're going to<br>[45:36] move into, you know, a big proper house<br>[45:38] and I will have space for something like<br>[45:40] that where I can have like my dedicated<br>[45:41] like here's the 3D printer off, you<br>[45:43] know, in the in the corner workshop. And<br>[45:46] I'm going to do it then. Oh yeah. And<br>[45:48] then it won't ever stop printing. Yeah.<br>[45:49] It'll just be printing 24/7. Yeah.<br>[45:52] [laughter]<br>[45:53] >> So, is there anything you would like to<br>[45:55] plug before we get out of here?<br>[45:58] >> Uh, obviously Vext, please go try it.<br>[46:00] See if it works. The best way to try it<br>[46:02] is to just point your LLM at it. Just<br>[46:04] say, "Migrate me to V-Next." And point<br>[46:06] it at the repo and there's a skill and<br>[46:07] it will just it'll just like figure it<br>[46:08] out. I would love more feedback about<br>[46:10] what works, what doesn't work. I mean, I<br>[46:12] know it's not perfect. Like so we're<br>[46:14] trying to you know fix things as fast as<br>[46:16] they can come in. I think I think we<br>[46:17] merged like 150 PRs in the first few<br>[46:19] weeks. I mean we're we're in there.<br>[46:21] We've got people working on fixing<br>[46:22] stuff. Right. So that's shameless plug<br>[46:24] one. Uh shameless plug two is<br>[46:26] Cloudflare. I work at Cloudflare. I<br>[46:28] don't know maybe I haven't mentioned<br>[46:29] that enough. You should go use<br>[46:30] Cloudflare and Cloudflare workers and<br>[46:31] it's great. And there's so many other<br>[46:32] things beyond just like host your<br>[46:34] website you can do on Cloudflare. We're<br>[46:35] really building out like an entire<br>[46:36] developer platform. It is like the cloud<br>[46:39] of the future and it's going to be<br>[46:41] amazing and you should come play with<br>[46:43] all the stuff.<br>[46:44] >> Sick.<br>[46:45] >> Big big Cloudfire fan here. Hold on. I<br>[46:47] have a<br>[46:47] >> I got a Cloudfare blanket behind me.<br>[46:51] >> Nice. Big Cloudfire fan. Cool. I<br>[46:54] appreciate all your time. Thanks so much<br>[46:55] for coming on and uh we'll have to catch<br>[46:56] up another time.<br>[46:58] >> Yeah, of course. Uh I really enjoyed it.<br>[46:59] So I hope turns out really good. All<br>[47:01] right. Peace. <!-- deep-read:sections end --> 📄 **Full text:** ![[Full Document Contents/Articles/Cloudflare’s Next.js Slop Fork|Cloudflare’s Next.js Slop Fork, YouTube]] ## Highlights - is me just sort of like brain dumping at the computer using my voice for you know 10 minutes. it comes back and interprets what I said, kind of fills in the blanks, and then me saying, "Ah, that didn't don't do that, right? Don't do that. Don't do that." Like those kinds of things, right? >> Like at some point it even suggested, I think, sort of like ripping out React or something like that. And I was like, I no, I don't want to do that. It's like out of scope for this project, right? >> So, >> so when you're doing this type of planning work, are are you creating just a bunch of markdown files? Are there any ([View Highlight](https://read.readwise.io/read/01km125ak0kmvz3yha2evdm661)) - Tags: 👻 ai highlighted - gist or something like that, linking out to it. kind of like piggybacking off that, one of the insights that I've had is that like agents are really good at taking feedback, right? Like humans aren't, right? Like if I if if somebody writes a document and I say that's a bad document, you need to write it again. The next iteration is not going to be like >> light years better, right? >> But agents when you tell them to do something differently, you provide them new context, they really get better. And this is where this is where I think a lot of people there's a lot of people still kind of coming along on this journey, right? Like I I have developer friends who sort of don't really even ([View Highlight](https://read.readwise.io/read/01km125anxdh1yct3qc8zbzga5)) - Tags: 👻 ai highlighted - has. I I'm really excited about where we're going, but like I'm also simultaneously terrified, right? Like I I see the mistakes people are making. I see the mistakes that I'm making with it. And I I know there's real gaps here. And so, you know, there's people saying all these terrible things are going to happen because of AI. And I'm like, you're Yeah, you're probably right. I don't know. like I know that's but it's also amazing. It's both at the same time. >> Well, let's talk about like code quality a little bit on that as well. Like the code that it was kicking out, was it of ([View Highlight](https://read.readwise.io/read/01km125atpbtbm08ez3gbcqf27)) - Tags: 👻 ai highlighted - it ultimately you do continually go back and forth and back and forth with it until it gives you something that's decent. >> This is where like the I think guardrails are really important for AI. I mean the test suites are really important and you know linting formatting those kinds of things but then they sort of can also box it in a little bit, right? So, it's like you >> you almost want to like >> have like these small nice tasks that are very easily contained and have those guardrails, but every once in a while you want to give the LLM sort of like a ([View Highlight](https://read.readwise.io/read/01km125b1xj8y20492ch4c5502)) - Tags: 👻 ai highlighted - AI is fixing them. AI is validating them. AI is responding to reports and going back and forth with people on, you know, what's going on. So, we're trying to use all these tools everywhere. To be very specific, like, yes, very aware there's some security problems. Um, I mean, you can go look at the repo and see the ones we fixed. I think we've done something. We're on our like maybe 26th or 27th release since uh we launched this thing like about, you know, two weeks ago. So, we're we're in there fixing stuff. We're maintaining it. Uh, we're keeping going. I would say everybody like I I'm I'm trying to map ([View Highlight](https://read.readwise.io/read/01km125b55pj63d2ewg70fw0r8)) - Tags: 👻 ai highlighted - this out right now like how do we get to like a will we we'll remove the experimental label and call it stable or something like that or call it beta. >> Yeah. >> Just to give people a little more confidence that yeah like this thing is ready ready for production. >> It's like this is something that the end game is like you will hopefully release this thing and it will be like usable for people that want to run >> and we have customers doing that now right? I mean, we've told customers about, you know, the where it has gaps and where the risks are and especially like if you there's a lot of people out there that use Next in a very limited way, right? Like they sort of make a ([View Highlight](https://read.readwise.io/read/01km125bf6x12f3amgfdzgd8gg)) - Tags: 👻 ai highlighted - like all the latest and greatest speedy tools because I I knew that that would be important, right? Like you you want that like feedback loop, right? >> Yeah. So >> yeah, I agree. It's if it's like a like a 3se secondond >> tsx compile every single time it does something to check that there's no errors. It's it really slows you down. Yeah, I do feel like Oxlint and Oxford, those those types of tools are I think once they hit more people, I think people are going to be really impressed with how how great they are. ([View Highlight](https://read.readwise.io/read/01km125br9fvjxwpvdhe3xas21)) - Tags: 👻 ai highlighted - dashboard today, make it good, make it faster, make it better, right? And so we have people focused on that. And then we have even some people now focused on well what is the entire future of the platform look like? Like how do we reinvent like a surface area of our platform such that it not only is it good for humans but good for agents, right? Where you know like how do you build tooling that is like agent first and agents because it's different, right? Like an agent, an agent needs good DX, but agentic DX is different than human DX, right? It doesn't need to ([View Highlight](https://read.readwise.io/read/01km125c263hrc0tk9mvzgg90k)) - Tags: 👻 ai highlighted - look nice, but it needs to still be like intelligible to an agent so it understands like, well, I need to click on this thing or I need to go follow this path to figure out what to do. >> Cool. Um, anything else we didn't touch upon before we wrap this up? >> I'll give you just like super high level, right? Like I said it before, I'm I'm both simultaneously like thrilled and terrified about all this stuff and where it's going to go, right? Like I mean it feels like we get to be alive at this this like what feels like a big technological revolution, right? I mean this is like the printing press or the steam engine or something, right? I mean ([View Highlight](https://read.readwise.io/read/01km125cffke2214e00t2ghm5a)) - Tags: 👻 ai highlighted