Get the guide: Ship 10x faster with visual development + AI

Announcing Visual Copilot - Figma to production in half the time

Builder.io logo
Contact Sales
Platform
Developers
Contact Sales

Blog

Home

Resources

Blog

Forum

Github

Login

Signup

×

Visual CMS

Drag-and-drop visual editor and headless CMS for any tech stack

Theme Studio for Shopify

Build and optimize your Shopify-hosted storefront, no coding required

Resources

Blog

Get StartedLogin

‹ Back to blog

AI

Where AI Dev Tools Miss the Mark

July 26, 2024

Written By Steve Sewell

Artificial Intelligence will make developers obsolete,' they said. Yet here we are, debugging AI-generated code at 2 AM. Remember all those big promises?

AI was supposed to write perfect code, do all the boring stuff, and basically make our jobs a breeze. Fast forward to now, and well... it's not quite what we expected.

So, where are these AI-powered dev tools falling short? Why is this whole AI-assisted coding thing trickier than everyone thought? And most importantly, how can we actually use AI to make our lives easier instead of just adding to our to-do lists?

How AI is changing software development

It's fascinating to see how software development has evolved in the last couple decades.

Traditionally, developers had to meticulously code every operation a computer performed. This meant writing deterministic, step-by-step instructions for every task, from moving bits through a CPU to making a sequence of API calls.

AI flips this model on its head. Instead of writing sequential logic, we provide training data – aka lots (and lots) of input and output examples. The machine then learns patterns and generates its own logic, inspired by how human and animal brains work. This approach allows AI to tackle problems that were previously unsolvable with classical programming methods.

Take image recognition, for instance. Writing a program to detect whether an object in a photo is a cat would be incredibly difficult, if not impossible, using traditional coding methods. The sheer variety of cat photos and the complexity of pixel-by-pixel analysis make it an insurmountable task. However, neural networks, inspired by how our brains function, can now identify objects in images with remarkable accuracy after being trained on large datasets.

Large language models (LLMs) have taken this even further. By training on massive amounts of text data – huge swaths of the internet and published works – LLMs can engage in natural language conversations and even generate human-like text and code. This opens up entirely new ways of interacting with computers and automating complex tasks, allowing us to solve problems we couldn't previously.

Software development evolution.png

Given these capabilities, it's no wonder there's so much excitement around AI-powered developer tools. The promise is enticing: AI coding assistants that can write perfect code for you, design-to-code tools that instantly turn mockups into production-ready interfaces, and chatbots that can answer any programming question accurately. Ultimately, trying to find ways to do more with less.

Tools like GitHub Copilot, ChatGPT, and various design-to-code converters aim to deliver on these promises. And their demos can be quite impressive. However, the day-to-day reality of using these tools often falls short of expectations.

Tools that generate code create outputs that are frequently incorrect or don’t follow best practices. AI assistants confidently give wrong answers without indicating uncertainty. Design conversions produce rigid code that doesn't use your actual component library. The result is often throwaway code that creates more work than it saves.

As a developer, I'd often rather write the code myself than debug AI-generated code that looks correct but contains subtle flaws. This is especially true for larger, more complex tasks. While these tools can be helpful for small, isolated snippets, they struggle with substantive, production-ready code generation.

The landscape of AI-powered developer tools is diverse and rapidly evolving. Here's a quick overview of the main culprits:

  1. AI Code Completion Tools: These assist developers by suggesting code as they type. Examples include GitHub Copilot and Amazon CodeWhisperer.
  2. AI Code Generation Tools: These create entire code snippets or functions from natural language descriptions. Claude and ChatGPT are popular examples.
  3. Design-to-Code Conversion Tools: These tools aim to transform visual designs (e.g. from Figma) into functional code. Visual Copilot is a notable example in this category.
  4. Code Quality and Security Tools: AI-powered tools like Snyk help identify and fix potential vulnerabilities and quality issues in code.
  5. AI-Enhanced IDEs: These are development environments with built-in AI capabilities, such as Cursor or Visual Studio Code with AI extensions.
  6. Collaborative AI Coding Tools: These focus on bringing your whole team into the collaboration process, such as with a visual development platform.
  7. AI Agents: These are more future-looking, but projects like Micro Agent aim to do more end-to-end coding work than simple one-off generation or completion.

For a more comprehensive overview of this landscape, see our recent post on the Best AI Coding Tools for Developers in 2024.

Each of these categories addresses different aspects of the development process, from initial design to code writing, quality assurance, and team collaboration. While these tools offer significant potential to streamline workflows and boost productivity, they also come with limitations that we'll explore in the next section.

