Observe ZDNET: Add us as a most well-liked supply on Google.
ZDNET’s key takeaways
- Deal with the AI like one other developer, not a magic field.
- Encode design methods and consumer profiles in system prompts.
- Each fastened bug turns into a everlasting lesson discovered within the mission’s DNA.
Ever for the reason that days of punched playing cards, I’ve self-identified as a programmer and a pc scientist. The programmer aspect is the sensible aspect of my engineering identification, the one who crafts code line by line. The pc scientist is the theoretician, the scientist, the strategist, and the planner.
Whereas I really like the idea and science of computer systems, I’ve at all times loved the hands-on feeling of slicing code. I feel it is most likely akin to how some woodworkers desire hand instruments over energy instruments for the visceral really feel of working with wooden.
Additionally: Is Perplexity’s new Pc a safer model of OpenClaw? The way it works
Sadly, I’ve by no means had a lot time to code. My day-to-day job has been as an organization govt, founder, educator, and author. I do love making software program merchandise, however I’ve by no means managed to get multiple small product performed annually, utilizing little bits of accessible nights and weekend time.
All that modified this previous September. That is after I began utilizing agentic vibe coding instruments, equivalent to OpenAI’s Codex and Claude Code.
Since September, I’ve constructed and shipped 4 main merchandise (WordPress safety add-ons), constructed a working iPhone app for managing 3D printer filament, and am near having a beta of an app my spouse requested for managing stitching patterns. These final two are being constructed concurrently for iPhone, iPad, Apple Watch, and Mac.
As a sole coder, agentic AI has been a power multiplier of just about breathtaking functionality.
Additionally: I received 4 years of product growth performed in 4 days for $200, and I am nonetheless shocked
On this article, I will take you thru seven greatest practices I take advantage of. These practices assist me work with AI as a associate, and generate merchandise of a high quality appropriate for manufacturing use. On the finish, I will additionally share a bonus greatest apply that turns out to be useful extra usually than you may anticipate.
That is vibe coding. However it’s vibe coding with engineering self-discipline, and an underlying framework designed for robustness and product high quality. If you wish to use AI to construct your apps, observe these greatest practices.
Major apply: Written directions
The objects listed under are particular, deliberate practices. Every one comes from one thing I purposely constructed into my workflow.
The best way I make these practices stick is I’ve added them to the “ini” information for the AIs, the CLAUDE.MD and AGENTS.MD information. I’ve additionally added different information used to doc the mission itself. I will describe these in additional depth as you learn the remainder of this text.
Additionally: 10 ChatGPT Codex secrets and techniques I solely discovered after 60 hours of pair programming with it
Let’s begin with my first greatest apply, codified when I discovered that agent conduct in Xcode was unreliable for a number of parallel processes.
Undoubtedly maintain studying till the tip, as a result of the aforementioned bonus greatest apply is usually a actual game-changer.
1. Sequential visibility over parallel pace
The AI corporations are touting the brand new capability to run a number of brokers in parallel. Nonetheless, it is very tough to handle a number of brokers operating in parallel, particularly when you possibly can’t see what they’re all doing.
Worse, I discovered that this strategy causes crashes and hangs, leaving tasks in limbo. Till this turns into a manageable and visual approach, I solely wish to run one agent at a time.
Additionally: 10 issues I want I knew earlier than trusting Claude Code to construct my iPhone app
Manageability should take priority over pace, particularly when the AIs cover a lot extra of what you’d usually see line by line should you had been coding all of it your self.
My rule: “Do NOT use background agents or background tasks. Do NOT split into multiple agents. Process files ONE AT A TIME, sequentially. Update the user regularly on each step.” On this rule, “the user” is me, because it’s an instruction to the AI about its personal utilization.
Why it is elite: I discovered this the exhausting manner. Claude appeared to love launching parallel brokers in Xcode. However after a number of occasions when a number of parallel brokers received caught, turned unresponsive, needed to be killed, and left the codebase adjustments half-finished and in an indeterminant state, I received fed up.
The precept: I selected slower however seen over quicker however opaque. Sure, I will admit that ready for the AI can get tedious. However I will take predictability and recoverability over rash pace each time.
2. Migration monitoring as a first-class artifact
My two Apple tasks are being constructed for 4 platforms every: Mac, iPhone, Watch, and iPad. The capabilities and interfaces of those units are fairly completely different, particularly for my apps that depend on NFC (out there solely on the iPhone) and different options which might be most acceptable for various platforms.
For instance, within the stitching sample app, there is a very highly effective AI element for scanning and categorizing PDFs imported from the Mac’s file system, which is a workflow much less possible for use on an iPhone.
Additionally: AI brokers are quick, free, and uncontrolled, MIT research finds
The problem right here is that after I’m engaged on one platform, I do not wish to lose observe of adjustments for the others. So I’ve particulars about migrating platform-wide adjustments. These particulars are particularly encoded as an artifact that may be noticed, tracked, and referenced.
My rule: “Every time you make a change to an app that would also need to be applied to iOS, iPad, Mac, or Watch apps, log it in Docs/IOS_CHANGES_FOR_MIGRATION.md. Include: date, files changed, which platforms it applies to, what specifically changed (old to new values, code snippets if helpful), any notes about platform-specific adaptations completed and/or needed.”
Why it is elite: I do not belief myself (or the AI) to recollect adjustments throughout periods. Inside the AI, I constructed a structured change log that acts as a migration guidelines for bringing different platforms to parity. I take advantage of it as an operational instrument to stop drift between platforms.
The precept: Each change generates a technical debt ticket for each platform it hasn’t reached but.
3. Persistent reminiscence with semantic group
Each the AI and I study tons when constructing these apps. Some methods we attempt fail, and others develop into greatest practices. As a part of the method, I’ve the AI construct a data base that’s crammed with these learnings. For higher classification and simpler entry, I’ve the AI set up the data base by matter reasonably than notes added to the underside of a log.
My rule: I’ve the AI keep a MEMORY.md that persists throughout conversations, organized by matter (not chronologically), with separate matter information for detailed notes. I gave the AI this instruction: “Update or remove memories that turn out to be wrong or outdated. Do not write duplicate memories.”
Why it is elite: AI periods are stateless by default, however I wished to retain state data. Simply dumping all the things right into a log file would have been messy and inefficient. As a substitute, I had the AI construct and keep a curated data base that the AI reads on startup. The data base has API signatures, scoring algorithms, format measurements, and hard-won classes (tangible examples the place it took us some time to determine easy methods to make one thing work).
The precept: These classes and learnings could be utilized additional down the event path, or to sister tasks that use the identical foundational construction. Do not reinvent the wheel.
4. Immediate logging as an audit path
In contrast, I additionally need the AI to log each instruction I give it chronologically. This strategy is an effective way to reference what was labored on beforehand, particularly after I may not return to the mission for days and even weeks.
Additionally: From Clawdbot to OpenClaw: This viral AI agent is evolving quick – and it is nightmare gas for safety professionals
Moreover, this strategy permits us to return and see whether or not my immediate was insufficient or deceptive, or if another prompt-related issue may have brought about a fail or turned out to be a powerful win.
My rule: “Every session, after reading these instructions, log each user prompt to PROMPT_LOG.md. Timestamp each entry with date and time.”
Why it is elite: This strategy offers me (and the AI) an entire, timestamped file of each instruction I’ve ever given the AI throughout all periods. This serves a number of functions:
- I can reconstruct what occurred when one thing goes fallacious.
- I can see how a characteristic advanced by prompts.
- The AI and I can decide up precisely the place we left off.
It is model management for my collaboration with the AI.
The precept: If we will not replay the dialog, we will not debug the collaboration. Extra to the purpose, the strategy permits each of us (the AI and me) to return to reference particular directions, replay sure actions, and proper points that will have come out of unclear or incorrect prompting.
5. Person profile as a design constraint
My two Apple apps use comparable options, however have radically completely different consumer profiles. The filament stock mission is supposed for technically sturdy people managing a reasonably large set of 3D printers and filament sorts.
Additionally: I constructed an iOS app in simply two days with simply my voice – and it was electrifying
However, the stitching sample stock mission is meant for energetic sewists with a set of a whole lot and even hundreds of stitching patterns. Sewists are technically succesful with specialised stitching equipment, however they have an inclination to desire extra intuitive app interfaces than the 3D printer geeks. They’re usually extraordinarily fussy concerning the high quality of their collections and their data.
As a result of I usually flip to the AI for assist with design and implementation, I discover it advantageous for the AI to grasp the consumer profiles. When the AI does one thing completely different from what a typical consumer can be comfy with, I inform it, “remind me what the user profile is for the app.” This strategy forces the AI to keep in mind that information and restate it to me. In doing so, the AI instantly updates its work whereas specializing in these necessities and constraints.
My rule: “My sewing pattern inventory users are predominantly over 50. Many are grandparents. They typically have limited technical skills. They tend to have large collections with a strong ‘got to keep it’ collector mentality.”
I didn’t go into the nuances of the various kinds of machines these customers know, however saved it easy as a guise for the AI. The technical complexity of what sewists can produce is usually astounding. And critically, the distinction: “The sewing app needs to be noticeably more approachable than the filament app.” Sure, it is stereotypical. However stereotypical works fairly properly with the AI’s coaching corpus. It will get the job performed.
Why it is elite: Since I used to be counting on the AI for design assist, I wished to present it a psychological mannequin of the particular human utilizing the app. That consumer profile included age, technical consolation, and collector psychology, as a result of these components affect design decisions. When the AI makes a design suggestion, it has a profile for the individual the product is designed for. This setup echoes my total collaboration strategy — consider AI as simply one other developer on the opposite finish of a Slack channel.
The precept: Telling the AI who makes use of the software program helps it perceive easy methods to construct the software program.
6. Codified design system within the mission immediate file
As a former inventive director and designer, I understand how vital it’s to create a design language for a corporation or a product. Whereas it would look like Apple apps have their very own design language by advantage of being on Apple platforms, there’s nonetheless a lot of room for inconsistency.
Additionally: AI brokers are already inflicting disasters – and this hidden menace may derail your protected rollout
To mitigate this chance, I’ve encoded the design language for the tasks proper in the principle mission instruction file, so the AI can at all times reference it when constructing out designs. This strategy supplies us with a really constant, enticing, and comprehensible interface that works with each replace or change throughout growth.
My rule: I embedded a complete iOS and macOS design system straight within the CLAUDE.md predominant mission immediate file. These particulars embody particular font sizes (24pt daring for sheet titles, 15pt medium for listing objects), precise shade RGB values, element patterns (card construction, icon badge sizing, button kinds), and named reference implementations.
Why it is elite: Each new view the AI creates mechanically matches the prevailing ones as a result of the design tokens are within the system immediate and instantly out there to the AI. I haven’t got to inform it, “make it look like the other views,” and hope the AI can work out what “the other views” appear to be. The reference knowledge means the AI has an in depth design language for all UI parts.
The precept: Design consistency should not depend upon the AI’s reminiscence of what it constructed final time, or on its capability to derive design cues from earlier implementation code.
7. Exhausting-won classes encoded as guidelines
There are numerous, some ways for software program to fail. One of many gotchas about coding for Apple is that you just generally must go exterior its canned interfaces and options. Should you do this (and even generally if you code on to its design), stuff breaks.
Additionally: True agentic AI is years away – here is why and the way we get there
Reasonably than re-debug all the things every time round, I’ve the AI encode classes discovered, particularly after a protracted session of making an attempt to determine what broke. This manner, we will make it work once more later. This strategy is especially highly effective if the AI decides to scrap a block of code and recreate it. With classes encoded as guidelines, the AI is aware of what to not do.
My rule: Scattered all through my AI instruction information are classes from issues that went fallacious, encoded as everlasting guidelines. On the finish of each session, I inform the AI to file its learnings. The result’s a sequence of reusable directions based mostly on our growth experiences.
Listed here are some examples.
- “Never stack more than 4 .sheet() modifiers on the same view on macOS.” We discovered this when a PDF picker silently failed because the seventh stacked sheet.
- “NSOpenPanel.runModal() must not be called from inside a sheet’s onAppear.” We discovered this from a crash.
- “NEVER use .secondary, .gray, or low-opacity white for text” on watchOS. Instructed the AI based mostly on OLED readability testing.
- “Navigation titles use system styling (gray) to preserve back button functionality.” Realized and instructed, when customized toolbar objects hid the again button.
Why it is elite: Many builders repair a bug and transfer on. My strategy is that after we repair a bug, we write it into the mission DNA as a lesson. Bug fixes develop into pointers and restraints that the AI should observe for the lifetime of the mission. That manner, future periods do not expertise the identical issues. These solved issues develop into encoded as growth guardrails.
The precept: Each AI mistake ought to solely occur as soon as, as a result of avoiding it turns into a guardrail rule.
Bonus greatest apply: Code evaluation
These seven greatest practices kind a system. The AI begins every session studying its reminiscence, its design system, its guidelines, and brings itself in control on the migration tracker knowledge and the learnings we fastidiously encoded. The AI logs each immediate. It really works visibly, so it isn’t getting caught with a number of parallel brokers operating amok. It additionally is aware of easy methods to design for an actual individual, encoded within the consumer profile.
Successfully, this strategy goes past the concept of vibe coding, the place you say stuff, and the AI makes what it desires. This strategy is a fastidiously designed and engineered collaboration engine extra akin to conventional software program engineering administration practices.
Talking of software program engineering administration practices, here is a bonus: use the AI for code evaluation.
Additionally: 5 customized ChatGPT directions I take advantage of to get higher AI outcomes – quicker
Occasionally, I begin up a brand new session. However earlier than the AI reads all of the directions and notes, I inform it to research the mission and all its information. I ask it to flag points and issues. That manner, I get the equal of “fresh eyes.” The AI usually finds little particulars that must be addressed.
Highly effective. Straightforward to do. Enormously efficient. What’s to not love?
Have you ever adopted any structured practices when working with AI coding instruments, or are you continue to in full vibe-coding mode?
Do you run a number of brokers in parallel, or have you ever discovered that slower, extra seen workflows produce higher outcomes? Have you ever constructed persistent reminiscence information, migration logs, or immediate audit trails into your tasks? In that case, how has that modified your output high quality?
What about design constraints and consumer profiles? Are you explicitly instructing your AI who it is constructing for? I might love to listen to the way you’re collaborating with AI, what’s labored, what’s backfired, and whether or not you assume disciplined AI workflows actually do separate informal customers from elite builders. Remark under.
You may observe my day-to-day mission updates on social media. Be sure you subscribe to my weekly replace e-newsletter, and observe me on Twitter/X at @DavidGewirtz, on Fb at Fb.com/DavidGewirtz, on Instagram at Instagram.com/DavidGewirtz, on Bluesky at @DavidGewirtz.com, and on YouTube at YouTube.com/DavidGewirtzTV.



