<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Steve Sewell</title>
    <description>The latest articles on DEV Community by Steve Sewell (@steve8708).</description>
    <link>https://dev.to/steve8708</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F523496%2F8dd7a765-04cd-4a91-bb6b-c93c2dc37f63.jpg</url>
      <title>DEV Community: Steve Sewell</title>
      <link>https://dev.to/steve8708</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/steve8708"/>
    <language>en</language>
    <item>
      <title>How I use Cursor (+ my best tips)</title>
      <dc:creator>Steve Sewell</dc:creator>
      <pubDate>Wed, 12 Mar 2025 08:41:11 +0000</pubDate>
      <link>https://dev.to/builderio/how-i-use-cursor-my-best-tips-4918</link>
      <guid>https://dev.to/builderio/how-i-use-cursor-my-best-tips-4918</guid>
      <description>&lt;p&gt;I was just chatting with one of our senior engineers, and he mentioned that he barely types code anymore—he just types into the agent box in Cursor.&lt;/p&gt;

&lt;p&gt;I told him that is basically what I do these days as well (~80% of the time).&lt;/p&gt;

&lt;p&gt;This only works well for complex tasks if you know what you are doing, so let's get into how exactly I use Cursor and my best tips.&lt;/p&gt;

&lt;h2&gt;
  
  
  Using YOLO mode
&lt;/h2&gt;

&lt;p&gt;One of the coolest features that people often overlook in Cursor is letting the agent write code until it verifies the code is correct beyond just lint. To do this, you need to turn on YOLO mode.&lt;/p&gt;

&lt;p&gt;Go to settings, scroll down, and make sure you turn YOLO mode on. Don't be scared by the name. When I first heard it, I figured I shouldn't use it, but you absolutely should, in my opinion.&lt;/p&gt;



&lt;p&gt;When you check the box, you get a bunch more options. You can give a prompt, an allow list, and/or a deny list. Here's my prompt for YOLO mode:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;any kind of tests are always allowed like vitest, npm test, nr test, etc. also basic build commands like build, tsc, etc. creating files and making directories (like touch, mkdir, etc) is always ok too&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;This way, if it wants to run &lt;code&gt;mkdir&lt;/code&gt;, &lt;code&gt;tsc&lt;/code&gt;, or check for lints directly, it can. A really cool workflow is to run &lt;code&gt;tsc&lt;/code&gt;, and if there are any build errors at all, it'll just go ahead and fix them. It'll find any build errors in any file, fix them up, and iterate until the build passes. That's awesome.&lt;/p&gt;

&lt;h2&gt;
  
  
  Handling complex tasks
&lt;/h2&gt;

&lt;p&gt;Let's explore how I use Cursor for more complicated things. I'm going to give it this prompt:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Create a function that converts a markdown string to an HTML string.&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;I like this prompt because pretty much no AI can consistently one-shot this. It can take a few iterations to figure it out.&lt;/p&gt;

&lt;p&gt;Traditionally, you'd type this in, see some code, test it by hand, come back and say, "Oh, that's not right," and go back and forth. You start to feel like your job is a bit like a QA tester. That's fine, but it's not always fun.&lt;/p&gt;

&lt;p&gt;That's why people invented automated tests and test-driven development. I'm not a fan of test-driven development in general, but when it comes to AI, I actually really am. So let's make this prompt a thousand times better, especially for non-trivial things, by adding one more line:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Write tests first, then the code, then run the tests and update the code until tests pass.&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;I didn't have to tell Cursor anything. I didn't have to add example context files or approve it creating a test directory. It's going to find that from the &lt;code&gt;package.json&lt;/code&gt;—it's quite smart.&lt;/p&gt;

&lt;h2&gt;
  
  
  Watching the AI work
&lt;/h2&gt;

&lt;p&gt;Here's where it gets interesting. Cursor is creating a test file, and unlike most AI-generated code, we get some level of guarantee that the behavior of the code the AI writes is correct. If it passes these tests, it's at least doing something right.&lt;/p&gt;

&lt;p&gt;Now it's writing its implementation code, and it's going to run the tests. We've got six tests failed. Because I have YOLO mode on and told it it can run tests automatically, it's iterating on the code until the tests pass. And I'm doing nothing.&lt;/p&gt;



&lt;p&gt;&lt;span&gt;You do need to babysit these things. There are plenty of times when it's definitely just going off track. It's super common that I have to hit stop and say, "Wait, wait, wait, you're way off track here. Reset, recalibrate, get back on the right track."&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;In my case, eventually, all tests passed!&lt;/p&gt;

&lt;h2&gt;
  
  
  Building on existing test suites
&lt;/h2&gt;

&lt;p&gt;Another cool thing you can do is build off an existing test suite. You can say, "Let's add a few more test cases, then make sure the code passes."&lt;/p&gt;

&lt;p&gt;In another project I work on, we have certain compilers and converters for Builder. I have this one converter that sometimes errors. What I do is I grab the code that couldn't convert from our logs every few days. I paste it into Cursor and say, "Run this code and see what doesn't compile, then write a test for that issue and then update my code until all the tests pass."&lt;/p&gt;

&lt;p&gt;It's amazing. I just do that every few days, pulling in new cases. It's a great way to improve your code's robustness.&lt;/p&gt;

&lt;h2&gt;
  
  
  UI design with Cursor
&lt;/h2&gt;

&lt;p&gt;Someone in the comments asked if you can make a design look good with Cursor. Unfortunately, Cursor and other LLMs are very bad at checking if a design looks right in your code.&lt;/p&gt;

&lt;p&gt;If you're not already familiar, you could use Builder.io (&lt;a href="https://www.figma.com/community/plugin/747985167520967365/builder-io-ai-powered-figma-to-code-react-vue-tailwind-more" rel="noopener noreferrer"&gt;our Figma plugin&lt;/a&gt;) to convert designs to code. It gives you a certain level of guarantee, especially if you set up your design file a bit.&lt;/p&gt;

&lt;p&gt;Here is my preferred design to code workflow:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252Fa8499ec8f0304494b8a676d8f566b8ca%3Fwidth%3D705" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252Fa8499ec8f0304494b8a676d8f566b8ca%3Fwidth%3D705" alt="A designer uses Figma to create a design. Then, Builder.io is used to convert the design into code. A developer then iterates the code with an AI-enabled code editor, like Cursor." width="705" height="506"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Fixing TypeScript errors
&lt;/h2&gt;

&lt;p&gt;Let me show you another technique I like a lot.&lt;/p&gt;

&lt;p&gt;Let's say I've been working on some code for a while, just coding away, and then I realized - ah, TypeScript issues. You run the build and hit all these errors. Here's what you do: Just go over to Cursor and say&lt;/p&gt;

&lt;p&gt;&lt;code&gt;I've got some build errors. Run nr build to see the errors, then fix them, and then run build until build passes.&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;I end a lot of my work this way. I do a bunch of stuff, there's lint issues or whatever, who cares. I literally just tell Cursor to fix everything.&lt;/p&gt;



&lt;p&gt;In all projects, I usually keep a command I call "pre-PR". It's usually the build steps that run the fastest. It might not run the end-to-end tests that run in the CI, but I rarely break those. It might just run &lt;code&gt;tsc&lt;/code&gt;, Prettier, and ESLint - all the fast stuff that can quickly tell me if this is going to break the CI build or not.&lt;/p&gt;

&lt;p&gt;Then I just have Cursor run that and fix up the PR until everything passes, and it works pretty great for me, even in large and complex projects.&lt;/p&gt;

&lt;h2&gt;
  
  
  Debugging with logs and iterative fixing
&lt;/h2&gt;

&lt;p&gt;Sometimes, when you're dealing with a particularly tricky issue, it can be helpful to have Cursor output logs and then use those logs to fix the problem. Here's how I do it:&lt;/p&gt;

&lt;p&gt;Let's say we're still struggling with our original issue. We've tried a few things, but we're not getting the results we want. Here's what I do next:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;I tell Cursor: "Please add logs to the code to get better visibility into what is going on so we can find the fix. I'll run the code and feed you the logs results."&lt;/li&gt;
&lt;li&gt;Cursor will add logging statements to the code at key points.&lt;/li&gt;
&lt;li&gt;I run the code and collect the log output.&lt;/li&gt;
&lt;li&gt;Then I go back to Cursor and say something like, "Here's the log output. What do you now think is causing the issue? And how do we fix it?"&lt;/li&gt;
&lt;li&gt;I paste the raw log output for Cursor to analyze.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This approach gives Cursor more concrete information to work with. It's like giving it a diagnostic report of what's happening inside the code.&lt;/p&gt;



&lt;p&gt;From there, Cursor can propose a more targeted fix based on the actual behavior of the code, not just its static analysis.&lt;/p&gt;

&lt;p&gt;This method is particularly useful for those hard-to-crack bugs where the issue isn't immediately obvious from just looking at the code. It's like having a junior developer who can quickly add logging, run the code, and then help you interpret the results.&lt;/p&gt;

&lt;p&gt;Remember, though, that this process might take a few iterations. You might need to add more logs, or focus on different areas of the code. But it's a powerful technique for solving complex issues with the help of AI.&lt;/p&gt;

&lt;h2&gt;
  
  
  Using Command K and Command I
&lt;/h2&gt;

&lt;p&gt;Let me show you a couple of other cool things you may or may not already know. These are really handy shortcuts in Cursor.&lt;/p&gt;

&lt;p&gt;Command K is great for making quick changes. For example, let's say I want to make all the fonts smaller except for the main copied text. I can just select the relevant code, hit Command K, and tell Cursor what I want to change.&lt;/p&gt;



&lt;p&gt;Command I will open up the agent. If you select some code and hit Command I, it'll put that code in the context for the agent chat. This is useful when you want to chat about or modify specific parts of your code.&lt;/p&gt;

&lt;p&gt;The main reason to use Command K instead of Command I is that it's faster. It knows we're only working with the selected code, so it's really quick. The inline UI is kind of nice too - it's simple and feels good to use.&lt;/p&gt;

&lt;h2&gt;
  
  
  Terminal AI with Command K
&lt;/h2&gt;

&lt;p&gt;Command K in the terminal is another favorite of mine. I love using it to save keystrokes. For example, I can say "list my five most recent git branches" and it'll do that for me.&lt;/p&gt;



&lt;p&gt;I don't bother memorizing complex git commands. I have more time and mental capacity to solve the things that matter most. Cursor just does what I want, and I love it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Autocomplete and tab navigation
&lt;/h2&gt;

&lt;p&gt;We all know about autocomplete, but let me show you something I find sometimes unintuitive in Cursor. After using this thing for over a year, I think I've figured out how to do it right most of the time.&lt;/p&gt;



&lt;p&gt;See that gray text? If I hit tab again, it's going to auto-complete me over there. The confusing part about Cursor is this "tab again" feature is a little different. Sometimes it completes code, sometimes it just jumps to the next suggestion. You've got to get a feel for it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Generating commit messages
&lt;/h2&gt;

&lt;p&gt;You may not know that Cursor can generate commit messages for you. I always forget about this feature, but I really should use it more often. Just go over to the source control tab and hit the little magic wand icon.&lt;/p&gt;

&lt;p&gt;It's not always perfect (see the clip below 😅), but it can give you a good starting point for your commit messages.&lt;/p&gt;



&lt;h2&gt;
  
  
  The bug finder
&lt;/h2&gt;

&lt;p&gt;Let's talk about the bug finder feature. It's pretty cool. You can access it by hitting &lt;code&gt;Command Shift P&lt;/code&gt; and typing "bug finder".&lt;/p&gt;

&lt;p&gt;The bug finder compares your changes to the main branch and tries to identify potential bugs you've introduced. It's not perfect, but it can catch some issues you might have missed.&lt;/p&gt;

&lt;p&gt;For example, it might catch things like forgetting to handle zero values properly, which can bite you especially when dealing with positions in UI work.&lt;/p&gt;



&lt;h2&gt;
  
  
  Balancing AI assistance and coding skills
&lt;/h2&gt;

&lt;p&gt;A common question people ask is whether using AI tools like Cursor might lead to losing coding skills. It's a valid concern, but here's my take on it:&lt;/p&gt;

&lt;p&gt;If we define coding skills as the ability to build good products in a good way with code (which is probably what most companies are hiring for), then I don't think a person needs to hand-code software all day, every day, to maintain or increase these skills.&lt;/p&gt;

&lt;p&gt;AI can automate a lot of the basic work, which saves time and mental energy and allows you to focus on the harder problems. I can let AI, using Cursor's Composer, build out these UIs, and then when things get harder, I can jump in.&lt;/p&gt;

&lt;p&gt;In my opinion, there's no world where you can just vibe code an entire product. I've never seen anyone do it, and I don't think anyone will ever be able to do it. These AI tools are getting better, but they're also plateauing in some areas.&lt;/p&gt;

&lt;p&gt;We will always need to be fixing and manually implementing things in the code. If you don't know how to code at all, if you don't know how to debug, those are good skills to build. You will get stuck by coding and you'll need to unblock yourself.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252F28470e344ff5455693d9e6c07c4d2b62%3Fwidth%3D705" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252F28470e344ff5455693d9e6c07c4d2b62%3Fwidth%3D705" alt="A workflow showing the tasks between a new task and a final product. From a new task, we first ask if the task is simple or complex. If simple, we can use AI to write code, debug, and integrate a solution for the final product. If complex, we still need to code manually. " width="705" height="593"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I think AI helps a senior developer the most. The best thing anyone can do is learn as many development skills as they can, and let the AI help you, but you need to actually know how to work with this code.&lt;/p&gt;

&lt;p&gt;As long as you're still working with code, you're still building coding skills. And most importantly, you're building productivity and efficiency skills. I would rather hire developers who use Cursor well than developers who refuse and hand-code everything.&lt;/p&gt;

&lt;p&gt;I want developers who work as leanly and as efficiently as possible. I can't solve hard problems for eight hours a day, every day. But I can vibe code a UI for four hours and then work two hours on really hard problems by hand, and that gets a lot more done ultimately.&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/uJimjSDio_Y"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;Overall, Cursor is an incredible tool. If you're just using autocomplete, you're probably missing out. Try the agent features and some of the other exciting features. Build familiarity with the types of workflows that work well, what works well with the agent, and what works well for testing.&lt;/p&gt;

&lt;p&gt;Remember, it's about delivering a better product to customers that'll ultimately drive more revenue for the business. Use these AI tools to help you do that more efficiently, but don't forget the importance of your own coding skills and problem-solving abilities.&lt;/p&gt;

&lt;p&gt;That's it for my best Cursor tips. Give them a try and see how they can improve your workflow.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>cursor</category>
      <category>tooling</category>
      <category>programming</category>
    </item>
    <item>
      <title>Turn Figma Designs into Full Stack Apps Using Lovable and Builder.io</title>
      <dc:creator>Steve Sewell</dc:creator>
      <pubDate>Wed, 22 Jan 2025 13:05:11 +0000</pubDate>
      <link>https://dev.to/builderio/turn-figma-designs-into-full-stack-apps-using-lovable-and-builderio-162o</link>
      <guid>https://dev.to/builderio/turn-figma-designs-into-full-stack-apps-using-lovable-and-builderio-162o</guid>
      <description>&lt;p&gt;If you’ve ever turned Figma designs into a functional application, you know just how complex that process can be.&lt;/p&gt;

&lt;p&gt;Every aspect of the design needs to become part of a working application—from mapping out component structures and handling responsive layouts to setting up data flows and interactive states.&lt;/p&gt;

&lt;p&gt;The good news is that the manual back-and-forth between design and implementation is about to change dramatically. The &lt;strong&gt;Lovable&lt;/strong&gt; and &lt;strong&gt;Builder.io&lt;/strong&gt; integration lets you turn designs into full applications, so you can focus on what matters: building features and delivering great products.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;What is Lovable?&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://lovable.dev/" rel="noopener noreferrer"&gt;Lovable&lt;/a&gt; is a full stack AI software engineer and editing environment. It's designed to let you create and iterate on your projects quickly, so you can move from an idea to a real application, deployed live, without wrangling complex tools or environments.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;What is Visual Copilot?&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.figma.com/community/plugin/747985167520967365/builder-io-ai-powered-figma-to-code-react-vue-tailwind-more" rel="noopener noreferrer"&gt;Visual Copilot&lt;/a&gt; is &lt;a href="http://Builder.io" rel="noopener noreferrer"&gt;Builder.io&lt;/a&gt;’s AI-powered Figma to code toolchain that leverages AI models to convert Figma designs into React, Vue, Svelte, Angular, HTML, etc code in real-time. It can even reuse your existing components in the output and use any styling library or system you need.&lt;/p&gt;