AI dev tools

There are several key reasons why current AI tools struggle to deliver on their promises:

AI models have limited context about your specific codebase, design system, and development practices. They can't truly understand how you write code or integrate with your existing systems. This lack of context means that while they might generate functional code, it often doesn't align with your team's conventions or utilize your existing components and APIs, making it unusable.

It’s awesome when Claude can generate a working UI, but if it doesn’t reuse your code and components what is the point? It’s just a cool demo and throwaway code

Code needs to be 100% correct to be useful. Even small errors can break entire systems. Current AI tools simply aren't reliable enough for many real-world use cases. They may produce code that looks correct at first glance but contains subtle bugs or inefficiencies that are time-consuming to identify and fix.

Many AI tools exist as standalone products rather than integrating seamlessly into existing workflows. This creates friction in actually using them day-to-day. Developers often find themselves context-switching between their usual development environment and these AI tools, which can disrupt their flow and productivity.

Tools often focus on solving isolated problems (like code completion) rather than improving the end-to-end development process. While these point solutions can be helpful, they don't address the broader challenges of software development, from ideation to deployment.

AI dev tool challenges

To truly unlock the potential of AI in software development, we need to rethink our approach. Instead of viewing AI as a magic solution that will replace developers, we should see it as a powerful tool that can augment human capabilities and streamline workflows across the entire software development lifecycle.

Generated code needs to seamlessly integrate with existing codebases and follow team conventions. The output should be production-ready, not just a starting point. This means AI tools need to understand and respect your design systems, component libraries, and coding standards. They should produce code that looks and functions as if it were written by a member of your team.

Instead of isolated tools, we need AI assistants that understand the full development lifecycle – from ideation to deployment. These assistants should be able to take a high-level idea or design mockup and guide it through the entire development process, handling tedious tasks while allowing humans to focus on creative problem-solving.

AI should handle tedious tasks while amplifying human creativity and problem-solving. It's a collaborative tool, not a replacement for developers (read more on this is in my recent blog on AI’s impact on software development jobs). The goal is to free up human developers to focus on the most challenging and interesting aspects of software development, while AI handles the more routine and repetitive tasks.

AI shouldn't just make developers more productive – it should empower everyone involved in building software. Imagine designers tweaking UI directly in code, marketers updating landing pages without filing tickets, or product managers prototyping new features themselves. By democratizing the software development process, we can break down silos between roles and accelerate the journey from idea to working software.

Rethinking AI dev tools

At Builder, we’re all about turning ideas into reality as quickly and efficiently as possible. And we're leveraging AI to do just that – addressing key shortcomings of current tools while unlocking new possibilities for entire organizations.

Impact on teams

Our AI-powered Visual Copilot aims to bridge the gap between design and code, and we’ve recently made major improvements to better understand your unique design systems, tokens, components, coding style, and more.

Unlike tools that generate isolated snippets, our AI produces code that integrates deeply with your existing codebase, maintaining quality and consistency.

Looking forward, we’re focused on streamlining the entire development process, so you can take an idea and make it real as quickly as possible. By integrating AI throughout the workflow, we automate tedious tasks and enable more effective collaboration.

As AI technology continues to advance, its impact on software development will only grow. But it's crucial that we guide this technology in the right direction. AI should augment human capabilities, not replace them. It should break down silos between roles, not reinforce them.

Used effectively, AI has the potential to dramatically accelerate the journey from idea to working software, allow developers to focus on challenging, creative work, make software development more accessible to non-technical team members, and enable companies to build better products faster.

AI driven software development

The key is to approach AI not as a magic solution, but as a powerful tool that needs to be wielded thoughtfully. By addressing the current limitations of AI developer tools, we can create a future where technology truly empowers human creativity and problem-solving.

I for one am really excited to be working at the forefront of this transformation. We believe that by making software development more fun and collaborative, we can unlock innovation and enable companies to better serve their users. The AI revolution in software is just beginning – and its full potential is yet to be realized.

Share

Twitter
LinkedIn
Facebook
Hand written text that says "A drag and drop headless CMS?"

Introducing Visual Copilot:

A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot
Newsletter

Like our content?

Join Our Newsletter

Continue Reading
AI Assisted Development22 MIN
The Ultimate Introduction to Cursor for Developers
WRITTEN BYVishwas Gopinath
September 5, 2024
CMS12 MIN
The Ultimate Guide to Headless CMS
WRITTEN BYSteve Sewell
September 3, 2024
open source11 MIN
The Unintended Consequences of Open Sourcing Software
WRITTEN BYSteve Sewell
August 29, 2024