My approach to automated programming
Salvatore Sanfilippo on design investigation, iterative steering, and visual checks
Salvatore Sanfilippo explains his AI-assisted CAD workflow: investigate representation and algorithms, build a small prototype, steer interaction and performance, and give the agent screenshot-based checks. He argues for tools usable by both people and agents. Based on Italian auto-generated captions, summarized in English; development time and project outcomes are personal reports, while predictions about AI and design remain forecasts.
Salvatore Sanfilippo explains how he built an AI-assisted CAD prototype through intensive collaboration with a coding agent. His reported few hours of work were spent investigating feasibility, choosing behavior, inspecting results, and requesting changes—not writing one prompt and waiting. 03:10–05:19(opens in a new tab) The account illustrates his development process; it is not a controlled productivity comparison or an independent assessment of the CAD's correctness.
This summary is based on Italian auto-generated captions, translated and paraphrased into English. Nothing is a verbatim quotation; the original audio was not independently checked.
Main points
- Start with a design investigation, not an implementation request. Before opening the coding-agent session, Sanfilippo discussed whether SDF—a mathematical representation of 3D solids—could support the CAD he wanted. Easy Boolean operations such as combining or subtracting solids were only part of the question: he also asked about real-time display, face extrusion, and holes. He proposed extracting topology—the relationships among faces, edges, and vertices—after edits so the mathematical representation could support selecting and manipulating geometric features. The conversation convinced him the approach was promising; it did not establish that every algorithm would work. 04:12–08:19(opens in a new tab)
- Constrain the first implementation while preserving a specific future need. He chose a small graphics/UI stack. 08:19–09:23(opens in a new tab) He then asked the agent to collect papers on SDFs, geometric features, and rendering before implementation. The initial prototype needed basic shapes, a grid, solid versus empty forms, and grouping. He explicitly requested tree-shaped groups so later operations could apply at particular levels, rather than asking for a complete CAD up front. The grid still needed repeated correction. 10:26–12:35(opens in a new tab)
- Product direction consists of many concrete decisions. He describes adding face recognition, extrusion and twisting, separating grouped components for individual movement, and making movement controls follow the user's view. His target was an immediately accessible interface inspired by Autodesk Animator. These accumulated choices explain what he means by steering: the agent implements, while he keeps deciding how the tool should behave. 07:19–10:26(opens in a new tab), 12:35–14:40(opens in a new tab)
- Use observed friction to direct performance work. When complex objects moved too slowly, he asked for a cached mesh that could move quickly. He also requested low-resolution display during movement, followed by a GPU render after movement stopped, with a roughly 500-millisecond delay. The reported improvement strategy separates responsive interaction from the later render; the saved transcript provides no performance measurements. 13:36–14:40(opens in a new tab)
- Give the agent a way to inspect the result. For fillets—rounded edges—he asked the agent to generate random solids, try the operation from different perspectives, and capture screenshots to check consistency. He says the CAD already has primitives for moving objects and producing screenshots, making it easier for an LLM to develop and test. This is a concrete visual-checking workflow, not evidence that screenshots alone establish geometric correctness. 13:36–15:44(opens in a new tab)
- Manual design and agent operation can coexist. Sanfilippo argues that directly shaping a novel object can be easier than describing an imagined form verbally. He also describes a well-documented socket API with simple commands, rather than MCP mediation, as a way to make the CAD usable by agents as well as people. Depth-colored screenshots, alternative wireframes, and easier measurement are further possibilities he raises—not demonstrated completed capabilities or proof that MCP cannot support such work. 19:46–21:42(opens in a new tab)
- His case for CAD is scoped, not a claim of permanent human exclusivity. He accepts that AI can already help reconstruct parts and expects more organic modeling to move from a 2D sketch to an AI-generated 3D model. He sees a continuing role for hands-on CAD when an object combines function with a deliberately chosen form and aesthetic. He explicitly leaves open future AI capabilities; these are his judgments and forecasts, not established limits on models. 15:44–16:48(opens in a new tab), 17:38–23:28(opens in a new tab)