&lt;p&gt;Check out our &lt;a href="https://www.producthunt.com/posts/lovable-builder" rel="noopener noreferrer"&gt;Product Hunt launch&lt;/a&gt; and share your thoughts on bridging the gap between design and code.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.producthunt.com/posts/lovable-builder?embed=true&amp;amp;utm_source=badge-featured&amp;amp;utm_medium=badge&amp;amp;utm_souce=badge-lovable-builder" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fapi.producthunt.com%2Fwidgets%2Fembed-image%2Fv1%2Ffeatured.svg%3Fpost_id%3D794160%26theme%3Ddark%26t%3D1737371172107" alt="Lovable + Builder - Turn Figma designs into functional apps in Lovable.dev | Product Hunt" width="250" height="54"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Convert designs to full stack apps&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Lovable builds your front-end using &lt;strong&gt;React&lt;/strong&gt;, &lt;strong&gt;Tailwind&lt;/strong&gt;, and &lt;strong&gt;Vite&lt;/strong&gt;, and lets you build full stack apps (to store data, and build with third party backends) using &lt;strong&gt;Supabase&lt;/strong&gt;:&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Create a Lovable account&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Head over to &lt;a href="https://lovable.dev/" rel="noopener noreferrer"&gt;lovable.dev&lt;/a&gt; and create an account.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Launch the Visual Copilot Figma plugin&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252F19c1aa86f3ce4e03834b84f709aa2bb8%3Fwidth%3D400" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252F19c1aa86f3ce4e03834b84f709aa2bb8%3Fwidth%3D400" alt="plugin" width="400" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In Figma, load the project you want to turn into code. Open the Actions menu from the toolbar, then click the Plugins &amp;amp; widgets tab. Search for “Builder.io AI-powered Figma to Code” and run it.&lt;/p&gt;

&lt;p&gt;You can also &lt;a href="https://www.figma.com/community/plugin/747985167520967365" rel="noopener noreferrer"&gt;try the plugin&lt;/a&gt; from the Figma community page directly.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Export to code&lt;/strong&gt;
&lt;/h2&gt;



&lt;p&gt;Select the design you want to convert. You’ll see a preview in the plugin. If you’re satisfied with your selection, click the &lt;strong&gt;“Export to Code”&lt;/strong&gt; button. This starts the code generation process behind the scenes.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Connect to Builder.io&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;If you’re not logged in to &lt;a href="http://builder.io/" rel="noopener noreferrer"&gt;Builder.io&lt;/a&gt;, you’ll be prompted to connect your account first. Otherwise, the plugin will jump straight into its AI-powered code generation. It might take a minute or two to process your design. That’s normal—it’s building out the code, setting up file structures, and making sure everything is wired correctly.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;View the app in Lovable&lt;/strong&gt;
&lt;/h2&gt;



&lt;p&gt;When the process is complete, you’ll see a button to open the converted design in Lovable. Click it, and your app will open right in Lovable. You’ll see all the code generated from your Figma layers—tables, forms, even placeholder data in some cases.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Modify with Lovable&lt;/strong&gt;
&lt;/h2&gt;



&lt;p&gt;Now you’re in Lovable’s territory. If you want a table to pull in real data from Supabase, or you need a registration flow, just type what you want (“Hook this form up to my user database,” for instance), and Lovable will handle the rest.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Sync to GitHub&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;For seamless collaboration and hand-offs, connect Lovable to your GitHub account. This automatically syncs the code into your repository, supporting more advanced workflows where you need full version control and team collaboration.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Sync design changes to Lovable (coming soon)&lt;/strong&gt;
&lt;/h2&gt;



&lt;p&gt;Soon you'll be able to update your app in Lovable whenever designers make changes to their Figma designs. AI will handle merging the design changes while keeping all your custom code intact. A few clicks, and changes flow straight to production, no manual reconciliation needed.&lt;/p&gt;

&lt;p&gt;Want to be among the first to try this feature? &lt;a href="https://www.builder.io/design-sync-waitlist" rel="noopener noreferrer"&gt;Join our waitlist&lt;/a&gt; and we'll notify you as soon as it's ready.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Conclusion&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;By pairing &lt;strong&gt;Lovable&lt;/strong&gt; with &lt;strong&gt;Visual Copilot&lt;/strong&gt;, you’re removing the most repetitive parts of front-end development and giving yourself (or your team) a major head start. No more hunting down font sizes and margins in a Figma file, or troubleshooting CSS that doesn’t match the original design.&lt;/p&gt;

&lt;p&gt;Instead, you can generate working code in a few clicks, integrate it into Lovable, and immediately start adding real logic and data connections.&lt;/p&gt;

&lt;p&gt;It's a workflow that frees you to focus on building features that delight your users—and shipping complete, functional applications faster than ever.&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/v2RHAHFHsyc"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;If you enjoyed this post, you might also like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.builder.io/blog/devin-vs-cursor" rel="noopener noreferrer"&gt;$500 Devin vs $20 Cursor&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.builder.io/blog/windsurf-vs-cursor" rel="noopener noreferrer"&gt;Windsurf vs Cursor&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.builder.io/blog/train-ai" rel="noopener noreferrer"&gt;Training Your Own AI Model&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>figma</category>
      <category>webdev</category>
      <category>lovable</category>
      <category>design</category>
    </item>
    <item>
      <title>Windsurf vs Cursor: which is the better AI code editor?</title>
      <dc:creator>Steve Sewell</dc:creator>
      <pubDate>Wed, 18 Dec 2024 12:15:01 +0000</pubDate>
      <link>https://dev.to/builderio/windsurf-vs-cursor-which-is-the-better-ai-code-editor-3m7n</link>
      <guid>https://dev.to/builderio/windsurf-vs-cursor-which-is-the-better-ai-code-editor-3m7n</guid>
      <description>&lt;p&gt;Let's take a look at two popular AI-powered IDEs: &lt;a href="https://codeium.com/windsurf" rel="noopener noreferrer"&gt;Windsurf&lt;/a&gt; and &lt;a href="https://www.cursor.com/" rel="noopener noreferrer"&gt;Cursor&lt;/a&gt;. Both claim to accelerate your coding experience, but which one is better for you? I've deeply evaluated both, and here's what I've found.&lt;/p&gt;

&lt;p&gt;If you're a fan of the Cursor Composer's new agent mode like I am, where you can chat without first specifying some files for context and it can automatically generate and run shell commands for you, then you've got Windsurf’s Cascade to thank (they did it first).&lt;/p&gt;



&lt;p&gt;Cursor's new agent mode that can generate code across multiple files, run commands, and automatically figure out what context it needs (no need to manually add files explicitly).&lt;/p&gt;

&lt;p&gt;Windsurf generally has a cleaner UI compared to Cursor's. It feels like comparing an Apple product to a Microsoft one — those little details really make Windsurf feel more refined.&lt;/p&gt;



&lt;p&gt;Windsurf's Cascade feature — the original AI IDE agent that can automatically fill context, run commands, etc.&lt;/p&gt;

&lt;p&gt;And, Windsurf is cheaper. While it starts at $15/seat, compared to Cursor's $20/seat, I'll say the pricing isn’t as clear cut as Cursor’s.&lt;/p&gt;

&lt;p&gt;Things like &lt;em&gt;"model flow action credits"&lt;/em&gt; — whatever the heck that means — are part of the pricing model. So, hopefully you won't run out of those. Fortunately, I didn't.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252Fc582e10ac91d4ce78a4f5f1c82560547%3Fwidth%3D705" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252Fc582e10ac91d4ce78a4f5f1c82560547%3Fwidth%3D705" alt="pricing cursor" width="705" height="363"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252F2d9bf9d5b62b47d4a1b503882a90ca63%3Fwidth%3D705" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252F2d9bf9d5b62b47d4a1b503882a90ca63%3Fwidth%3D705" alt="pricing windsor" width="705" height="489"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Overall, it seems worth diving in to compare these products in more depth.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Standard features&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Both IDEs support the standard features you'd expect, like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;AI-driven auto-completions&lt;/li&gt;
&lt;li&gt;Chatting with your codebase&lt;/li&gt;
&lt;li&gt;Generating and updating multiple files at a time&lt;/li&gt;
&lt;li&gt;Inline editing of code with AI&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These have become the staple features of an AI-driven IDE, and both do a solid job at the fundamentals.&lt;br&gt;&lt;/p&gt;



&lt;h2&gt;
  
  
  &lt;strong&gt;They’re both Claude&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Both IDEs effectively have the same brain, as they're using Claude 3.5 Sonnet under the hood for the hard stuff.&lt;/p&gt;

&lt;p&gt;I've noticed that functionally, I don't see a major difference in the quality of code generations or updates by either of these IDEs.&lt;/p&gt;

&lt;p&gt;And I don't expect to — these are really just UIs on top of standard models.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252F9b2b1b27aaf74aa3961c47062e0ab85c%3Fwidth%3D400" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252F9b2b1b27aaf74aa3961c47062e0ab85c%3Fwidth%3D400" alt="A Scooby-Doo meme where Fred unmasks Windsurf and Cursor to reveal Claude 3.5 Sonnet." width="400" height="528"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;When people try to compare and say "this code generated better than that one," it's my belief that they're mostly comparing the randomness of Claude outputs.&lt;/p&gt;

&lt;p&gt;Both use smaller models for smaller edits and inline completions, but I similarly didn't find a major difference in the quality of one small model versus another.&lt;/p&gt;





&lt;h2&gt;
  
  
  &lt;strong&gt;Windsurf: simple and beginner-friendly&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Windsurf really seems to push to be a very simple, easy-to-use product that's beginner-friendly and pushes for high-level, simple interactions with your code:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The default chat mode is the Agentic mode.&lt;/li&gt;
&lt;li&gt;It indexes and pulls relevant code as needed.&lt;/li&gt;
&lt;li&gt;It will run commands for you.&lt;/li&gt;
&lt;li&gt;It won't clutter the UIs with buttons and code diffs everywhere.&lt;/li&gt;
&lt;li&gt;You need to click the &lt;strong&gt;Open Diff&lt;/strong&gt; button to see it in the full code pane.&lt;/li&gt;
&lt;/ul&gt;



&lt;p&gt;This creates for a much better it-just-works experience. There aren't 100 features to learn with lots of different modes and tabs and options and sub options.&lt;/p&gt;

&lt;p&gt;Just hop in, start writing what you want changed, and it'll change. It's easy, the UI is clean, and just overall feels really nice.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Cursor: More manual, more control&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Cursor leans towards more manual control:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The Composer mode always defaults to &lt;em&gt;normal&lt;/em&gt; (not &lt;em&gt;agentic&lt;/em&gt;).&lt;/li&gt;
&lt;li&gt;You need to choose what files you want to put in the context for it to generate.&lt;/li&gt;
&lt;li&gt;It always shows you inline code diffs.&lt;/li&gt;
&lt;li&gt;It seems to push the point that you should always be reviewing this code closely every time.&lt;/li&gt;
&lt;/ul&gt;



&lt;p&gt;In general, Cursor feels like more of a power tool with more precise control and handling.&lt;/p&gt;

&lt;p&gt;There is a steeper learning curve, and I find many people don't even know about Cursor's best features (unlike Windsurf), but once you learn it, you have every tool you need and more.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Windsurf keeps you better in the flow&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;One thing that Windsurf does by default that I &lt;em&gt;really&lt;/em&gt; like is the AI generations are written to disk before you approve them.&lt;/p&gt;

&lt;p&gt;That means you'll see the results right inside your dev server in real time. You can use that to also see if the generated UI is what you want, if the new code creates build errors, and so on —&lt;em&gt;before&lt;/em&gt; accepting them.&lt;/p&gt;



&lt;p&gt;If the updates still aren't quite right, you can chat again to continue to modify before you accept the changes entirely. And if you don't love the changes, even after some iteration, you can revert to a previous step or even discard everything in one go.&lt;/p&gt;

&lt;p&gt;Compare that to Cursor — you need to accept changes before you can actually get the results. Sometimes that means you make changes that end up looking horrible.&lt;/p&gt;

&lt;p&gt;Reverting them isn’t as easy, either. I need to figure out where a chat started (which sometimes could be midway through a long thread and hard to find), then manually revert to that prior state and time.&lt;/p&gt;



&lt;h2&gt;
  
  
  &lt;strong&gt;Cursor is deep with power features&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Where Cursor really shines is in a lot of its power features. For instance, Cursor supports multi-tabbing.&lt;/p&gt;

&lt;p&gt;If it detects that you made a change that would benefit from another change later in the code, you can just hit tab and tab again to keep applying those new changes.&lt;/p&gt;



&lt;p&gt;I find this very cool when it works, but it can be kind of clunky and confusing when the changes don’t apply in the right spots.&lt;/p&gt;

&lt;p&gt;Cursor generally takes a “kitchen sink” approach to AI in the IDE. &lt;em&gt;Everything&lt;/em&gt; has an AI button:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;See an error? There's a &lt;strong&gt;Fix with AI&lt;/strong&gt; button.&lt;/li&gt;
&lt;li&gt;Dropdown options? There's a &lt;strong&gt;Fix with AI&lt;/strong&gt; button.&lt;/li&gt;
&lt;li&gt;Error in the terminal? There's a &lt;strong&gt;Debug with AI&lt;/strong&gt; button.&lt;/li&gt;
&lt;li&gt;And so on...&lt;/li&gt;
&lt;/ul&gt;



&lt;p&gt;Clicking these generally opens the chat so you can go back and forth with the AI to fix the issue.&lt;/p&gt;

&lt;p&gt;I find these “kitchen sink” features useful, but they add clutter to the UI. For instance, I've had cases where these overlays are annoying and in the way, and I can't dismiss them when I need to.&lt;/p&gt;

&lt;p&gt;Having an AI in the terminal that's a keyboard shortcut away at any point is really helpful if you're like me and like to focus more on what your code needs, rather than remembering exact command names or arguments.&lt;/p&gt;



&lt;p&gt;One thing that annoys me, though, is how Cursor has specifically hijacked &lt;code&gt;Command+K&lt;/code&gt; for this, which means I can't use it to clear the terminal. It doesn’t seem like there’s a way to override that or turn it off.&lt;/p&gt;

&lt;p&gt;Both IDEs let you specify custom rules to inform their completions, but Cursor's support is a bit more robust and flexible. It includes the ability to have Notepads you can search for and include in your context as needed.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252Fd3a34a84e9244e489d55513d05480403%3Fwidth%3D705" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252Fd3a34a84e9244e489d55513d05480403%3Fwidth%3D705" alt=".cursorrules file" width="705" height="568"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Generally speaking, Cursor is way more robust at context management. Both IDEs let you tag certain files you want to include in the context, but Cursor lets you add:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Whole doc sets&lt;/li&gt;
&lt;li&gt;Specific pages from the web&lt;/li&gt;
&lt;li&gt;Specific git branches and commits&lt;/li&gt;
&lt;li&gt;Tagging &lt;code&gt;@web&lt;/code&gt; to do a web search&lt;/li&gt;
&lt;/ul&gt;



&lt;p&gt;One other really cool feature of Cursor is automatically generated commit messages with one click.&lt;/p&gt;

&lt;p&gt;Even better, it respects your &lt;code&gt;.cursorrules&lt;/code&gt; file. I found the default output to be more verbose than I like, so I added a note in my &lt;code&gt;.cursorrules&lt;/code&gt; to keep commit messages shorter and voilà, perfect.&lt;/p&gt;



&lt;p&gt;Another cool experimental feature of Cursor is the new bug finder.&lt;/p&gt;

&lt;p&gt;After looking past an aggressive error message and clicking a button that has its own usage-based pricing (so may cost a dollar or a few just for the click) it'll scan through all the code changes on your feature branch versus main and look for potential bugs in your updates.&lt;/p&gt;



&lt;p&gt;It's found some really useful bugs and saved me time having to find and fix them. For each bug it finds, it gives a confidence rating as well as an overview.&lt;/p&gt;

&lt;p&gt;When you choose to fix it in Composer, it will fill the details into the prompt and generate updates like you're used to.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;What's missing from both&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;The main thing I wish both products had was a more robust debugging loop. Something like what &lt;a href="https://www.builder.io/blog/devin-vs-cursor" rel="noopener noreferrer"&gt;Devin promises&lt;/a&gt; (and sometimes can achieve), but right here in the IDE.&lt;/p&gt;



&lt;p&gt;Both Windsurf and Cursor claim they have agents, but I am not sure if what they offer are truly agents.&lt;/p&gt;

&lt;p&gt;I'm used to the idea of an agent being something that can try something, evaluate it, and repeat until it verifies that the result is correct. Which neither of them actually do. They only generate code, and if you've got bugs, it's your responsibility to go in and fix them.&lt;/p&gt;

&lt;p&gt;Fortunately though, unlike the &lt;a href="https://zed.dev/" rel="noopener noreferrer"&gt;Zed editor&lt;/a&gt;, Windsurf and Cursor are forks of VS Code. This means you have access to the massive VS Code extension marketplace.&lt;/p&gt;

&lt;p&gt;One extension available is Cline, which works great with either of these IDEs. Cline is more of an agent than Cursor or Windsurf have as it can take a series of steps, evaluate the result, fix its own issues, and continue.&lt;/p&gt;



&lt;p&gt;Cline is surprisingly smart in some cases, like being able to run commands to validate its own correctness, open a browser to inspect what your dev server rendered, and so on. It's not perfect, but it's a solid step in the direction that I hope both Cursor and Windsurf ultimately go with their agents.&lt;/p&gt;

&lt;h2&gt;
  
  
  My favorite workflow
&lt;/h2&gt;

&lt;p&gt;Speaking of compatibility with other tools, let's check out how you can turn a Figma design to code through Cursor or Windsurf and use AI to bring the design to life.&lt;/p&gt;

