At Brevity, we live by our progressive and pioneering values, always embracing new technologies and methodologies. When a large project requiring 3D coordination came up, I found myself short on time to outsource the work as usual. Recognising the potential of new AI development tools to streamline the process, I decided to give it a go and I created a new SketchUp extension myself. Despite having no prior experience with Ruby—the programming language required for SketchUp extensions—I leveraged AI-led development to complete the task. It didn’t go quite to plan and I was somewhat optimistic, but it worked, and I didn’t personally write even a single line of code! Here is a summary of my key learnings from that experience.

Toolbox for this project:

To complete this project, I utilised several powerful tools and frameworks:

  • SketchUp: A 3D modelling software widely used for architectural and design purposes.
  • SketchUp Ruby API: The scripting interface that allows developers to extend SketchUp’s functionality.
  • ChatGPT 4o: An AI-powered tool that assisted in generating code snippets, solving problems, and optimising workflows.
  • Cursor IDE: An integrated development environment (IDE) specifically designed for AI-enhanced development. IDEs are tools that provide a unified interface for writing, testing, and debugging code. Cursor IDE integrates AI capabilities to streamline development processes.
  • Claude Sonnet 3.5: Another AI tool that provided supplementary assistance in refining code and managing prompts.

This combination of tools enabled me to leverage both traditional development frameworks and cutting-edge AI technology to deliver results quickly and effectively.


1. Start with a Comprehensive Plan

Before diving into development, it’s crucial to outline a clear and concise plan for your extension or app. A well-thought-out roadmap keeps your development focused and organised. This is about getting the IDE to generate the right foundations and file structures, and is the first prompt in the IDE. Tools like ChatGPT can assist in creating this plan by brainstorming features, breaking down requirements, and concisely summarising the project prompt.


2. AI Development: Like Working with Enthusiastic Graduates

Using AI for development is a lot like working with overly enthusiastic graduates—if left unchecked, there’s a good chance they’ll do an excellent job creating exactly the wrong deliverable. Carefully review and guide the AI’s outputs to ensure it remains aligned with your goals and the intended outcomes of the project. This is your job now, management of the AI as it codes, not coding yourself.


3. Work in Small, Modular Steps

AI is excellent at generating code, but prompting it to tackle an entire codebase at once often leads to errors or inefficiencies. Break the task into smaller, modular chunks and focus on getting each module working perfectly before moving to the next. This approach not only reduces errors but also makes debugging far easier.


4. Streamline the Development Workflow

AI-led development often involves repetitive cycles of deploying, logging, prompting, and re-deploying. To maintain speed and efficiency, aim to keep this loop under a minute. Spending 30 minutes upfront to figure out how to deploy effectively is invaluable. In this case, it was essential to streamline the output from the Ruby console back into the IDE and ensure the test processes allowed for rapid iteration. A fast workflow enables you to test changes quickly and iterate rapidly, which is essential for AI-assisted development.


5. Manage Context with Conversation Threads

When using AI to generate code, conversation threads matter significantly. Each prompt builds on the context of the previous ones. If your last interaction focused on log cleanup, the AI will likely continue prioritising that in subsequent prompts—even if you’ve moved on to a new task.

To avoid confusion, start a new thread whenever you change the context or direction of your project. This ensures the AI stays focused on your current objective. To carry over the important information, make sure your last prompt in the previous thread is something like “summarise our work to this point. Break down our successful methods step-by-step and describe all components and functions”. This gives you the prompt you need to restart the thread, or inject this work back into or on top of another thread.


6. Use Logs Effectively

Logs are your best debugging tool, but they’re also a double-edged sword. Simply asking the AI to “add logs and fix bugs” often yields poor results. Instead:

  • Identify the specific issue using logs.
  • Roll back through the conversation thread to a point before problematic logs were introduced.
  • Clearly direct the AI on which logs to add and how to handle the issue.

Sometimes, the process of adding logs prompts the AI to generate better code overall.


7. Supplement AI with Searchable Libraries

AI tools currently struggle with less common frameworks, like the SketchUp API, forgetting correct arguments or inventing variables. To counteract this, create a detailed library of the API calls you’ll need. Search enabled ChatGPT can help here to compile this information, which you can save as a text file and integrate into your development environment, attaching it to your Cursor prompts.

This ensures the AI has accurate reference material to work with and improves its overall output.


8. Recognising and Managing AI’s Limitations

AI doesn’t inherently understand efficiency across different frameworks. For example, tt might reinvent an algorithm instead of using an optimised method provided by the API framework (it did this a couple of times to me). As a developer, you need to guide it, evaluate its output critically, and adjust accordingly. If processes are slower than expected, there’s a good chance this is the issue.


Final Thoughts

Could I have learned Ruby and the SketchUp API to build the extension myself? Certainly. Would it have taken about the same amount of time? Possibly… but I think it would have taken longer. However, learning a new language like Ruby would have crowded out what I know of JavaScript or Python (I don’t seem to have space in my RAM for more than one language at a time).

Instead, by honing my AI-assisted development skills, I’ve gained expertise that’s broadly applicable across all languages and frameworks. This transferable skill set is far more valuable in the long run, and I recommend that others explore it as well.

Building a custom SketchUp extension in four days was fun. While I encountered a steep learning curve, the combination of AI tools, careful planning, and an iterative workflow made the process far more manageable. AI-led development is not perfect—it requires oversight and critical thinking—but it is an incredibly powerful tool that can drastically reduce development time and effort.

I believe that there is no longer any software API, extension or language that is out of reach to a dedicated person that masters AI-assisted development. This is now an essential skill for technical professionals to learn and master.