Comply with ZDNET: Add us as a most popular 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 mounted bug turns into a everlasting lesson discovered within the challenge’s DNA.
Ever because the 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 that crafts code line by line. The pc scientist is the theoretician, the scientist, the strategist, and the planner.
Whereas I really like the speculation and science of computer systems, I’ve at all times loved the hands-on feeling of slicing code. I feel it is in all probability akin to how some woodworkers choose hand instruments over energy instruments for the visceral really feel of working with wooden.
Additionally: Is Perplexity’s new Laptop 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 government, founder, educator, and author. I do love making software program merchandise, however I’ve by no means managed to get a couple of small product carried out annually, utilizing little bits of obtainable nights and weekend time.
All that modified this previous September. That is after I began utilizing agentic vibe coding instruments, akin 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 pressure multiplier of just about breathtaking functionality.
Additionally: I acquired 4 years of product growth carried out in 4 days for $200, and I am nonetheless shocked
On this article, I’ll take you thru seven finest practices I exploit. These practices assist me work with AI as a companion, and generate merchandise of a high quality appropriate for manufacturing use. On the finish, I am going to additionally share a bonus finest observe that is useful extra typically than you may count on.
That is vibe coding. Nevertheless 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, comply with these finest practices.
Major observe: Written directions
The gadgets listed beneath 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” recordsdata for the AIs, the CLAUDE.MD and AGENTS.MD recordsdata. I’ve additionally added different recordsdata used to doc the challenge itself. I am going to 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 finest observe, codified when I discovered that agent habits in Xcode was unreliable for a number of parallel processes.
Positively preserve studying till the top, as a result of the aforementioned bonus finest observe is usually a actual game-changer.
1. Sequential visibility over parallel velocity
The AI firms are touting the brand new capability to run a number of brokers in parallel. Nevertheless, it’s extremely tough to handle a number of brokers operating in parallel, particularly when you’ll be able to’t see what they’re all doing.
Worse, I discovered that this strategy causes crashes and hangs, leaving initiatives in limbo. Till this turns into a manageable and visual approach, I solely need 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 velocity, particularly when the AIs cover a lot extra of what you’d usually see line by line for those who have been coding all of it your self.
My rule: “Do NOT use background brokers or background duties. Do NOT break up into a number of brokers. Course of recordsdata ONE AT A TIME, sequentially. Replace the consumer often on every step.” On this rule, “the consumer” is me, because it’s an instruction to the AI about its personal utilization.
Why it is elite: I discovered this the laborious means. Claude appeared to love launching parallel brokers in Xcode. However after a couple of occasions when a number of parallel brokers acquired caught, grew to become unresponsive, needed to be killed, and left the codebase modifications half-finished and in an indeterminant state, I acquired fed up.
The precept: I selected slower however seen over sooner however opaque. Sure, I am going to admit that ready for the AI can get tedious. However I am going to take predictability and recoverability over rash velocity each time.
2. Migration monitoring as a first-class artifact
My two Apple initiatives are being constructed for 4 platforms every: Mac, iPhone, Watch, and iPad. The capabilities and interfaces of those gadgets are fairly totally different, particularly for my apps that depend on NFC (out there solely on the iPhone) and different options which are 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 doubtless for use on an iPhone.
Additionally: AI brokers are quick, free, and uncontrolled, MIT examine finds
The problem right here is that after I’m engaged on one platform, I do not need to lose monitor of modifications for the others. So I’ve particulars about migrating platform-wide modifications. These particulars are particularly encoded as an artifact that may be noticed, tracked, and referenced.
My rule: “Each time you make a change to an app that will additionally should be utilized to iOS, iPad, Mac, or Watch apps, log it in Docs/IOS_CHANGES_FOR_MIGRATION.md. Embody: date, recordsdata modified, which platforms it applies to, what particularly modified (previous to new values, code snippets if useful), any notes about platform-specific diversifications accomplished and/or wanted.”
Why it is elite: I do not belief myself (or the AI) to recollect modifications throughout periods. Throughout the AI, I constructed a structured change log that acts as a migration guidelines for bringing different platforms to parity. I exploit it as an operational device to forestall 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 be taught tons when constructing these apps. Some methods we strive fail, and others grow to be finest practices. As a part of the method, I’ve the AI construct a information base that’s crammed with these learnings. For higher classification and simpler entry, I’ve the AI arrange the information base by matter slightly 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 recordsdata for detailed notes. I gave the AI this instruction: “Replace or take away recollections that transform mistaken or outdated. Don’t write duplicate recollections.”
Why it is elite: AI periods are stateless by default, however I needed to retain state info. Simply dumping the whole lot right into a log file would have been messy and inefficient. As a substitute, I had the AI construct and keep a curated information base that the AI reads on startup. The information base has API signatures, scoring algorithms, structure 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 may be utilized additional down the event path, or to sister initiatives 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 a good way to reference what was labored on beforehand, particularly after I may not return to the challenge 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: “Each session, after studying these directions, log every consumer immediate to PROMPT_LOG.md. Timestamp every entry with date and time.”
Why it is elite: This strategy offers me (and the AI) an entire, timestamped document 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 mistaken.
- I can see how a function advanced via 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. Consumer profile as a design constraint
My two Apple apps use related options, however have radically totally different consumer profiles. The filament stock challenge 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
Alternatively, the stitching sample stock challenge is meant for energetic sewists with a set of tons of and even hundreds of stitching patterns. Sewists are technically succesful with specialised stitching equipment, however they have an inclination to choose extra intuitive app interfaces than the 3D printer geeks. They’re typically extraordinarily fussy in regards to the high quality of their collections and their info.
As a result of I typically flip to the AI for assist with design and implementation, I discover it advantageous for the AI to know the consumer profiles. When the AI does one thing totally different from what a typical consumer can be snug with, I inform it, “remind me what the consumer profile is for the app.” This strategy forces the AI to do not forget 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 stitching sample stock customers are predominantly over 50. Many are grandparents. They usually have restricted technical expertise. They have a tendency to have massive collections with a powerful ‘acquired to maintain it’ collector mentality.”
I didn’t go into the nuances of the several types of machines these customers know, however saved it easy as a guise for the AI. The technical complexity of what sewists can produce is commonly astounding. And critically, the distinction: “The stitching app must be noticeably extra approachable than the filament app.” Sure, it is stereotypical. However stereotypical works fairly nicely with the AI’s coaching corpus. It will get the job carried out.
Why it is elite: Since I used to be counting on the AI for design assist, I needed to offer 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 elements 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 challenge immediate file
As a former inventive director and designer, I understand how necessary it’s to create a design language for a corporation or a product. Whereas it would seem to be Apple apps have their very own design language by advantage of being on Apple platforms, there’s nonetheless numerous room for inconsistency.
Additionally: AI brokers are already inflicting disasters – and this hidden menace may derail your protected rollout
To mitigate this risk, I’ve encoded the design language for the initiatives proper in the principle challenge instruction file, so the AI can at all times reference it when constructing out designs. This strategy gives us with a really constant, engaging, 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 principal challenge immediate file. These particulars embody particular font sizes (24pt daring for sheet titles, 15pt medium for checklist gadgets), actual colour 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 appear to be the opposite views,” and hope the AI can work out what “the opposite views” appear to be. The reference information means the AI has an in depth design language for all UI components.
The precept: Design consistency should not rely upon the AI’s reminiscence of what it constructed final time, or on its capability to derive design cues from earlier implementation code.
7. Onerous-won classes encoded as guidelines
There are a lot of, some ways for software program to fail. One of many gotchas about coding for Apple is that you just typically must go exterior its canned interfaces and options. When you try this (and even typically once you code on to its design), stuff breaks.
Additionally: True agentic AI is years away – here is why and the way we get there
Somewhat than re-debug the whole lot every time round, I’ve the AI encode classes discovered, particularly after an extended session of attempting to determine what broke. This fashion, we are able to 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 recordsdata are classes from issues that went mistaken, encoded as everlasting guidelines. On the finish of each session, I inform the AI to document its learnings. The result’s a sequence of reusable directions primarily based on our growth experiences.
Listed below are some examples.
- “By no means stack greater than 4 .sheet() modifiers on the identical view on macOS.” We discovered this when a PDF picker silently failed because the seventh stacked sheet.
- “NSOpenPanel.runModal() should not be referred to as from inside a sheet’s onAppear.” We discovered this from a crash.
- “NEVER use .secondary, .grey, or low-opacity white for textual content” on watchOS. Instructed the AI primarily based on OLED readability testing.
- “Navigation titles use system styling (grey) to protect again button performance.” Realized and instructed, when customized toolbar gadgets hid the again button.
Why it is elite: Many builders repair a bug and transfer on. My strategy is that once we repair a bug, we write it into the challenge DNA as a lesson. Bug fixes grow to be tips and restraints that the AI should comply with for the lifetime of the challenge. That means, future periods do not expertise the identical issues. These solved issues grow to be 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 finest observe: Code overview
These seven finest practices type a system. The AI begins every session studying its reminiscence, its design system, its guidelines, and brings itself on top of things on the migration tracker information and the learnings we rigorously 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 needs. This strategy is a rigorously 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 overview.
Additionally: 5 customized ChatGPT directions I exploit to get higher AI outcomes – sooner
Every now and then, I begin up a brand new session. However earlier than the AI reads all of the directions and notes, I inform it to investigate the challenge and all its recordsdata. I ask it to flag points and issues. That means, I get the equal of “recent eyes.” The AI typically finds little particulars that should 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 recordsdata, migration logs, or immediate audit trails into your initiatives? If that’s the 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 would 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 beneath.
You’ll be able to comply with my day-to-day challenge updates on social media. Remember to subscribe to my weekly replace e-newsletter, and comply with 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.