&lt;p&gt;All you have to do is launch the &lt;a href="https://www.figma.com/community/plugin/747985167520967365" rel="noopener noreferrer"&gt;Builder.io Figma plugin&lt;/a&gt;, select the element or frame you want to convert, click &lt;strong&gt;Generate&lt;/strong&gt;, and copy the resulting command and paste it into the Cursor or Windsurf terminal.&lt;/p&gt;

&lt;p&gt;Builder.io will generate pixel-perfect code from the design, even reusing your existing components just like you would.&lt;/p&gt;



&lt;p&gt;Now that you have the markup I need, you can hop into Cascade or Cursor composer and prompt them to add whatever functionality you need like data, interactivity, and business logic, to name a few.&lt;/p&gt;

&lt;p&gt;This is the end-to-end workflow I typically use: grab the design, have the AI add the logic, auto-generate a commit message, and fire up a PR. It truly feels like magic.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;So, which should you use?&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Honestly, I don't think you can go wrong with either Windsurf or Cursor.&lt;/p&gt;

&lt;p&gt;Both are fantastic IDEs that support AI-driven auto-completion, inline editing, multi-file editing, chatting with your codebase, and agentic workflows where they can read and write to multiple files based on what you ask.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252Fd7d967400edb45b7a95e001fd25becf1%3Fwidth%3D705" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252Fd7d967400edb45b7a95e001fd25becf1%3Fwidth%3D705" alt="Comparison of the features both Windsurf and Cursor have" width="705" height="458"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;While I find Windsurf to be a little simpler, a little more intuitive, and with a slightly nicer and more polished UI, Cursor is just loaded with power features.&lt;/p&gt;

&lt;p&gt;All those buttons everywhere can add clutter, but I find it hard to let go of some of these features I just love. I love typing &lt;code&gt;Command+K&lt;/code&gt; in my terminal to generate commands when I forget what I need, I love the auto generated commit messages, and I even sometimes love using the multi-tabbing (when it works).&lt;/p&gt;

&lt;p&gt;And while I'll suffer through some glitches in the UI, for a professional development tool, it's my personal preference.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252F500cd4ffdb8e473dad0f8deda6a3e152%3Fwidth%3D705" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252F500cd4ffdb8e473dad0f8deda6a3e152%3Fwidth%3D705" alt="Windsurf has a simpler UI, but Cursor has more power features" width="705" height="452"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;For a more beginner developer, or someone who really prefers UI polish, Windsurf is probably a better go-to. It also has a lower starting point, and if you're coming off a tool like &lt;a href="https://bolt.new/" rel="noopener noreferrer"&gt;Bolt.new&lt;/a&gt;, Windsurf will feel a lot more like what you're used to.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252F5a11c6f2d9ad4f809e3a1fa357cebc07%3Fwidth%3D705" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252F5a11c6f2d9ad4f809e3a1fa357cebc07%3Fwidth%3D705" alt="Windsurf is best for beginners, and Cursor is best for power users" width="705" height="320"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;But that's just what I think. What do you think?&lt;/p&gt;

&lt;p&gt;We've launched a &lt;a href="https://stateofai.tools/" rel="noopener noreferrer"&gt;State of AI Tools&lt;/a&gt; survey for you to share what tools you find work best for you. Fill out the survey to receive the results once ready.&lt;/p&gt;



&lt;p&gt;PS: I made that site with Cursor + Windsurf :)&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/9jgR-Ih_wGs"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>ai</category>
      <category>tooling</category>
      <category>windsurf</category>
    </item>
    <item>
      <title>Devin review: is it a better AI coding agent than Cursor?</title>
      <dc:creator>Steve Sewell</dc:creator>
      <pubDate>Wed, 11 Dec 2024 20:42:26 +0000</pubDate>
      <link>https://dev.to/builderio/devin-review-is-it-a-better-ai-coding-agent-than-cursor-d6p</link>
      <guid>https://dev.to/builderio/devin-review-is-it-a-better-ai-coding-agent-than-cursor-d6p</guid>
      <description>&lt;p&gt;I paid the $500 a month to use &lt;a href="https://devin.ai/" rel="noopener noreferrer"&gt;Devin&lt;/a&gt;, the AI coding agent, so you don't have to. Let's compare it to Cursor agents and see if it's worth the $2 billion valuation of their company.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is Devin?
&lt;/h2&gt;

&lt;p&gt;The main thing to know about Devin is it's primarily a Slack-based workflow — it's not an IDE.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252F30df82ede2bc4b1db6385a2bbbf181c2%3Fwidth%3D705" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252F30df82ede2bc4b1db6385a2bbbf181c2%3Fwidth%3D705" alt="Screenshot of me asking Devin to do something" width="705" height="341"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You tag Devin in Slack and ask Devin to update something, fix something, et cetera. Devin includes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A remote server&lt;/li&gt;
&lt;li&gt;Browser interface&lt;/li&gt;
&lt;li&gt;VS Code editing interface&lt;/li&gt;
&lt;li&gt;A planner&lt;/li&gt;
&lt;li&gt;A chat interface&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You can follow along step-by-step to see what Devin did and what it's doing.&lt;/p&gt;



&lt;h2&gt;
  
  
  Testing Devin with an image generation model
&lt;/h2&gt;

&lt;p&gt;I heard about this new &lt;a href="https://github.com/ChenDarYen/NitroFusion" rel="noopener noreferrer"&gt;image generation model&lt;/a&gt; that's supposed to be small enough to run on consumer-grade hardware.&lt;/p&gt;

&lt;p&gt;I was hoping for a basic web UI, but then I found all of this and realized I don't code in Python. I didn't know what to do with this, so I asked Devin.&lt;/p&gt;

&lt;p&gt;Devin went to work and in the course of about 12 minutes it:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Cloned the repo&lt;/li&gt;
&lt;li&gt;Got it spun up&lt;/li&gt;
&lt;li&gt;Generated an image of a cat for me&lt;/li&gt;
&lt;li&gt;Attached the image back to me&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;I then asked for four more images of a dog riding in a hot air balloon. And I got my images in full, terrifying quality.&lt;/p&gt;

&lt;p&gt;Now that's not Devin's fault, of course; that's the model we're using.&lt;/p&gt;



&lt;h2&gt;
  
  
  Asking Devin to create a web UI
&lt;/h2&gt;

&lt;p&gt;I saw one of the todos on this repo is to create a local, real-time interactive app.&lt;/p&gt;

&lt;p&gt;So I asked Devin if he could clone this repo and add a web-based UI to type prompts and see images. Devin began spinning things up and sending me updates.&lt;/p&gt;

&lt;p&gt;One really interesting thing Devin does is it takes notes and stores them in a notes.txt file to refer back to and use in subsequent prompts.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252Ff3f9e1380c204d568c6923ad67ebd9b9%3Fwidth%3D705" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252Ff3f9e1380c204d568c6923ad67ebd9b9%3Fwidth%3D705" alt="Screenshot of Devin's notes.txt file" width="705" height="379"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This seems like an interesting technique to summarize information that's important and carry it across subsequent steps.&lt;/p&gt;

&lt;p&gt;Devin will also sometimes create knowledge entries, which are like bits of information that could be useful to refer back to in totally subsequent runs.&lt;/p&gt;

&lt;p&gt;It'll store these and look them up when needed, which is supposed to emulate the tribal knowledge that exists within a team.&lt;/p&gt;

&lt;p&gt;Devin was in fact able to add the web UI I asked for, but we hit other issues. More on that in a moment.&lt;/p&gt;

&lt;h2&gt;
  
  
  Devin's capabilities and limitations
&lt;/h2&gt;

&lt;p&gt;Overall, Devin's pretty impressive. It:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Creates plans&lt;/li&gt;
&lt;li&gt;Writes code&lt;/li&gt;
&lt;li&gt;Finds bugs in the code&lt;/li&gt;
&lt;li&gt;Corrects the code&lt;/li&gt;
&lt;li&gt;Runs its own end-to-end tests to verify it works&lt;/li&gt;
&lt;li&gt;Responds to your feedback if you find issues and attempts to address them&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Anything you reply in Slack, Devin will start working on a reply to. In this case, it was able to verify we're hitting deployment issues.&lt;/p&gt;

&lt;p&gt;I kept working on debugging it, but unfortunately, after a lot of back and forth, it still never was able to solve it. Eventually, I gave up because I was sick of trying.&lt;/p&gt;

&lt;p&gt;Personally, slack thread hell is not my favorite method of developing/debugging:&lt;/p&gt;



&lt;p&gt;I prefer not to be demoted to the “any updates?” guy.&lt;/p&gt;

&lt;p&gt;Finally, I asked if I could just pull this code down locally and run it locally. It gave me instructions, but they weren't valid because it didn't actually send this code in a pull request.&lt;/p&gt;

&lt;h2&gt;
  
  
  Devin's pull request capabilities
&lt;/h2&gt;

&lt;p&gt;That's not to say that Devin can't do a pull request. One of my very first runs of Devin was to add a feature to a weather app.&lt;/p&gt;

&lt;p&gt;It was able to add the feature I wanted as well as respond to my feedback that I wanted it to look more like iOS styling.&lt;/p&gt;

&lt;p&gt;The final pull request was not bad. It added two packages, and the code was pretty good, but there was a console log in the code.&lt;/p&gt;



&lt;p&gt;It also forgot to uninstall a package that it no longer needed after my feedback. But we can go in and just leave comments, like a normal person, to remove this log and&lt;span&gt; that this package is no longer needed.&lt;/span&gt;&lt;/p&gt;



&lt;p&gt;One cool thing Devin did when we were going back and forth on what the UI of this weather app update should be is it actually generated a deployment with a preview URL without me asking.&lt;/p&gt;

&lt;p&gt;So when I type in a city, I can see that the feature I wanted has an iOS style like I asked. Even though I actually don't have a deploy preview set up on this repo, it deployed a version for me to see anyway.&lt;/p&gt;



&lt;p&gt;When it learned I want an iOS style for this app, it proposed this to save in the knowledge. I can review and approve it, and it'll remember that during subsequent runs.&lt;/p&gt;



&lt;p&gt;For some reason though, I couldn't get Devin to reply to my feedback this time, even though I've seen it do it before. I don't know what went wrong.&lt;/p&gt;

&lt;p&gt;In general, I hit a few bugs along the way while using Devin, but nothing super crazy that I couldn't &lt;em&gt;usually&lt;/em&gt; work around.&lt;/p&gt;

&lt;h2&gt;
  
  
  Fixing bugs with Devin
&lt;/h2&gt;

&lt;p&gt;A separate task I asked of Devin was to fix a bug in our existing website. After about 12 minutes, it spun up a PR with a fix, finding the necessary boolean and updating it from true to false.&lt;/p&gt;



&lt;p&gt;But then it updated some other stuff I didn't expect:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Added a &lt;code&gt;fallback: true&lt;/code&gt; in &lt;code&gt;getStaticPaths&lt;/code&gt;, even though &lt;code&gt;getBuilderStaticPaths&lt;/code&gt; already sets fallback to &lt;code&gt;'blocking'&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Removed a check, even though we already turned that value to false&lt;/li&gt;
&lt;li&gt;Added a type declaration that I know firsthand isn't needed&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The cool part is I asked in the PR why it did this, and Devin added the eyes emoji to tell me it sees this. Then it explained itself.&lt;/p&gt;

&lt;p&gt;I'll be honest, I was kind of hoping it would fix those things. But it did provide a thorough explanation. It just wasn't a good one. Most of this information is not actually true.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252F8f6a54d4ac4d4e578e1919e1d4093ffc%3Fwidth%3D705" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252F8f6a54d4ac4d4e578e1919e1d4093ffc%3Fwidth%3D705" alt="Screenshot of Devin's reply" width="705" height="368"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Fallback true does not enable client-side navigation or enable &lt;a href="https://www.builder.io/" rel="noopener noreferrer"&gt;Builder.io&lt;/a&gt;'s preview system. Fallback blocking, which was already used, is our preference. Also, the tabler icons react type definition is just not needed. It's included in the package.&lt;/p&gt;

&lt;p&gt;It made some weird comment that these components are part of the client-side navigation system, whatever that means. But the nice part is I can talk to Devin like a human, leave a comment, and it can make updates accordingly.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252Fc51de45da4fd4049ab859ccb9c91de2f%3Fwidth%3D705" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252Fc51de45da4fd4049ab859ccb9c91de2f%3Fwidth%3D705" alt="Screenshot of me requesting changes" width="705" height="344"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Adding a backend feature
&lt;/h2&gt;

&lt;p&gt;The last thing I asked Devin to do is implement a backend feature. I said to add to our GraphQL admin API the ability to read and write from the comments collection.&lt;/p&gt;

&lt;p&gt;Devin created a PR that was decent. It added this reflect metadata package that I don't think is needed (we haven't needed it to date).&lt;/p&gt;

&lt;p&gt;But most importantly, it did recognize we use this resolver structure. It created a comments resolver and added it.&lt;/p&gt;



&lt;p&gt;This code actually looks pretty typical of how we've written this on the backend. Now it did make up a couple of fields that would have been nice to ask me what the schema is. But otherwise, I'd say this is decent code.&lt;/p&gt;

&lt;h2&gt;
  
  
  Workflow issues with Devin
&lt;/h2&gt;

&lt;p&gt;Overall, I'd say the biggest problem I have with Devin is this is just not my preferred workflow. I don't want to make an ask and wait 15 minutes for a pull request, and then have this back and forth on the pull request and/or Slack.&lt;/p&gt;

&lt;p&gt;I much prefer Cursor's workflow where I have all of this right in my local environment and IDE. I can see the updates in real-time and can commit and debug locally, without jumping to some remote server and other set of tools I don't know, and having all these long waits and delays that are just unfamiliar and unproductive.&lt;/p&gt;

&lt;p&gt;I get that the idea of Devin is to set some asynchronous agent coworkers off at a task and let them do lots of things in parallel and just come to you with results.&lt;/p&gt;

&lt;p&gt;But that really isn't a great workflow until Devins are a lot better. I don't want the AI to just go off and do its thing and come back only when it's done, unless I have high confidence it's going to be really, really reliable at that.&lt;/p&gt;

&lt;p&gt;Otherwise, I'd prefer my IDE just do it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Comparing with Cursor agents
&lt;/h2&gt;

&lt;p&gt;Let's compare some of the same tasks with Cursor's new agent features.&lt;/p&gt;

&lt;h3&gt;
  
  
  Context handling
&lt;/h3&gt;

&lt;p&gt;The big difference between Cursor agents and the standard Cursor composer view is you don't have to manually add files to the context. Cursor will scan your codebase and find the relevant files and add them for you.&lt;/p&gt;

&lt;p&gt;Cursor was able to find this no client-side routing variable and flip it to false. If I accept the updates, we can see it did exactly what we wanted. One basic minimal diff.&lt;/p&gt;



&lt;h3&gt;
  
  
  User control and feedback
&lt;/h3&gt;

&lt;p&gt;Cursor's not always perfect, but the part I like most is I'm in control and in the driver's seat. If I want something different, I could also say, just delete that variable and all references altogether. And I could see the update immediately. There's less waiting and more action.&lt;/p&gt;



&lt;p&gt;While I'm more closely in the loop, I have more trust with this process. Because I know what I want, and if it can scan my code, update multiple files and not make me have to worry about the details, I can provide real-time feedback and hand modifications and send the pull request my way.&lt;/p&gt;

&lt;p&gt;That's a much easier to adopt workflow for me and my team.&lt;/p&gt;

&lt;h3&gt;
  
  
  Ownership clarity
&lt;/h3&gt;

&lt;p&gt;With Cursor it's also more clear who owns the pull request: it's me. I find this process faster, easier, and nicer. We don't have weird bots creating pull requests where it's unclear who actually owns that and is responsible for making sure the code is good.&lt;/p&gt;

&lt;p&gt;Nobody has to clone down that bot's PR and push updates to it. And every update happens pretty quickly.&lt;/p&gt;

&lt;h3&gt;
  
  
  GraphQL example
&lt;/h3&gt;

&lt;p&gt;I also tried the GraphQL prompt with our very large internal repo in Cursor agent mode as well. And I got very similar results. It:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Added the comments resolver&lt;/li&gt;
&lt;li&gt;Integrated it into the API&lt;/li&gt;
&lt;li&gt;Added the types as well&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So pretty similar results to what you'd expect with Cursor's composer view. But again, because of the agent mode, I didn't have to specify files. I just typed my prompt and it happened. That was nice.&lt;/p&gt;



&lt;h3&gt;
  
  
  Image generator repo clone
&lt;/h3&gt;

&lt;p&gt;Now let's try a more agentic workflow where we have it clone this image generator model repo. You'll see the main difference between Cursor agents and Devin is it asked me before it runs commands.&lt;/p&gt;

&lt;p&gt;Cursor is generally more cautious than Devin, which is nice because it's running on my local machine. But also sometimes I wish it would just run this stuff for me.&lt;/p&gt;



&lt;p&gt;I've noticed if it catches an error, it'll automatically try to fix it, which I've seen it be successful at, which is great. Now it's written the code, which I'll accept. It found an error and it's rewriting the command accordingly.&lt;/p&gt;

&lt;p&gt;Unfortunately, my computer froze before I could show you if Cursor was able to finish that task. It looked to me like it was generating the image fine, but it turns out that model is meant for having a real GPU and not burning through my laptop CPU like I was trying to do.&lt;/p&gt;

&lt;h2&gt;
  
  
  The results
&lt;/h2&gt;

&lt;p&gt;Overall, I don't think Devin will take off like Cursor. And it's not just because of the $500 a month starting point. Cursor is so much easier to adopt and I like their incremental approach.&lt;/p&gt;

&lt;p&gt;Devin, I fear, is trying to jump too far. They've raised all this money saying there's this all-new way to build software with agents, but it just wasn't my preferred workflow.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252Fbfaa4f0b45874a67881e9d1b73d74d60%3Fwidth%3D705" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252Fbfaa4f0b45874a67881e9d1b73d74d60%3Fwidth%3D705" alt="Devin vs Cursor pros/cons list" width="705" height="434"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Maybe one day when LLMs are even better and agents are extremely reliable. But I'm not sure the rate of progress will get us there really soon. And I personally believe more in Cursor's incremental approach than Devin's "let's change everything" approach.&lt;/p&gt;

&lt;h2&gt;
  
  
  My preferred AI stack
&lt;/h2&gt;

&lt;p&gt;My preferred workflow looks more like this:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;A developer works iteratively with Cursor&lt;/li&gt;
&lt;li&gt;Other teammates like designers iterate with their tools&lt;/li&gt;
&lt;li&gt;Products like &lt;a href="https://www.builder.io/" rel="noopener noreferrer"&gt;builder.io&lt;/a&gt; can convert designs to code and also patch in design updates as they're needed&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252F706fed109d0c48b68b87fd0278e07f85%3Fwidth%3D705" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252F706fed109d0c48b68b87fd0278e07f85%3Fwidth%3D705" alt="Diagram of my preferred AI stack" width="705" height="506"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Ultimately your workflow doesn't change much. You're still coding and debugging locally. You're pushing changes as needed.&lt;/p&gt;

&lt;p&gt;But I will say that I'm excited to have a new player in the agent coding space to push Cursor even further. And I can't wait to see what comes out from the result of this.&lt;/p&gt;

&lt;p&gt;But that's my quick take. From everything you saw, what do you think? Let me know in the comments. And if you made it to the end and you want to see more videos like this, be sure to like and subscribe.&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/oU3H581uCsA"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

</description>
      <category>cursor</category>
      <category>ai</category>
      <category>productivity</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Is OpenAI's o1 model a breakthrough or a bust?</title>
      <dc:creator>Steve Sewell</dc:creator>
      <pubDate>Tue, 10 Dec 2024 13:20:47 +0000</pubDate>
      <link>https://dev.to/builderio/is-openais-o1-model-a-breakthrough-or-a-bust-3kii</link>
      <guid>https://dev.to/builderio/is-openais-o1-model-a-breakthrough-or-a-bust-3kii</guid>
      <description>&lt;p&gt;OpenAI's latest model, o1, isn't getting nearly as much buzz as its predecessors GPT-3 and GPT-4. Let's dive into why that is and what it means for the future of AI.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;AI progress is slowing down&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Let's start with a real-world example. Here's a comparison between o1 and Claude converting a Figma design into code via &lt;a href="https://www.builder.io/" rel="noopener noreferrer"&gt;Builder.io&lt;/a&gt;:&lt;/p&gt;



&lt;p&gt;&lt;em&gt;See full clip and details below&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;As you can see, o1 is significantly slower. It's also more expensive, and only sometimes better.&lt;/p&gt;

&lt;p&gt;So why is OpenAI investing so heavily in o1? It all comes down to this:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252Fdd9a4c7494884b2b9d2d59729d760dad%3Fwidth%3D705" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252Fdd9a4c7494884b2b9d2d59729d760dad%3Fwidth%3D705" alt="a graph modeling the timeline of various AI models releases and their capabilities" width="705" height="397"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Source: &lt;a href="https://x.com/alexalbert__/status/1803837844798189580" rel="noopener noreferrer"&gt;Alex Albert&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Each new large language model (LLM) that comes out seems to be only incrementally better than the last. In fact, it's expected that OpenA/I's latest model, Orion, &lt;a href="https://www.techradar.com/computing/artificial-intelligence/openais-next-gen-orion-model-is-hitting-a-serious-bottleneck-according-to-a-new-report-heres-why" rel="noopener noreferrer"&gt;i&lt;span&gt;sn't even always better than GPT-4&lt;/span&gt;&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Why? &lt;span&gt;We're simply running out of data to train on.&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252Fb44cd7092e934103bc71f616d2a66609%3Fwidth%3D705" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252Fb44cd7092e934103bc71f616d2a66609%3Fwidth%3D705" alt="LLM's are already trained on the data we have available" width="705" height="422"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Source: &lt;a href="https://arxiv.org/pdf/2211.04325" rel="noopener noreferrer"&gt;Will we run out of data? Limits of LLM scaling based on human-generated data&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;The need for speed&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;If we're hitting limits on how smart we can make AI models, what's the next move? Making them faster.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252Ffdb6754552124d3381ed997095f08a47%3Fwidth%3D705" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252Ffdb6754552124d3381ed997095f08a47%3Fwidth%3D705" alt="logos of Microsoft, OpenAI, Google, Nvidia, AMD, and Amazon" width="705" height="461"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;AI players are investing in specialized hardware to speed up inference and lower costs. They're building their own data centers and even looking into nuclear power for more sustainable, cheaper energy.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252F0192896a7a384fe7bb95f2f272c1183e%3Fwidth%3D705" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252F0192896a7a384fe7bb95f2f272c1183e%3Fwidth%3D705" alt="Groq and Cerebras are accelerating GPU performance" width="705" height="442"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Companies like Groq and Cerebras have seen up to 10x performance increases with LLM-optimized hardware. This isn't just theoretical - Amazon's &lt;a href="https://www.aboutamazon.com/news/aws/amazon-nova-ai-canvas-reel-aws-reinvent" rel="noopener noreferrer"&gt;already released their new chips&lt;/a&gt;, and &lt;a href="https://www.cnbc.com/2024/12/03/apple-says-it-uses-amazons-custom-ai-chips-.html" rel="noopener noreferrer"&gt;Apple is planning to use them&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Faster inference could open up new workflows that weren't feasible before due to long wait times and poor user experience.&lt;/p&gt;



&lt;h2&gt;
  
  
  &lt;strong&gt;The Smartness vs Speed trade-off&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;But here's the million-dollar question: does being faster matter if AI can't get any smarter? Or to put it another way:&lt;/p&gt;

&lt;p&gt;If the way we train models today isn't getting better, if AI is plateauing on intelligence, can we use increased speed and decreased cost to find another path to smarter AI outputs?&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252F8756313b0c0546ebbf7c581e7d997e8f%3Fwidth%3D705" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252F8756313b0c0546ebbf7c581e7d997e8f%3Fwidth%3D705" alt="does faster equal smarter?" width="705" height="312"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The answer might surprise you.&lt;/p&gt;

&lt;p&gt;Let's borrow a concept from Daniel Kahneman. He talks about two systems of thinking:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;System 1: Fast, automatic thinking. Like knowing 3 + 4 = 7 without having to calculate it.&lt;/li&gt;
&lt;li&gt;System 2: Slower, more deliberate thinking. Like solving a complex math problem step by step.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252Ff51e5b362afc4d52bcb7b35599ad7e89%3Fwidth%3D548" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252Ff51e5b362afc4d52bcb7b35599ad7e89%3Fwidth%3D548" alt="three plus four equals what?" width="548" height="251"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;System 1 thinking is automatic.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252Fc2024d1683d5477ab00526dfe0f62ff2%3Fwidth%3D548" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252Fc2024d1683d5477ab00526dfe0f62ff2%3Fwidth%3D548" alt="thirty nine plus fourty eight equals what?" width="548" height="236"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;System 2 thinking requires taking things step-by-step.&lt;/p&gt;

&lt;p&gt;&lt;span&gt;Using System 2 thinking is used to break down complicated problems into simpler steps. &lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span&gt;For example, you likely don’t have the answer to 39 + 48 memorized the same way as you know the answer to 3 + 4. &lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span&gt;Instead, you’d need to break the more complicated question down into steps like this:&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252Fade3895d41404694b50b4dcaede4f0ed%3Fwidth%3D705" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252Fade3895d41404694b50b4dcaede4f0ed%3Fwidth%3D705" alt="breaking down 39 + 48 into steps to solve it, equaling 87" width="705" height="574"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Current LLMs work a lot like System 1 thinking. They give you an answer fast, but as complexity increases, accuracy can suffer.&lt;/p&gt;

&lt;p&gt;O1, on the other hand, is more like System 2 thinking. It breaks down complex problems into smaller, manageable steps. This approach can help with one of LLMs' biggest weaknesses: hallucinations.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252F7d4dc8c5f93348d4b45ff26a4c4224e9%3Fwidth%3D705" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252F7d4dc8c5f93348d4b45ff26a4c4224e9%3Fwidth%3D705" alt="o1 breaking down a math problem into steps to correctly solve for 892 + 847, which equals 1739" width="705" height="575"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;For example, if you ask o1 how many Rs are in "strawberry", it might first guess incorrectly. But then it'll go through the word letter by letter, count the Rs, and give you the right answer.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252F84dccd12ec8a4626b69037d94b20e78f%3Fwidth%3D705" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252F84dccd12ec8a4626b69037d94b20e78f%3Fwidth%3D705" alt="o1 regurgitating the wrong number of " width="705" height="537"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This step-by-step approach isn't entirely novel. Chain-of-thought techniques have been around for a while.&lt;/p&gt;

&lt;p&gt;In fact, open-source models, like the QwQ model from Alibaba, are already beginning to use this approach with similar performance. What's new is training a model to use this approach specifically.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252F3497797c65d147529e4fc7e765866b4e%3Fwidth%3D705" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252F3497797c65d147529e4fc7e765866b4e%3Fwidth%3D705" alt="Alibaba's QwQ model has already caught up  in using chain-of-thought techniques, and is performing similarly to OpenAI and Claude." width="705" height="495"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Source: &lt;a href="https://www.alibabacloud.com/blog/alibaba-cloud-unveils-open-source-ai-reasoning-model-qwq-and-new-image-editing-tool_601813" rel="noopener noreferrer"&gt;Alibaba&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;As speeds increase and costs decrease, we might be able to afford this extra time to get better answers without hurting the user experience.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;The downsides of o1&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;The problem is, o1 doesn't always give a better answer to every type of problem. But it is always more expensive and slower.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252Fac203f4658894158849449edaaad3a2b%3Fwidth%3D705" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252Fac203f4658894158849449edaaad3a2b%3Fwidth%3D705" alt="o1 is not the best model at solving coding problems" width="705" height="478"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Source: &lt;a href="https://aider.chat/docs/leaderboards/" rel="noopener noreferrer"&gt;Aider LLM Leaderhboards&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Currently, o1 Preview costs four times more per token than Claude Sonnet. It also outputs 2-10 times more tokens because of all the "thinking" it does.&lt;/p&gt;

&lt;p&gt;This means an o1 output could cost up to 40 times more than Sonnet - and it's not always better.&lt;/p&gt;

&lt;p&gt;The slowness is a big issue too. You often don't see any results from o1 for 10, 20, 30 seconds or more. That's a much worse user experience.&lt;/p&gt;



&lt;p&gt;&lt;em&gt;Conversion above done with &lt;a href="https://www.builder.io" rel="noopener noreferrer"&gt;Builder.io&lt;/a&gt;&lt;/em&gt; using claude-3-5-sonnet-20241022 and o1-preview-2024-09-12 (latest API-accessible model versions). I hand checked the results on ChatGPT with the latest o1 and didn't see any major differences in speed or accuracy.﻿&lt;/p&gt;

&lt;p&gt;The product in the video above costs $20 per month now. If the o1 model costs up to 40 times more, it doesn’t seem worth it to pay $800 a month for an offering that is slower and only marginally better, if at all.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252Fb3d8a26d6e4f4a7c96468292df368976%3Fwidth%3D705" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252Fb3d8a26d6e4f4a7c96468292df368976%3Fwidth%3D705" alt="something that is 40 times more expensive than a product that costs 20 dollars a month will cost 800 dollars a month" width="705" height="634"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;The potential of AI agents&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;So why is this still interesting? AI agents.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252Fcb194b68dc174cf498732467be5a7239%3Fwidth%3D705" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252Fcb194b68dc174cf498732467be5a7239%3Fwidth%3D705" alt="a picture of Agent Smith from " width="705" height="655"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We want to use AI to complete a series of tasks without constant human supervision.&lt;/p&gt;

&lt;p&gt;For that to work, AI needs to be better at breaking things down and completing tasks step by step. It also needs to have a lower failure rate and catch its own mistakes sooner.&lt;/p&gt;

&lt;p&gt;Traditional LLMs are great at completing the next word in a sentence, but they weren't trained to break down and execute tasks.&lt;/p&gt;

&lt;p&gt;For instance, Claude’s computer use today only has a 15% success rate at accomplishing real-world tasks. O1 is showing us what happens when we do train for that.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252F1cc3b93a93c7466c8b5d0c670b8fc912%3Fwidth%3D705" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252F1cc3b93a93c7466c8b5d0c670b8fc912%3Fwidth%3D705" alt="Claude 3.5 Sonnet scored a 14.9% success rate in its ability to solve real world problems " width="705" height="466"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Source:&lt;/em&gt; &lt;a href="https://www.anthropic.com/news/3-5-models-and-computer-use" rel="noopener noreferrer"&gt;&lt;em&gt;Anthropic&lt;/em&gt;&lt;span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;The big questions&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;How much better can this get with novel training methods? Will this lead to new breakthroughs, or are we heading for an AI bubble burst?&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252Fee62c57081a844ee9d57d6e0b795b96d%3Fwidth%3D705" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252Fee62c57081a844ee9d57d6e0b795b96d%3Fwidth%3D705" alt="a graph of the rug pull from the Hawk Tuah cryptocurrency" width="705" height="528"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The average person's life hasn't changed much despite all the AI hype. If AI models aren't getting that much better, and these new techniques don't lead to major breakthroughs, some of the hype might start to cool off.&lt;/p&gt;

&lt;p&gt;And you know what? That might not be the worst thing.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252F47c95221eb474785aca30e66b544ffdf%3Fwidth%3D705" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252F47c95221eb474785aca30e66b544ffdf%3Fwidth%3D705" alt="Software hype cycle chart with " width="705" height="448"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Lessons from the dot-com bubble&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;As the dot-com bubble peaked in 2000, people invested in the web as if its major challenges had already been solved. There was widespread excitement about the web's potential for explosive growth and profitability.&lt;/p&gt;

&lt;p&gt;However, that excitement deflated when companies burned through hundreds of millions of venture capital and failed to become profitable. Only a few companies survived, and they now serve as models for how online businesses can succeed.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252F380c132deb154834a1eea1f9bdf22abd%3Fwidth%3D705" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252F380c132deb154834a1eea1f9bdf22abd%3Fwidth%3D705" alt="four companies and their establishment years, being google in 1998, ebay in 1995, amazon in 1994, and paypal in 1998" width="705" height="506"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Today, we're seeing a similar pattern with AI—growing excitement and venture capital flowing freely. The enthusiasm mirrors what we saw during the dot-com bubble's growth.&lt;/p&gt;

&lt;p&gt;But there will be hard problems. Progress will come in S-curves. While AI could solve an immense number of problems, it might not happen today. Some AI applications might not be effective enough for mass adoption for another decade.&lt;/p&gt;

&lt;p&gt;Remember Webvan and Pets.com? They were viable internet businesses - just 10 years too early.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252F59566fdfef084f3fbb8d5582b20a045c%3Fwidth%3D705" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252F59566fdfef084f3fbb8d5582b20a045c%3Fwidth%3D705" alt="webvan became instacart in 2012, and pets.com became chewy in 2011" width="705" height="543"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Before you hit me with the "but this time it's different, man" – don't forget that that's what people say every time.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;What's working now&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;While the future is uncertain, some AI use cases are already working well:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;AI chat assistants for brainstorming, researching, writing, and editing&lt;/li&gt;
&lt;li&gt;AI-assisted coding, whether through specialized IDEs, Copilot, full application builders, or tools that convert designs into high-quality code&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;These categories are seeing major adoption with generally happy users.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252F127ab975cc6145a7925f62ab0e64362e%3Fwidth%3D705" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252F127ab975cc6145a7925f62ab0e64362e%3Fwidth%3D705" alt="a list of AI products and their primary uses" width="705" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;The bottom line&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Maybe AI agents will change everything as soon as next year. Or maybe it'll take longer. We just don't know yet.&lt;/p&gt;

&lt;p&gt;What we do know is that some AI applications are already proving their worth. Those are the ones I'm watching closely, and I'm excited to see what comes next.&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/tFRfxvg0yPM"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

</description>
      <category>ai</category>
      <category>webdev</category>
      <category>productivity</category>
      <category>openai</category>
    </item>
    <item>
      <title>Solved: Why ChatGPT Won't Say "Brian Hood" (Blame Regexes)</title>
      <dc:creator>Steve Sewell</dc:creator>
      <pubDate>Tue, 10 Dec 2024 13:03:27 +0000</pubDate>
      <link>https://dev.to/builderio/solved-why-chatgpt-wont-say-brian-hood-blame-regexes-3d56</link>
      <guid>https://dev.to/builderio/solved-why-chatgpt-wont-say-brian-hood-blame-regexes-3d56</guid>
      <description>&lt;p&gt;We've figured out why ChatGPT refuses to say certain people's names, no matter what. And it's for the best engineering reason ever: regexes.&lt;/p&gt;

&lt;p&gt;Yep, you heard that right. ChatGPT's internal code has regexes looking for specific names and throwing an error anytime it sees them coming out of ChatGPT directly.&lt;/p&gt;

&lt;h2&gt;
  
  
  The oldest security measure in the book
&lt;/h2&gt;

&lt;p&gt;What's the oldest and best security measure? Regexes, of course. But why are they even doing this?&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252Fa5261a564ad54649ac58206bbe51b62e%3Fwidth%3D705" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252Fa5261a564ad54649ac58206bbe51b62e%3Fwidth%3D705" alt="An arrow points to code that uses a regex of Brian Hood's name. The arrow is labeled " width="705" height="415"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It turns out these are people who tried to sue OpenAI. So how can you get in any more trouble with ChatGPT making up lies about people? Simple: just never allow ChatGPT to mention that person's name. Ever. No matter what.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252F727341f507a542bf9290a23dc6987f0e%3Fwidth%3D705" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252F727341f507a542bf9290a23dc6987f0e%3Fwidth%3D705" alt="A news article titled " width="705" height="593"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  But isn't that terrible engineering?
&lt;/h2&gt;

&lt;p&gt;Sure, you might say, "Wow, what terrible engineering. How disgusting." But really? What are they going to do instead?&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252Fae965a58ea8d482794c63982ef352975%3Fwidth%3D705" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252Fae965a58ea8d482794c63982ef352975%3Fwidth%3D705" alt="A meme of " width="705" height="396"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Are they going to retrain a new model for millions of dollars just to not mention these few random people's names? And do that every time they're worried about lawsuits?&lt;/p&gt;

&lt;p&gt;Or if someone's mounting a suit against you, are you going to let yourself continue to be liable to the same thing over and over?&lt;/p&gt;

&lt;h2&gt;
  
  
  Sometimes simple is best
&lt;/h2&gt;

&lt;p&gt;It's easy to make fun of this approach, but it's such a simple, easy-to-leverage solution that they did in a pinch. Because it was a good idea.&lt;/p&gt;

&lt;p&gt;Fun fact: the actual &lt;a href="http://builder.io/" rel="noopener noreferrer"&gt;Builder.io&lt;/a&gt; codebase for our Figma to code product does literally the same thing. Yes, we have advanced machine learning, malicious content detection, yada yada.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252Fe4f9af697ef54205a66ccf1fc41b42c4%3Fwidth%3D705" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252Fe4f9af697ef54205a66ccf1fc41b42c4%3Fwidth%3D705" alt="Builder.io code that checks for malicious matchers using regex" width="705" height="607"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;But sometimes when we see a very clear pattern that we need to just stop immediately, we just add it to an array of regexes and disable any content that matches. It's fast. It's cheap. It's effective.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252Fb5de8f66b65e4830b77d831b96ece0c8%3Fwidth%3D705" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252Fb5de8f66b65e4830b77d831b96ece0c8%3Fwidth%3D705" alt="A list of names that ChatGPT can't respond with, including Brian Hood" width="705" height="418"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Y'all, you don't have to over-engineer every single problem.&lt;/p&gt;

&lt;h2&gt;
  
  
  How strict are these regexes?
&lt;/h2&gt;

&lt;p&gt;The regexes are pretty strict. If you had a dot in the name, if you had the person's middle initial or middle name in there, it's fine. It'll output it. But just first name, space, last name? No chance.&lt;/p&gt;

&lt;p&gt;And the same goes for other names like this.&lt;/p&gt;

&lt;h2&gt;
  
  
  The power of regex
&lt;/h2&gt;

&lt;p&gt;While AI hallucination is no new thing, and it's probably the number one problem that LLMs have had forever and probably will have for some time, at least we know when you can't fix it with the world's most advanced AI, you can always fix it with a regex.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252F915b36d3e7e84e6995d30d281d6969ae%3Fwidth%3D705" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252F915b36d3e7e84e6995d30d281d6969ae%3Fwidth%3D705" alt="A regex with Brian Hood's name with sparkles" width="705" height="418"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Don't let anyone tell you in your pull requests that a regex is no good or a bad practice. The biggest, best, most innovative companies do it. And you should do it too.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>productivity</category>
      <category>discuss</category>
      <category>machinelearning</category>
    </item>
    <item>
      <title>Why AI Is Making Dev Skills More Valuable, Not Less</title>
      <dc:creator>Steve Sewell</dc:creator>
      <pubDate>Wed, 04 Dec 2024 13:27:22 +0000</pubDate>
      <link>https://dev.to/builderio/why-ai-is-making-dev-skills-more-valuable-not-less-3eb9</link>
      <guid>https://dev.to/builderio/why-ai-is-making-dev-skills-more-valuable-not-less-3eb9</guid>
      <description>&lt;p&gt;This chart is the reason that AI is not making developers obsolete anytime soon. In fact, it shows how development skills are more valuable than ever.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252Fc8407ea276e7418a8be29398fa8b433b%3Fwidth%3D705" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252Fc8407ea276e7418a8be29398fa8b433b%3Fwidth%3D705" alt="Graph of the pit of death" width="705" height="616"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This isn't a phenomenon of just one product; it affects every product that gives non-developers some degree of ability to code.&lt;/p&gt;

&lt;p&gt;The way &lt;a href="https://www.builder.io/blog/ai-lie" rel="noopener noreferrer"&gt;AI model progress has been plateauing&lt;/a&gt; lately suggests this may not change any time soon, if ever.&lt;/p&gt;

&lt;p&gt;The pit of death&lt;/p&gt;

&lt;p&gt;Anyone who's not a developer but has used tools like Bolt, Cursor, or v0 to build basic applications from prompts knows all too well the pit of death that you eventually always fall into.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252F55d7040abb3b4a03a97d681728f4ab46%3Fwidth%3D705" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252F55d7040abb3b4a03a97d681728f4ab46%3Fwidth%3D705" alt="bolt, cursor, builder.io logos" width="705" height="640"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Things start fast and awesome: the basic scaffold of your page or site, or even some of the basic functionality, comes in seconds. But then you start prompting more and more, and you struggle to get what you want out of it.&lt;/p&gt;

&lt;p&gt;As the application gets more complex, the behaviors you're looking for don't come out quite as easily.&lt;/p&gt;

&lt;p&gt;Eventually, some prompt you use breaks everything. Nothing works, and no matter what you try, the AI cannot get out of this corner.&lt;/p&gt;



&lt;p&gt;That's the pit of death. I've seen it happen over and over: some esoteric bug is just too challenging for the LLM to solve on its own, and then that's it. Your app is done, if you're lucky enough to not land at a pit of death.&lt;/p&gt;

&lt;p&gt;The plateau of death&lt;/p&gt;

&lt;p&gt;You'll probably hit a plateau of death instead, where after a certain number of prompts, you just don't seem to be able to make progress anymore.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252F73e65b367fa3421d9de148d64efbcc69%3Fwidth%3D705" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252F73e65b367fa3421d9de148d64efbcc69%3Fwidth%3D705" alt="graph of the plateau of detah" width="705" height="605"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;There's truly only one fix for these situations: you've got to roll up your sleeves, get in the code, and fix whatever the AI couldn't.&lt;/p&gt;

&lt;p&gt;Whether that means solving some very esoteric bug or implementing features so that the AI can continue off of your implementation, there's always a point where the human is needed.&lt;/p&gt;

&lt;p&gt;The limits of AI in development&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252F191c7eb6b87b48a9838a298e8ac92fe9%3Fwidth%3D705" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252F191c7eb6b87b48a9838a298e8ac92fe9%3Fwidth%3D705" alt="Graph showing a developer helping recover from the bit of detah" width="705" height="689"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Even if the models got 10x better, I don't think you'll actually offset the development need by that much.&lt;/p&gt;

&lt;p&gt;The reality is LLMs are good at code generation, but that's only one part of many in software development. In my experience, when an engineer comes in to unblock the AI, the next pit of death is just right around the corner.&lt;/p&gt;

&lt;p&gt;As the application gets more complex, you need developer intervention more and more, in shorter and shorter intervals.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252F43bc777097c24efc9672eaa34bc7d1ea%3Fwidth%3D705" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252F43bc777097c24efc9672eaa34bc7d1ea%3Fwidth%3D705" alt="Graph showing the repeated fixes being needed over time" width="705" height="612"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Eventually, what ends up happening is you go from products that don't require any development to ultimately exporting that code and needing developers to fully take it over. The developers then use different tools that are similar but more focused on code editing.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252Fee7a03b51c2b409da0ccac2c28ccdee3%3Fwidth%3D705" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252Fee7a03b51c2b409da0ccac2c28ccdee3%3Fwidth%3D705" alt="Image showing a conversion from tools like bolt to tools like Cursor" width="705" height="526"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The value of no-coding-skills-needed AI coding tools&lt;/p&gt;

&lt;p&gt;That's not to say that the tools that didn't require development in the beginning aren't useful. They can be incredibly useful for things like prototyping, making simple internal tools, and micro applications like a pricing calculator.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252Fd68a359e9c094569a037f1d8ba3cb1fa%3Fwidth%3D705" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252Fd68a359e9c094569a037f1d8ba3cb1fa%3Fwidth%3D705" alt="list showing prototypes, simple internal tools, micro apps" width="705" height="420"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Making your life better with AI tools&lt;/p&gt;

&lt;p&gt;The big question is how you use these things to make your lives better.&lt;/p&gt;

&lt;p&gt;As an engineer, designer, product manager, marketer, or whatever your role is, I think there are a few heavily overlooked use cases that you could adopt in your workflows now to make your life a lot better by using these tools and leaning into where they're going.&lt;/p&gt;

&lt;p&gt;The pain points we can improve&lt;/p&gt;

&lt;p&gt;As an engineer myself, the two things that drive me the most insane are poorly written specifications (where we didn't fully understand the problem and what's really needed to solve it) and ever-changing requirements.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252F05d86e85c87d4211bd9484901627a1e3%3Fwidth%3D705" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252F05d86e85c87d4211bd9484901627a1e3%3Fwidth%3D705" alt="list showing garbage specs, changing requirements" width="705" height="364"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It turns out our original guesses were wrong, customers and feedback told us different things, and now halfway through building the thing, we're changing how we're doing it, and everything's becoming a mess.&lt;/p&gt;

&lt;p&gt;The value of hands-on testing&lt;/p&gt;

&lt;p&gt;In my experience, you have to get hands-on with an application to really know how it needs to be used. Even better, get it in real users' hands, even if it's not fully functional.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252Fad173153345d4e249c3b4a307b19cc88%3Fwidth%3D705" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252Fad173153345d4e249c3b4a307b19cc88%3Fwidth%3D705" alt="meme of why ux research is important" width="705" height="406"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Just having users go through the actual flows and testing the things that looked good in wireframes and designs, but maybe actually don't feel right in practice, can really help improve your product UX.&lt;/p&gt;

&lt;p&gt;But if you have to build the whole thing before you learn that, it's wildly inefficient and can lead to very messy codebases.&lt;/p&gt;

&lt;p&gt;Rapid prototyping with AI&lt;/p&gt;

&lt;p&gt;Alternatively, with these rapid prototyping AI tools, we can iterate before we actually commit to building the full thing.&lt;/p&gt;

&lt;p&gt;We can try out the flows, even if all functionality isn't there.&lt;/p&gt;

&lt;p&gt;If we're lucky, we can even get direct user feedback in small ways and learn as much as possible early before we commit to a finalized spec and building the real full application.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252Ff1e65f10a3cb434fa90363c951c529cb%3Fwidth%3D705" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252Ff1e65f10a3cb434fa90363c951c529cb%3Fwidth%3D705" alt="a loop of idea and testing" width="705" height="546"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Less handwritten CSS&lt;/p&gt;

&lt;p&gt;There are other implications coming soon too. While I don't think programming is going away at all, I think it will change. I think every year we're going to see a major reduction in actually handwritten CSS code.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252Fc0a5f90d68c34712af6bb4ede416a71a%3Fwidth%3D705" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252Fc0a5f90d68c34712af6bb4ede416a71a%3Fwidth%3D705" alt="list of css coding, red lining" width="705" height="424"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The same way you don't handwrite a PDF, you export it from a tool. Design and design-to-code tools are becoming so good that they can generate CSS for you, shockingly close to how you would have written it yourself.&lt;/p&gt;

&lt;p&gt;In doing that, we can stay exactly true to the original design spec and avoid a lot of red lining and back and forth to make sure it looks correct.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252F6233ab72b55e4799b36cb6a8e53c15c6%3Fwidth%3D705" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252F6233ab72b55e4799b36cb6a8e53c15c6%3Fwidth%3D705" alt="" width="700" height="455"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A more collaborative future&lt;/p&gt;

&lt;p&gt;Looking to the future, the big question is: How do we get more tedious development off of our plates? So that developers don't need to update colors, add a simple section, modify text, or tweak some logic.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252Ff34bdb8ec4a64086874a8e4012c44369%3Fwidth%3D705" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252Ff34bdb8ec4a64086874a8e4012c44369%3Fwidth%3D705" alt="please update..." width="705" height="449"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If marketing or product or design need small changes, how can we give them tooling like they'd have for a fresh new app with something like Bolt, but compatible with a real application with real users and real developers that work on it daily?&lt;/p&gt;

&lt;p&gt;AI in team workflows&lt;/p&gt;

&lt;p&gt;Luckily, I work on a team that builds one of these products, so I can show you what's coming soon, specifically around how AI can better fold into full team workflows and automate a lot more than just an initial prototype creation.&lt;/p&gt;

&lt;p&gt;Code sync&lt;/p&gt;

&lt;p&gt;The first interesting feature is something called code sync. This is where you can not just convert a design to code with AI, but you can then modify the code, and when the design updates again, there's a link back to the code.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252F32accdd553c94c4b955a575c1ed03911%3Fwidth%3D705" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252F32accdd553c94c4b955a575c1ed03911%3Fwidth%3D705" alt="graph showing code going from Figma to Builder.io to VS Code and back" width="705" height="705"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;So the code gets granularly updated with just the design change, without developers having to do that by hand at all.&lt;/p&gt;

&lt;p&gt;Let's say AI converted the design to code, and you added all kinds of logic and modifications. Now the design has new colors, new buttons, modified text, and tweaked styles.&lt;/p&gt;

&lt;p&gt;With code sync, you can just push the changes right back to your codebase with the most granular update possible and review and merge it. This is currently in private beta, and we're hoping to roll it out soon.&lt;/p&gt;



&lt;p&gt;AI-integrated CMS&lt;/p&gt;

&lt;p&gt;Another interesting and under-leveraged approach that already exists today is using a deeply AI-integrated CMS. In the case of &lt;a href="https://www.builder.io/" rel="noopener noreferrer"&gt;Builder.io&lt;/a&gt;, you can section off parts of your site or app and decide what regions can be controlled by the CMS.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252F672f55650b354b77bcdaa98d5510ac0d%3Fwidth%3D705" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252F672f55650b354b77bcdaa98d5510ac0d%3Fwidth%3D705" alt="Diagram showing a Builder.io editable region in a site" width="705" height="764"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;These regions can be assigned to specific teams, like the homepage body goes to the marketing team, hero section goes to a merchandising team, etc.&lt;/p&gt;

&lt;p&gt;Then you can use generative AI, just like you would with Bolt, Cursor, v0, or whatever, but the updates go directly to the site or app published over an API.&lt;/p&gt;

&lt;p&gt;Think of it as Bolt embedded in your site or app, with whatever rules and restrictions you want around it.&lt;/p&gt;



&lt;p&gt;This unlocks not just crazy generative AI use cases within your live sites and apps, but opens up other really interesting use cases.&lt;/p&gt;

&lt;p&gt;AI agents in CMS&lt;/p&gt;

&lt;p&gt;One use case we're exploring is integrating agents into this AI CMS structure. Imagine having a Slack bot where you might have a conversation about what you'd like to change in your homepage or ideas on things you could do differently.&lt;/p&gt;

&lt;p&gt;You just tag the &lt;a href="https://www.builder.io/" rel="noopener noreferrer"&gt;Builder.io&lt;/a&gt; agent in Slack, and it reads the conversation, applies the suggestions as a five or 10% test, and then comes back a week later to let you know how the test performed.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252F59978ee99c8541a290c1f534f3809c05%3Fwidth%3D705" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252F59978ee99c8541a290c1f534f3809c05%3Fwidth%3D705" alt="AI CMS Agent" width="705" height="698"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In this world, for the self-contained regions that are probably more marketing-focused and things you don't really need or want to have in code anyway, the agent could just make those updates end-to-end autonomously, do the tedious work, and just let you know what the results are each time.&lt;/p&gt;

&lt;p&gt;Auto-optimization with AI&lt;/p&gt;

&lt;p&gt;We can even take that one step further and let the AI auto-optimize things. In a CMS like &lt;a href="https://www.builder.io/" rel="noopener noreferrer"&gt;Builder.io&lt;/a&gt;, where all content is also tied to analytics, when you produce content through the CMS, the AI agent can automatically start creating A/B test variations.&lt;/p&gt;

&lt;p&gt;It leverages context that it already knows about your business, finds what variant converts best, and scales that up to a hundred percent of traffic completely autonomously.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252Fb4322e6363bc42639de6535391f3ef77%3Fwidth%3D705" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252Fb4322e6363bc42639de6535391f3ef77%3Fwidth%3D705" alt="AI CMS Optimizer" width="705" height="626"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It can also take your audiences, create personalized versions of content for each audience, and play with the knobs to make sure every piece of content is as highly converting as possible, in a 100% automatic way.&lt;/p&gt;

&lt;p&gt;Real-time personalization&lt;/p&gt;

&lt;p&gt;If you take that one step further, you can see we're not that far away from a world where we can do one-to-one personalization where the AI is &lt;a href="https://www.builder.io/blog/ai-generated-website" rel="noopener noreferrer"&gt;generating parts of the user journey in real-time as they're browsing&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;As you browse the site or app, or I do, we can see completely different flows, optimized for exactly us, generated by LLMs in real-time.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252Fbb79eb313ab44dc6b821a6d87e5dff7c%3Fwidth%3D705" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252Fbb79eb313ab44dc6b821a6d87e5dff7c%3Fwidth%3D705" alt="Personalization" width="705" height="642"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This one's probably the furthest because we have to worry about &lt;a href="https://www.builder.io/blog/ai-generated-website#:~:text=Why%20you%20might%20not%20want" rel="noopener noreferrer"&gt;cost and latency&lt;/a&gt;. But as more LLM-optimized hardware comes out, and we're seeing up to five times gains in speed and efficiency of inference, this might not actually be that far away.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252F2b77afa8de274740b5966a159c574bab%3Fwidth%3D705" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252F2b77afa8de274740b5966a159c574bab%3Fwidth%3D705" alt="Tokens/Users" width="705" height="315"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Conclusion&lt;/p&gt;

&lt;p&gt;While I don't think everyone will be a developer overnight because of AI, I do think the more development skills you have, the more you can use AI to generate code, unblock yourself, and do incredible things.&lt;/p&gt;

&lt;p&gt;I think the biggest unlock that's coming is better connecting the AI tools with your existing teams and workflows. This will enable us to build and iterate on real applications faster than traditional methods, maximizing the skills of everyone.&lt;/p&gt;

&lt;p&gt;We'll all build better products faster together, focus on our unique skills and creativity, and spend less time on redundant menial work.&lt;/p&gt;

&lt;p&gt;Oh and if you found any of what we are working on around using AI to accelerate design to code and/or publishing to your live site, &lt;a href="https://www.builder.io/m/demo" rel="noopener noreferrer"&gt;talk to us&lt;/a&gt; to get a demo from our team.&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/FXjf9OQGAlY"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

</description>
      <category>ai</category>
      <category>webdev</category>
      <category>productivity</category>
      <category>developers</category>
    </item>
    <item>
      <title>The Big Lie AI Vendors Keep Telling You</title>
      <dc:creator>Steve Sewell</dc:creator>
      <pubDate>Tue, 03 Dec 2024 11:39:19 +0000</pubDate>
      <link>https://dev.to/builderio/the-big-lie-ai-vendors-keep-telling-you-2f2k</link>
      <guid>https://dev.to/builderio/the-big-lie-ai-vendors-keep-telling-you-2f2k</guid>
      <description>&lt;p&gt;OpenAI and other big AI vendors keep pumping one huge lie, even though all the data suggests they're definitely wrong. Sam Altman loves to preach that Artificial General Intelligence (AGI) is right around the corner.&lt;/p&gt;

&lt;p&gt;"We're about to give you AGI," he claims, even despite key leadership roles leaving the company. In my opinion, if you really were right around the corner from AGI, I wouldn't be leaving.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252F34fb260e201a485ca5e6d9d4c63ff23b%3Fwidth%3D705" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252F34fb260e201a485ca5e6d9d4c63ff23b%3Fwidth%3D705" alt="OpenAI's recent key leadership team with Xs over the faces of those no longer there" width="705" height="491"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;At the same time, their latest model just looks like GPT-4 with a chain of thought prompt, which is already a common technique, and just a really long output window (not to mention how &lt;em&gt;incredibly&lt;/em&gt; slow it is).&lt;/p&gt;

&lt;h2&gt;
  
  
  The truth about AI model progress
&lt;/h2&gt;

&lt;p&gt;It seems like OpenAI is noticing the truth here, which is that new models are plateauing in terms of how effective they are compared to older ones.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252F6a1a92a374ad4185a7d80b69a46d40d1%3Fwidth%3D705" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252F6a1a92a374ad4185a7d80b69a46d40d1%3Fwidth%3D705" alt="Graph of models showing them plateauing" width="705" height="485"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;So instead of shipping a GPT-5 that's probably only marginally better and probably larger and more costly, they're trying to make GPT-4 work better for different use cases.&lt;/p&gt;

&lt;p&gt;At the same time, Anthropic consistently produces better models. But even those are only incrementally better each time they launch one. This is a big gap from the GPT-2 to 3 to 3.5 days, where we saw huge leaps each time. We're just not seeing that anymore.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252Ff5f89d890e0b454b9520fd459d5a1a41%3Fwidth%3D705" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252Ff5f89d890e0b454b9520fd459d5a1a41%3Fwidth%3D705" alt="Screenshot of Business Insider article highlighting the text " width="705" height="336"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Source: &lt;a href="https://www.businessinsider.com/agi-predictions-looking-stretched-openai-sam-altman-google-ai-2024-11" rel="noopener noreferrer"&gt;Business Insider&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Three interesting implications for the AI ecosystem
&lt;/h2&gt;

&lt;p&gt;This leads to three really interesting implications of where the AI ecosystem is going, and one really big unknown that I also think people are really, really lying about.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Vendors are specializing
&lt;/h3&gt;

&lt;p&gt;OpenAI's Sam Altman used to tout "good luck" if you try and compete with their models, but they simply don't have the best models anymore, and haven't for a while. It seems they're acknowledging this and keep focusing time on specializing in consumer products built around the models.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252Fd0984e5f87bf44c9966cdb4a327cbcf6%3Fwidth%3D705" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252Fd0984e5f87bf44c9966cdb4a327cbcf6%3Fwidth%3D705" alt="Graph showing the revenue share of chatbot subscriptions vs API for OpenAI and Anthropic" width="705" height="560"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;They make three-quarters of their revenue from ChatGPT, which they're investing in better native apps, better experience, better search — all the consumer experience around the model. They're conceding that they just don't build the best models themselves anymore.&lt;/p&gt;

&lt;p&gt;In fact, if you're a vendor using OpenAI's APIs, in almost all cases you probably should use Anthropic, which is reflected in their revenue — 85% of their revenue comes from the API.&lt;/p&gt;

&lt;p&gt;They invest far less in their consumer products, even though the model is better. The user experience of the products just isn't as good. They are clearly not investing there. They're putting everything into just being a few percent better of a model.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252F3d25a245e63c49448a0489dae7a1fcd8%3Fwidth%3D705" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252F3d25a245e63c49448a0489dae7a1fcd8%3Fwidth%3D705" alt="Model benchmarks of Claude vs GPT-4o" width="705" height="607"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Source: &lt;a href="https://www.anthropic.com/news/claude-3-5-sonnet" rel="noopener noreferrer"&gt;Anthropic&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Specialized hardware is coming
&lt;/h3&gt;

&lt;p&gt;More and more vendors are building specialized hardware for LLMs which can drastically increase the speed of inference.&lt;/p&gt;

&lt;p&gt;New chip companies like Groq and Cerebras are able to do LLM inference three to five times faster than typical GPUs.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252Fc95694acbfcf42049ed12bceba07d893%3Fwidth%3D705" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252Fc95694acbfcf42049ed12bceba07d893%3Fwidth%3D705" alt="Performance of different hardware " width="705" height="318"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Source: &lt;a href="https://cerebras.ai/press-release/cerebras-inference-llama-405b" rel="noopener noreferrer"&gt;Cerebras&lt;/a&gt; (evaluation of Llama 3.1 - 8B)&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;The interesting key here is they're not just five times faster. The can also evaluate three to five times cheaper because they're simply much more efficient.&lt;/p&gt;

&lt;p&gt;So when we can make AI products that are equally as smart but massively faster and cheaper, that could unlock a lot of new use cases that were previously just prohibitively slow and expensive.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Better utilization of LLMs is coming
&lt;/h3&gt;

&lt;p&gt;The third implication is that vendors are going to get a lot better at figuring out how to use LLMs, even if they don't get that much smarter.&lt;/p&gt;

&lt;p&gt;Below is an example of a launch title for the Xbox 360 - Perfect Dark Zero, which came out when the 360 was brand new and the graphics are…fine. Like, it's representative of that era of the console.&lt;/p&gt;



&lt;p&gt;But what's fascinating is when you remember launch titles versus late in a console series titles. On the same exact foundation, there was no change to the console or hardware itself, but years later we see games like this.&lt;/p&gt;



&lt;p&gt;This is Halo 4, and this looks like a whole different generation of console. Yet, this is on the same hardware as the prior game.&lt;/p&gt;

&lt;p&gt;What happened over those years? Developers got way better at optimizing how they use this technology. Game engines found more and more clever approaches to get the most out of what they had.&lt;/p&gt;

&lt;p&gt;This is what I think will happen with LLMs. Those who make products on top of LLMs will get better and better at getting more of the smart parts out of them and avoiding the suboptimal, problematic parts.&lt;/p&gt;

&lt;p&gt;I don't think we're anywhere close to AGI, but I do think we'll see major leaps in product quality, just by using the LLM technology better and better.&lt;/p&gt;

&lt;h2&gt;
  
  
  The reality of AI agents
&lt;/h2&gt;

&lt;p&gt;What about agents? What about Devin, the AI software engineer that made all these crazy claims, raised a ton of VC money, and just kind of disappeared off the radar? Or Anthropic's Claude with computer use that will navigate your computer and use it like you?&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252F5e35eae84bd2401282d354ec4ccf6c50%3Fwidth%3D705" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252F5e35eae84bd2401282d354ec4ccf6c50%3Fwidth%3D705" alt="Screenshot of Devin launch" width="705" height="521"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Realistically, I think the models are just not smart enough yet for this to make sense. Even in Anthropic's own announcement post, they cited that Claude with computer use only has a 14.9% success rate. I don't see any world where we give AI agents the ability to act on our behalf without them having something more like a 99— if not 100% — success rate.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252Fc0545833d9af41fda1bc4a1616af2818%3Fwidth%3D705" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252Fc0545833d9af41fda1bc4a1616af2818%3Fwidth%3D705" alt="Screenshot of Anthropic's Claude computer use with " width="705" height="419"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Source: &lt;a href="https://www.anthropic.com/news/3-5-models-and-computer-use" rel="noopener noreferrer"&gt;Anthropic&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;span&gt;In all of my experience and testing, the models are not smart enough to be able to accomplish autonomous tasks. They need a human in the loop. Otherwise, they derail quickly and those small errors compound very rapidly.&lt;/span&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The future of AI products
&lt;/h2&gt;

&lt;p&gt;But that's not to say that some form of agents won't exist in the short term. I think mini or micro agents do show a lot of practical value. For example, the open-source &lt;a href="https://www.builder.io/blog/micro-agent" rel="noopener noreferrer"&gt;Micro Agent&lt;/a&gt; project that can generate tests, take a set of tests, and write and iterate on code until the tests pass.&lt;/p&gt;

&lt;p&gt;Or in the case of &lt;a href="https://www.builder.io/" rel="noopener noreferrer"&gt;Builder.io&lt;/a&gt; and our product that uses AI to turn &lt;a href="https://www.builder.io/m/design-to-code" rel="noopener noreferrer"&gt;Figma designs into code&lt;/a&gt;, we've actually found that rather than using one big traditional LLM, we can use a series of smaller agents that communicate with each other to have a way higher quality output when you convert that Figma design into code.&lt;/p&gt;



&lt;p&gt;By using a &lt;a href="https://www.builder.io/blog/build-ai-tools" rel="noopener noreferrer"&gt;series of smaller agents&lt;/a&gt;, in combination with &lt;a href="https://www.builder.io/blog/train-ai" rel="noopener noreferrer"&gt;self-trained models&lt;/a&gt;, we found that you can both increase reliability, speed, and accuracy, compared to just plugging in something off the shelf.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252F3b8745b191da4f5a8a5b5423eeb20627%3Fwidth%3D705" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252F3b8745b191da4f5a8a5b5423eeb20627%3Fwidth%3D705" alt="Diagram with a traditional approach " width="705" height="406"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;These are the types of techniques that I think will bring us to the next generation of our era. Even if the LLMs don't get smarter and we don't have personal coding assistants doing all our work tomorrow, we sure as heck will keep getting better and better products that are more reliable.&lt;/p&gt;

&lt;p&gt;We’ll automate tedious work — like converting designs to code, using generative AI to produce designs and functionality, adding functionality to your designs, making them real-world applications — or develop other kinds of interesting use cases around content generation, code generation, co-pilots, and other interesting products Builder.io keeps producing.&lt;/p&gt;



&lt;p&gt;Source: &lt;a href="https://www.builder.io/blog/visual-copilot-2" rel="noopener noreferrer"&gt;Visual Copilot 2.0&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Just be sure to pay a keen attention to which ones people are actually using, versus what are gathering hype but actually don't work. Both will keep happening. I'm certain of that. I don't think we're anywhere near being past the hype curve of BS products intermixed with real effective products.So while I think there'll be a lot of noise in the market, I think we have a lot to look forward to as well.&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/Wl44OMJBXWw"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

</description>
      <category>ai</category>
      <category>webdev</category>
      <category>openai</category>
      <category>programming</category>
    </item>
    <item>
      <title>Generate Figma Designs with AI</title>
      <dc:creator>Steve Sewell</dc:creator>
      <pubDate>Mon, 25 Nov 2024 18:04:13 +0000</pubDate>
      <link>https://dev.to/builderio/generate-figma-designs-with-ai-3256</link>
      <guid>https://dev.to/builderio/generate-figma-designs-with-ai-3256</guid>
      <description>&lt;p&gt;"&lt;strong&gt;&lt;em&gt;Design me a landing page for a fintech app.&lt;/em&gt;&lt;/strong&gt;”&lt;/p&gt;

&lt;p&gt;A few years ago, this would have kicked off hours of creative exploration in Figma. Today, it's a prompt that can generate complete UI designs in seconds.&lt;/p&gt;

&lt;p&gt;This is a big deal for designers, but it got me thinking — what happens after you've got that slick AI-generated mockup?&lt;/p&gt;

&lt;h2&gt;
  
  
  Figma AI
&lt;/h2&gt;

&lt;p&gt;Figma AI is a suite of artificial intelligence features integrated into &lt;a href="https://www.figma.com/" rel="noopener noreferrer"&gt;Figma&lt;/a&gt; and &lt;a href="https://www.figma.com/figjam/" rel="noopener noreferrer"&gt;FigJam&lt;/a&gt;. The idea? Make design workflow easier for UI and UX designers by helping out with both creative and routine design tasks.&lt;/p&gt;

&lt;h3&gt;
  
  
  Figma AI plugins
&lt;/h3&gt;

&lt;p&gt;Before Figma built their own AI features, designers were already experimenting with AI through figma plugins. Now that it's built right in, let's check out what Figma AI can actually do.&lt;/p&gt;

&lt;h3&gt;
  
  
  What can Figma AI do?
&lt;/h3&gt;

&lt;p&gt;As a designer, you spend a lot of time in your design process — organizing design elements, finding the right design assets, and putting it all together. Figma's new AI toolkit is still in beta, but here's what it can do:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;First draft&lt;/strong&gt;: Type in a description and get a full design to work with. It's great for rapid iteration and exploring ideas.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Smart duplication&lt;/strong&gt;: Duplicate elements with AI-generated content variations. Perfect for creating lists and grids quickly.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Text improvements&lt;/strong&gt;: Generate relevant text that fits your product's tone instead of using Lorem Ipsum. Rewrite and translate text directly in your designs.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Visual search&lt;/strong&gt;: Upload an image to find matches or similar designs in your team's work. Makes finding assets a lot easier.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Smart layer renaming&lt;/strong&gt;: It can rename and organize layers automatically. Your teammates might appreciate this one.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Background removal&lt;/strong&gt;: Take out image backgrounds with a single click. No need for manual selection.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Instant prototyping&lt;/strong&gt;: Turn static designs into interactive prototypes automatically. Saves time on manual connections.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  How to use Figma AI
&lt;/h3&gt;

&lt;p&gt;The AI features are easily accessible through the action button at the bottom of your Figma interface or by pressing &lt;code&gt;⌘ + k&lt;/code&gt; / &lt;code&gt;Ctrl + k&lt;/code&gt;. Here's how to use each key feature:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;First draft&lt;/strong&gt;&lt;/p&gt;



&lt;p&gt;Select &lt;strong&gt;First Draft&lt;/strong&gt; from the templates (Basic App, App Wireframe, Basic Site, or Site Wireframe). Enter your prompt, like "e-commerce store for iPhone accessories with a search bar." Once generated, use quick actions to switch themes, adjust spacing, modify border radius, or make additional prompt-based changes.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Smart duplication&lt;/strong&gt;&lt;/p&gt;



&lt;p&gt;Create an auto-layout list or grid, then simply drag the handle at the bottom. The AI will automatically generate new content variations while maintaining design consistency.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Text improvements&lt;/strong&gt;&lt;/p&gt;



&lt;p&gt;Select any text element to access a range of AI-powered enhancements, including translation to different languages, tone adjustment (professional to casual), and length modification.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Visual search&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Type what you're looking for or upload an image through the action menu. AI will find matching elements visually, regardless of naming, and help navigate to the found components.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Smart layer renaming&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Select the layers you want to rename, choose "Rename Layers" from the action menu, and AI will automatically rename them based on their content and context.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Background removal&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Select any image and choose "Remove Background" from the action menu. Within 30 seconds, you'll get a crisp, clean cut-out with impressive detail preservation.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Instant prototyping&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Select up to 10 screens and choose "Make Prototype" for AI to automatically create basic navigation connections. You can then review and refine these connections as needed.&lt;/p&gt;

&lt;h3&gt;
  
  
  Current limitations of Figma AI
&lt;/h3&gt;

&lt;p&gt;While Figma's new AI powered features are impressive, there are two important considerations:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Limited availability:&lt;/strong&gt; The beta is currently restricted to a small subset of users, making it challenging for teams to fully integrate these features into their workflows.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The design-to-code gap:&lt;/strong&gt; Figma AI is great for cranking out designs, but there's still a big gap between a great looking mockup and responsive code. This is where things usually slow down - designers hand off their work, and developers have to figure out how to turn it into a real website or app.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This is exactly why we built &lt;a href="https://www.figma.com/community/plugin/747985167520967365/builder-io-ai-powered-figma-to-code-react-vue-tailwind-more" rel="noopener noreferrer"&gt;Visual Copilot&lt;/a&gt; at Builder.io — to bridge this gap between design and implementation. Instead of just generating static mockups that need to be rebuilt in code, what if we could generate functional, production-ready components from the start?&lt;/p&gt;

&lt;h2&gt;
  
  
  Improved design generation with Visual Copilot
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252Fbc943ddb632d445a847652a1906739a0%3Fwidth%3D705" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252Fbc943ddb632d445a847652a1906739a0%3Fwidth%3D705" alt="image.png" width="705" height="705"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Our approach is pretty straightforward: since designs need to become code anyway, why not do both at the same time?&lt;/p&gt;

&lt;p&gt;When you bring your Figma designs into our Visual Development Platform, you can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Keep generating designs with AI, just like in Figma&lt;/li&gt;
&lt;li&gt;Generate code in real-time as you make changes&lt;/li&gt;
&lt;li&gt;Publish your work to production with one click when you're happy with it&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Whether you're working on simple layouts or complex interfaces, Visual Copilot maintains your team's focus and style — from brand colors to fonts. The boost in development speed means you can iterate faster and get to your final product sooner.&lt;/p&gt;

&lt;h3&gt;
  
  
  Generate designs using your design system
&lt;/h3&gt;



&lt;ul&gt;
&lt;li&gt;Generate designs using natural language prompts, just like in Figma&lt;/li&gt;
&lt;li&gt;Iterate on designs with AI-powered suggestions and variations&lt;/li&gt;
&lt;li&gt;See both the visual preview and corresponding code in real-time&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This approach means you're not just creating static mockups — you're generating production-ready components that can go live immediately. No more lengthy handoff process between design and development teams.&lt;/p&gt;

&lt;h3&gt;
  
  
  Complete context of your product
&lt;/h3&gt;



&lt;p&gt;&lt;span&gt;Visual Copilot isn't just another AI demo generator. Its power lies in its ability to actually understand your product:&lt;/span&gt;&lt;/p&gt;



&lt;ul&gt;
&lt;li&gt;It knows your Figma components, design tokens and documentation&lt;/li&gt;
&lt;li&gt;It knows your code components, coding standards, and development patterns&lt;/li&gt;
&lt;li&gt;It can connect to your APIs and data models, and business logic&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This means describing complex features in just a few words gets you exactly what your team would build — using your design system, following your standards, connected to your services.&lt;/p&gt;

&lt;h3&gt;
  
  
  Static designs to interactive code
&lt;/h3&gt;



&lt;p&gt;&lt;span&gt;In Builder.io, your designs come to life:&lt;/span&gt;&lt;/p&gt;



&lt;ul&gt;
&lt;li&gt;Make stuff interactive&lt;/li&gt;
&lt;li&gt;Use your actual data&lt;/li&gt;
&lt;li&gt;Edit things live and see changes instantly&lt;/li&gt;
&lt;li&gt;Deploy updates automatically through our headless CMS&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Generate production-ready code
&lt;/h3&gt;



&lt;p&gt;&lt;span&gt;Visual Copilot turns your designs into code you can actually use, giving you dev ready websites that just work:&lt;/span&gt;&lt;/p&gt;



&lt;ul&gt;
&lt;li&gt;Pick your favorite framework and styling setup&lt;/li&gt;
&lt;li&gt;Skip the prototyping phase and go straight to live previews&lt;/li&gt;
&lt;li&gt;It'll even make things responsive for mobile&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Getting started with Visual Copilot
&lt;/h2&gt;

&lt;p&gt;Using Builder.io's Visual Copilot plugin is straightforward and immediately accessible:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Open the &lt;a href="https://www.figma.com/community/plugin/747985167520967365/builder-io-ai-powered-figma-to-code-react-vue-tailwind-more" rel="noopener noreferrer"&gt;Visual Copilot&lt;/a&gt; Figma plugin.&lt;/li&gt;
&lt;li&gt;Select a layer or design in your Figma file.&lt;/li&gt;
&lt;li&gt;Click the &lt;strong&gt;Export to Code&lt;/strong&gt; button.&lt;/li&gt;
&lt;li&gt;Copy the generated code into your project.&lt;/li&gt;
&lt;li&gt;Add animations, state, visual effects, and other required functionality with natural language prompts.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Figma AI is a neat step forward, but we need more than just static designs to build modern websites. Visual Copilot bridges that gap, letting you create designs and functional code at the same time.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>figma</category>
      <category>design</category>
      <category>ai</category>
    </item>
    <item>
      <title>Turn a Figma Design Into a Working Dashboard App in 5 Minutes</title>
      <dc:creator>Steve Sewell</dc:creator>
      <pubDate>Wed, 13 Nov 2024 13:39:28 +0000</pubDate>
      <link>https://dev.to/builderio/turn-a-figma-design-into-a-working-dashboard-app-in-5-minutes-42cd</link>
      <guid>https://dev.to/builderio/turn-a-figma-design-into-a-working-dashboard-app-in-5-minutes-42cd</guid>
      <description>&lt;p&gt;I just turned a Figma design into a working dashboard app with real APIs, data, and pagination in less than five minutes.&lt;/p&gt;

&lt;p&gt;And the best part is: I can export my creation as clean code across multiple files, including reusing your existing components in your codebase and/or design system.&lt;/p&gt;

&lt;p&gt;React, Vue, Tailwind, SwiftUI, and many more outputs are supported, and everything is customizable.&lt;/p&gt;

&lt;p&gt;Let me show you how to do it.&lt;/p&gt;

&lt;h2&gt;
  
  
  The process
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Step 1: exporting from Figma
&lt;/h3&gt;

&lt;p&gt;First, in Figma, launch the &lt;a href="https://www.figma.com/community/plugin/747985167520967365/builder-io-ai-powered-figma-to-code-react-vue-tailwind-more" rel="noopener noreferrer"&gt;Builder.io Figma plugin&lt;/a&gt; in a design of your choice, for instance with the &lt;a href="https://www.figma.com/design/9cXQQu2rzjk23lhRwcO9z0/CRM-Dashboard?node-id=1-26&amp;amp;node-type=frame&amp;amp;t=XnmdGEdAunteST68-11" rel="noopener noreferrer"&gt;dashboard design&lt;/a&gt; I used.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; If you use the dashboard design file I did, you will likely have to duplicate it to your drafts first so you have full access:&lt;/p&gt;
&lt;/blockquote&gt;



&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: This plugin works the same in &lt;a href="https://help.figma.com/hc/en-us/articles/15023124644247-Guide-to-Dev-Mode" rel="noopener noreferrer"&gt;Dev mode&lt;/a&gt; too.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Once you have the plugin launched, select the Dashboard frame and click the &lt;strong&gt;Export to Code&lt;/strong&gt; button, and you'll be launched into Builder.&lt;/p&gt;



&lt;p&gt;If you don’t have a &lt;a href="https://www.builder.io/" rel="noopener noreferrer"&gt;Builder.io&lt;/a&gt; account yet, you will be asked to sign up, which only takes 2 quick steps.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: If you use the same &lt;a href="https://www.figma.com/design/9cXQQu2rzjk23lhRwcO9z0/CRM-Dashboard?node-id=1-26&amp;amp;node-type=frame&amp;amp;t=HSxBDrlaA4apkf1K-11" rel="noopener noreferrer"&gt;Dashboard design&lt;/a&gt; as I did, you will see a “Low auto layout usage” warning. Using auto layout for exported designs is a &lt;a href="https://www.builder.io/c/docs/figma-best-practices" rel="noopener noreferrer"&gt;best practice&lt;/a&gt;, and without it your results might vary. In this case, this design imports pretty well without auto layout, so we can ignore it.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  Step 2: adding context for the AI
&lt;/h3&gt;

&lt;p&gt;Now that we’re in &lt;a href="https://www.builder.io/" rel="noopener noreferrer"&gt;Builder&lt;/a&gt;, your design has been converted into code, and what shows in the Builder canvas is a preview of the resulting code.&lt;/p&gt;

&lt;p&gt;This is cool and all, but it's a &lt;em&gt;lot&lt;/em&gt; cooler to make this code actually do something!&lt;/p&gt;

&lt;p&gt;In order to be able to do something useful, we’ll want to give the AI some context about us first.&lt;/p&gt;

&lt;p&gt;For example, if you want to use data, where should the data come from? Is it a public resource or your own private API? What inputs and outputs can this API take?&lt;/p&gt;



&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; The &lt;a href="https://www.builder.io/" rel="noopener noreferrer"&gt;Builder&lt;/a&gt; Visual Editor AI chat released with &lt;a href="https://www.builder.io/blog/visual-copilot-2" rel="noopener noreferrer"&gt;Visual Copilot 2.0&lt;/a&gt; is currently in a rolling beta — meaning some users will have access now, and some will come soon. We add new users each week — so if you don’t have access just yet, &lt;a href="https://www.builder.io/make-real-notify-me" rel="noopener noreferrer"&gt;request to be notified&lt;/a&gt; when your accent gets access&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;For my dashboard, I used these instructions. Feel free to copy and use them, including the API used:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;We have an API that can list our users that works like:

https://user-api.builder-io.workers.dev/
https://user-api.builder-io.workers.dev/?page=2
https://user-api.builder-io.workers.dev/?sortBy=name.first
https://user-api.builder-io.workers.dev/?sortBy=location.city

the output looks like:

&lt;span class="nt"&gt;&amp;lt;output&amp;gt;&lt;/span&gt;
{
  "page": 1,
  "perPage": 10,
  "total": 100,
  "data": [
    {
      "gender": "female",
      "name": { "title": "Mrs", "first": "Aada", "last": "Ojala" },
      "location": {
        "street": { "number": 9896, "name": "Pyynikintie" },
        "city": "Loviisa",
        "state": "Tavastia Proper",
        "country": "Finland",
      },
      "picture": {
        "large": "https://randomuser.me/api/portraits/women/51.jpg",
        "medium": "https://randomuser.me/api/portraits/med/women/51.jpg",
        "thumbnail": "https://randomuser.me/api/portraits/thumb/women/51.jpg"
      },
    },
    ...
  ]
}
&lt;span class="nt"&gt;&amp;lt;output&amp;gt;&lt;/span&gt;

when adding tables of users include their images too. also make tables horizontal scroll on mobile

for loading states, give things a nice spinner
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Notice that at the bottom I included a couple extra tips. For instance, I want the AI to generate tables with images in them, to make them horizontally scrollable on mobile, and be sure to use a nice loading spinner.&lt;/p&gt;

&lt;p&gt;Instructions are infinitely customizable, so experiment with them! Use trial and error to find out what works best for you. With the right approach, they are incredibly powerful.&lt;/p&gt;

&lt;p&gt;Note that you can also instruct the AI to use well known APIs without much guidance (like specific input/output examples). Some other fun ones to use and try:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;catfact.ninja&lt;/strong&gt;: returns random cat facts&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;dog.ceo&lt;/strong&gt;: random dog images by breed&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;pokeapi.co&lt;/strong&gt;: Pokemon data (stats, moves, types)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;jservice.io&lt;/strong&gt;: trivia questions from the &lt;em&gt;Jeopardy!&lt;/em&gt; game show&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Open Notify&lt;/strong&gt;: space data like the current location of the ISS and people in space.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;RandomUser.me&lt;/strong&gt;: random user data (names, photos, addresses)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Advice Slip API&lt;/strong&gt;: random pieces of advice (&lt;a href="https://api.adviceslip.com" rel="noopener noreferrer"&gt;https://api.adviceslip.com&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Universities API&lt;/strong&gt;: information on universities worldwide (&lt;a href="http://universities.hipolabs.com/" rel="noopener noreferrer"&gt;http://universities.hipolabs.com/&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Open Meteo&lt;/strong&gt;: weather forecasts, historical weather, and current weather data&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Can't find a public API that interests you there? Just try asking Visual Copilot, and it can recommend an API for your use case too.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 3: making it interactive
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Creating the user table
&lt;/h4&gt;

&lt;p&gt;In the case of our design, it wasn’t even complete!&lt;/p&gt;

&lt;p&gt;But &lt;a href="https://www.builder.io/" rel="noopener noreferrer"&gt;Builder&lt;/a&gt; can handle this as well — we can use AI to generate or update any part of the design, completely matching the existing aesthetic of the design, including components, design tokens, and so on.&lt;/p&gt;

&lt;p&gt;In our case, you can click the &lt;strong&gt;Users table goes here&lt;/strong&gt; text and enter the prompt:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;replace this with a table of our users
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;h4&gt;
  
  
  Visually tweaking the table
&lt;/h4&gt;

&lt;p&gt;We have a nice table, but let's start making some visual modifications. &lt;a href="https://www.builder.io/" rel="noopener noreferrer"&gt;Builder.io&lt;/a&gt; is a full &lt;a href="https://www.builder.io/visual-development-platform" rel="noopener noreferrer"&gt;Visual Development Platform&lt;/a&gt;, so we can continue to select parts of the code and edit it visually.&lt;/p&gt;

&lt;p&gt;For instance, we can go to the S*&lt;em&gt;tyle&lt;/em&gt;* tab and change the width to &lt;strong&gt;Fill&lt;/strong&gt;, and even drag to change the top margin size as well.&lt;/p&gt;



&lt;p&gt;Play around all you like to get things pixel perfect.&lt;/p&gt;

&lt;h4&gt;
  
  
  Adding sorting
&lt;/h4&gt;

&lt;p&gt;Now, we have a table connected to real data. But, how do we even know? For all we know, this was hard generated into the design.&lt;/p&gt;

&lt;p&gt;So let's spice things up and add some real interactivity.&lt;/p&gt;

&lt;p&gt;In our design, we have a couple buttons to choose different table sorts. Let’s click on that and use my favorite prompt:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;make these buttons work
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Yes, just from the context of the design and the API info we gave the system, Visual Copilot in this case can infer what these buttons should do, and hook up the functionality for us.&lt;/p&gt;



&lt;p&gt;And voilà — we have working sort buttons!&lt;/p&gt;

&lt;p&gt;You can try it out via the &lt;strong&gt;quick preview&lt;/strong&gt; mode, for instance by hitting &lt;code&gt;⌘ + \&lt;/code&gt; on mac, or &lt;code&gt;Ctrl + \&lt;/code&gt; on PC/Linux &lt;em&gt;(yes, I mentioned Linux for all one of you)&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;In preview mode, you can click around your app just like a typical user. Try out your awesome new API-driven dashboard table!&lt;/p&gt;

&lt;h4&gt;
  
  
  Implementing pagination
&lt;/h4&gt;

&lt;p&gt;Let’s now implement pagination. We’ll follow similar steps as before. Let's click the pagination buttons and use my favorite prompt:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;make these buttons work
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Disclaimer&lt;/strong&gt;: A super vague prompt like that is not the general best practice, I just think it's fun that it works in this case.&lt;/p&gt;

&lt;p&gt;Generally, be descriptive about what you want, and if the AI doesn’t get it right on the first time, give it feedback and have it try again. Working with AI is a trial and error process to get good results.&lt;/p&gt;



&lt;h3&gt;
  
  
  Step 4: generating production code
&lt;/h3&gt;

&lt;p&gt;When you're happy with the functionality, let’s grab the code.&lt;/p&gt;

&lt;p&gt;First, switch to Develop mode to show all of your code generation options.&lt;/p&gt;

&lt;p&gt;You can pick between a variety of code frameworks, such as React, Vue, Angular, Svelte, React Native, SwiftUI, HTML, Qwik, Solidjs, Jetpack Compose, Flutter, and more.&lt;/p&gt;

&lt;p&gt;For styling frameworks, built in support includes Tailwind, CSS, CSS modules, Styled Components, Emotion, and you can even add anything else not listed here using &lt;a href="https://www.builder.io/c/docs/custom-instructions" rel="noopener noreferrer"&gt;custom instructions&lt;/a&gt;.&lt;/p&gt;



&lt;h4&gt;
  
  
  Add custom instructions
&lt;/h4&gt;

&lt;p&gt;You can also add completely custom instructions in natural language for any additional preferences you have — including frameworks, styling frameworks, testing frameworks not mentioned previously, as well as anything completely custom — like stylistic preferences, libraries you use, or even samples of your existing code so your code can be reused or the AI can match your coding style.&lt;/p&gt;

&lt;p&gt;In my case, I love React Query, so I have this custom instruction saved for all code generations so that React Query is always used for data fetching:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;use @tanstack/react-query for all data fetching
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;h4&gt;
  
  
  Generate the code
&lt;/h4&gt;

&lt;p&gt;When we’ve got things setup the way we like, we can just click &lt;strong&gt;Generate Code&lt;/strong&gt; to get our code.&lt;/p&gt;



&lt;p&gt;Keep in mind you can always change code after the fact too — by chatting to make modifications, as well as by updating your custom instructions and generating again.&lt;/p&gt;

&lt;p&gt;This process can take trial and error to get exactly right—- but is worth it to make sure the system is outputting code just like you and your team would write.&lt;/p&gt;

&lt;p&gt;And remember, the AI can respond to nearly any kind of feedback. If there is anything that makes you say “no I would’ve written this differently”, just tell the system.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 5: getting the code into your project
&lt;/h3&gt;

&lt;p&gt;Now what good is code if it's not in &lt;em&gt;your codebase&lt;/em&gt;. I got u fam don’t doubt me so much.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Click &lt;strong&gt;Sync Code&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Copy the provided command.&lt;/li&gt;
&lt;li&gt;Run it at the root of your project.&lt;/li&gt;
&lt;/ol&gt;



&lt;p&gt;&lt;em&gt;Yes, yes I know I need to update Cursor.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;And there you have it — the dashboard code, with functionality, tests, and reusable components is yours!&lt;/p&gt;

&lt;h3&gt;
  
  
  Bonus: Map Your Components
&lt;/h3&gt;

&lt;p&gt;This is great and all — but what if you have a design system of components already?&lt;/p&gt;

&lt;p&gt;Ideally, we’d want to reuse those components when importing and generating, including any other components local to our codebase that we typically build with.&lt;/p&gt;

&lt;p&gt;For instance, here is an example of code I generated using the &lt;a href="https://cloudscape.design/" rel="noopener noreferrer"&gt;Cloudscape design system&lt;/a&gt;:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252Fd54c2e035a254edd9418ec6893892c7a%3Fwidth%3D800" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252Fd54c2e035a254edd9418ec6893892c7a%3Fwidth%3D800" alt="Screenshot of code using cloudscape design system" width="800" height="743"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Fear not, Builder &lt;a href="https://www.builder.io/c/docs/mapping-functions" rel="noopener noreferrer"&gt;supports this as well&lt;/a&gt;. But that is a topic for another post, but you can visit the docs in the meantime and try it out yourself.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's Next?
&lt;/h2&gt;

&lt;p&gt;Try this out on more designs, code, and APIs!&lt;/p&gt;

&lt;p&gt;Remember: AI is a tool. It doesn’t replace engineering work, but when used right it sure as heck an accelerate it. AI will be good at some things, and not good at others. The trick is to experiment — use trial and error and find what works great for you and it can be your new secret superpower.&lt;/p&gt;

&lt;p&gt;If you’d like more use cases and even more ideas on what you can accomplish with Visual Copilot, read &lt;a href="https://www.builder.io/blog/visual-copilot-2" rel="noopener noreferrer"&gt;Introducing Visual Copilot 2.0: Design to Interactive&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Give it a try — I can’t wait to see what you build!&lt;/p&gt;

&lt;h2&gt;
  
  
  Resources
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.figma.com/community/plugin/747985167520967365/builder-io-ai-powered-figma-to-code-react-vue-tailwind-more" rel="noopener noreferrer"&gt;Figma plugin for Builder.io&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.figma.com/design/9cXQQu2rzjk23lhRwcO9z0/CRM-Dashboard?node-id=1-26&amp;amp;node-type=frame&amp;amp;t=HSxBDrlaA4apkf1K-11" rel="noopener noreferrer"&gt;Dashboard Figma design&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.builder.io/make-real-notify-me" rel="noopener noreferrer"&gt;Get notified when you get full Visual Copilot 2.0 access&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.builder.io/m/demo" rel="noopener noreferrer"&gt;Get a demo&lt;/a&gt; from the &lt;a href="https://www.builder.io/" rel="noopener noreferrer"&gt;Builder.io&lt;/a&gt; team&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Useful docs&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.builder.io/c/docs/import-from-figma" rel="noopener noreferrer"&gt;Import from Figma&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.builder.io/c/docs/ve-visualcopilot" rel="noopener noreferrer"&gt;Add interactivity with AI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.builder.io/c/docs/generate-code" rel="noopener noreferrer"&gt;Generate code&lt;/a&gt; (+ with &lt;a href="https://www.builder.io/c/docs/custom-instructions" rel="noopener noreferrer"&gt;custom instructions&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.builder.io/c/docs/figma-components" rel="noopener noreferrer"&gt;Reuse your existing design system and components&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/ix0RlejjMos"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

</description>
      <category>figma</category>
      <category>webdev</category>
      <category>design</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Turn a Figma Dropdown Design Into Working React Code in 1 Minute</title>
      <dc:creator>Steve Sewell</dc:creator>
      <pubDate>Tue, 12 Nov 2024 13:10:33 +0000</pubDate>
      <link>https://dev.to/builderio/turn-a-figma-dropdown-design-into-working-react-code-in-1-minute-bih</link>
      <guid>https://dev.to/builderio/turn-a-figma-dropdown-design-into-working-react-code-in-1-minute-bih</guid>
      <description>&lt;p&gt;I just transformed a Figma design into working React code, complete with TypeScript and tests, in less than 1 minute.&lt;/p&gt;

&lt;p&gt;The best part? The code is clean, customizable, and ready to integrate into your project.&lt;/p&gt;

&lt;p&gt;Let me show you how to do it.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;The Process&lt;/strong&gt;
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Step 1: Exporting from Figma&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;First, grab your &lt;a href="https://www.figma.com/design/c4lCG2eB4rPrRnBauHaWx9/Dropdown?node-id=1-149&amp;amp;node-type=frame&amp;amp;t=pQ3o6pYT936PSD7i-11" rel="noopener noreferrer"&gt;design&lt;/a&gt; (if using mine, be sure to &lt;strong&gt;duplicate it to your drafts&lt;/strong&gt; first, so you have full edit/plugins access).&lt;/p&gt;

&lt;p&gt;Launch the &lt;a href="https://www.figma.com/community/plugin/747985167520967365/builder-io-ai-powered-figma-to-code-react-vue-tailwind-more" rel="noopener noreferrer"&gt;**Builder.io Figma plugin&lt;/a&gt;** and hit the "Export to Code" button, and you'll be launched into &lt;a href="https://www.builder.io/" rel="noopener noreferrer"&gt;Builder.io&lt;/a&gt;.&lt;/p&gt;



&lt;h3&gt;
  
  
  &lt;strong&gt;Step 2: Adding Interactivity with AI&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Once in Builder, it's time to make your design interactive. Use this prompt:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nx"&gt;when&lt;/span&gt; &lt;span class="nx"&gt;I&lt;/span&gt; &lt;span class="nx"&gt;click&lt;/span&gt; &lt;span class="nx"&gt;the&lt;/span&gt; &lt;span class="nx"&gt;button&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;toggle&lt;/span&gt; &lt;span class="nx"&gt;the&lt;/span&gt; &lt;span class="nx"&gt;menu&lt;/span&gt; &lt;span class="nx"&gt;and&lt;/span&gt; &lt;span class="nx"&gt;rotate&lt;/span&gt; &lt;span class="nx"&gt;the&lt;/span&gt; &lt;span class="nx"&gt;chevron&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Hit enter and let the AI work its magic. It will add the interactivity for you while you sit back and relax.&lt;/p&gt;

&lt;p&gt;Then, toggle quick preview (&lt;code&gt;cmd+\&lt;/code&gt; or &lt;code&gt;ctrl+\&lt;/code&gt;) to verify that everything works as expected. You should see the menu toggle and the chevron rotate when you click the button.&lt;/p&gt;



&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; The &lt;a href="https://www.builder.io/" rel="noopener noreferrer"&gt;Builder&lt;/a&gt; Visual Editor AI chat released with &lt;a href="https://www.builder.io/blog/visual-copilot-2" rel="noopener noreferrer"&gt;Visual Copilot 2.0&lt;/a&gt; is currently in a rolling beta — meaning some users will have access now, and some will come soon. We add new users each week — so if you don’t have access just yet, &lt;a href="https://www.builder.io/make-real-notify-me" rel="noopener noreferrer"&gt;request to be notified&lt;/a&gt; when your accent gets access&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Step 4: Generating Production Code&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;When you're happy with the functionality, it's time to get the code:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Hit the "Develop" button&lt;/li&gt;
&lt;li&gt;Click "Generate Code"&lt;/li&gt;
&lt;li&gt;Tweak any options as needed (frameworks, styling, languages, etc.)&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Builder supports many frameworks, like Vue, Svelte, Solid.js, as well as native outputs like SwiftUI, Flutter, and Jetpack Compose.&lt;br&gt;&lt;/p&gt;

&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;



&lt;p&gt;You can type to chat with the code to modify it in any way you like. You can also add &lt;a href="https://www.builder.io/c/docs/custom-instructions" rel="noopener noreferrer"&gt;custom instructions&lt;/a&gt;&lt;span&gt; to customize even futher.&lt;/span&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Step 5: Syncing the Code to Your Project&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;To get the code into your project:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Click "Sync Code"&lt;/li&gt;
&lt;li&gt;Copy the provided command&lt;/li&gt;
&lt;li&gt;Run it at the root of your project&lt;/li&gt;
&lt;li&gt;And there you have it - your new React component with TypeScript and tests, ready to be committed to your repository.&lt;/li&gt;
&lt;/ol&gt;



&lt;p&gt;And there you have it - your new React component with TypeScript and tests, ready to be committed to your repository.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;What's Next?&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Try this out with your own designs! Remember, AI is a powerful tool that can significantly speed up your development process, but it doesn't replace the need for engineering expertise.&lt;/p&gt;

&lt;p&gt;Use trial and error to get a good feel for what this AI is good for. Use it to accelerate your workflow and focus on the more complex aspects of your projects.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Resources&lt;/strong&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.notion.so/Turn-a-Figma-Dropdown-Design-Into-Working-React-Code-in-1-Minute-13b3d7274be580ca9574d39490c20844?pvs=21" rel="noopener noreferrer"&gt;&lt;strong&gt;Figma file used in this tutorial&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.figma.com/community/plugin/747985167520967365/builder-io-ai-powered-figma-to-code-react-vue-tailwind-more" rel="noopener noreferrer"&gt;&lt;strong&gt;Builder.io Figma plugin&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.builder.io/make-real-notify-me" rel="noopener noreferrer"&gt;&lt;strong&gt;Get notified when you get full Visual Copilot 2.0 access&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Give it a try - I can't wait to see what you build!&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>react</category>
      <category>design</category>
      <category>figma</category>
    </item>
    <item>
      <title>Introducing Visual Copilot 2.0: Design to Interactive</title>
      <dc:creator>Steve Sewell</dc:creator>
      <pubDate>Thu, 31 Oct 2024 17:46:45 +0000</pubDate>
      <link>https://dev.to/builderio/introducing-visual-copilot-20-design-to-interactive-5gnd</link>
      <guid>https://dev.to/builderio/introducing-visual-copilot-20-design-to-interactive-5gnd</guid>
      <description>&lt;p&gt;We've all been there. The design looks perfect in Figma. Everyone's approved it. But then comes the hard part: turning that static design into a living, breathing feature.&lt;/p&gt;

&lt;p&gt;Developers spend hours implementing each interaction. Designers watch their vision get lost in translation. Product managers juggle timelines as simple UI changes turn into week-long projects.&lt;/p&gt;

&lt;p&gt;Today, we're changing that forever by bringing our AI Assistant, Visual Copilot, to the Builder Visual Editor — enabling you to make Figma designs interactive with natural language, using your actual code, data, and APIs.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Real data, real APIs, real features&lt;/strong&gt;
&lt;/h2&gt;



&lt;p&gt;But it goes way beyond basic interactions. Unlike other AI tools, Visual Copilot isn't generating static code or isolated components.&lt;/p&gt;

&lt;p&gt;It understands your entire tech stack. From creating complete data tables to adding advanced features like sorting and pagination – all while working with your real data.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Interactive designs from natural language&lt;/strong&gt;
&lt;/h2&gt;



&lt;p&gt;Select any element and say what you want. "Turn this FAQ section design into an interactive accordion" and watch as static design content transforms into a smooth, collapsible interface with production-ready code.&lt;/p&gt;

&lt;p&gt;No coding required, just clear instructions.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Sync design changes to code&lt;/strong&gt;
&lt;/h2&gt;



&lt;p&gt;When designers update their Figma designs, merging those changes into your customized code base can be challenging.&lt;/p&gt;

&lt;p&gt;Visual Copilot makes it seamless – intelligently syncing design updates while preserving your code edits. One click, and changes flow straight to production, no manual reconciliation needed.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Your design system automated&lt;/strong&gt;
&lt;/h2&gt;



&lt;p&gt;Colors, typography, spacing, components – Visual Copilot understands and enforces your design system automatically.&lt;/p&gt;

&lt;p&gt;Whether your components are from your design files or generated by Visual Copilot, they're implemented exactly as intended, maintaining your brand's look and feel.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;No more generic AI designs.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Publish without bottlenecks&lt;/strong&gt;
&lt;/h2&gt;



&lt;p&gt;Update landing pages, change layouts, or modify pricing tables in minutes. Your marketing team gets pixel-perfect, on-brand results while developers focus on complex features.&lt;/p&gt;

&lt;p&gt;Even better - you can use the AI to personalize your site or app to different audiences, and publish updates (with approval workflows of course!) in a click.&lt;/p&gt;

&lt;p&gt;Everyone moves faster, with complete control over when changes go live.&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/MgAPAl20hDM"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Filling the space between design and coding tools&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252F58dc4de574cd429f8d254f0cf48a550b%3Fwidth%3D705" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252F58dc4de574cd429f8d254f0cf48a550b%3Fwidth%3D705" alt="The Space Between" width="705" height="392"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After seeing all these capabilities, you might wonder – what exactly is happening here? It's not exactly designing, though we're using your design tokens and Figma components. It's not exactly coding either, even though we're using your code components and APIs.&lt;/p&gt;

&lt;p&gt;It’s a new type of activity emerging in the space between design and development.&lt;/p&gt;

&lt;p&gt;This is a &lt;strong&gt;Visual Development Environment&lt;/strong&gt; – a tool that sits in the space between design and development.&lt;/p&gt;

&lt;p&gt;Because you can completely harness it with natural language, it’s not just for designers or developers; it’s for everyone in your organization.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;The power of design, code, and business context&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252Fe228851112e24201a6ba428fdb0e2e39%3Fwidth%3D705" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.builder.io%2Fapi%2Fv1%2Fimage%2Fassets%252FYJIGb4i01jvw0SRdL5Bt%252Fe228851112e24201a6ba428fdb0e2e39%3Fwidth%3D705" alt="The Completely Integrated" width="705" height="397"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Unlike other AI tools that generate isolated components or demos, Visual Copilot is deeply integrated with your entire product:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Your design context&lt;/strong&gt;: It understands your Figma components, design tokens, and documentation&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Your code context&lt;/strong&gt;: It knows your code components, coding standards, and development patterns&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Your business context&lt;/strong&gt;: It connects to your APIs, data models, and business logic&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This means describing complex features in just a few words gets you exactly what your team would build – using your design system, following your standards, connected to your services.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;More speed, more fun, better products&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Our goal is to automate the grunt work, so you and your team can focus on the impactful work that helps you build better products, faster.&lt;/p&gt;

&lt;p&gt;By reducing tedious tasks, we increase the time spent on enjoyable, creative work.&lt;/p&gt;

&lt;p&gt;Faster iteration cycles mean more opportunities to test, learn, and refine, ultimately leading to superior products.&lt;/p&gt;



&lt;h2&gt;
  
  
  &lt;strong&gt;Get Started with Visual Copilot 2.0&lt;/strong&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;The new Visual Editor UI is available now for all Builder users&lt;/li&gt;
&lt;li&gt;Visual Copilot features in the Visual Editor are rolling out gradually to all customers starting today&lt;/li&gt;
&lt;li&gt;Code Sync capabilities will be released soon&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>ai</category>
      <category>webdev</category>
      <category>productivity</category>
      <category>design</category>
    </item>
  </channel>
</rss>
