everyday tactics on AI first development

I have used ChatGPT for much of the past year, so I have some credibility. I've built mostly from-scratch applications, using AI primarily for writing functions and manually architecting structure, and function and domain scopes in my codebase. As always, AI driven engineering is changing at a rapid pace so there is no right way. Here are some useful tactics you can use to build faster, safer, and with more control than simply prompt engineering.

The more specialized you become, the more control you can extract, but that gets tricky when you shift to prompt engineering. Cursor and handful of other products do a remarkable job of enabling you to pick the output, but you often loose control as much is generated. There are also instances, mostly related to styling, where the end result requires so many iterations that you give up promptly (pun intended) and revert to your old habits. I've fallen into the trap of starting with AI, and at the point where I need to intervene manually, I forget to prompt until the next feature.

Use Git commits frequently.
Use Git commits frequently. When a significant amount of source code is generated with verbosity, it can be overwhelming to validate if the changes work as intended. Instead of reading through the entire codebase, engage with the product to validate if the changes worked as intended.

Make changes atomically or structured in domains.

Use the product to validate test cases and write them as inline comments.

Manually writing tests, which can be time-consuming, consider visually generating tests for certain features.

In the event that future test cases fail, you'll have a valid commit where the feature works. This is a trade-off that may make sense to fulfill at a later point. Tests ensure that features remain valid at every commit.

You can also generate tests at this point but I personally my productivity and momentum drop sharply so its a personal choice. More companies die due to lack of PMF than having to many bugs. There are other ways you can handle those cases which I will discuss in a future post. Personally 0-to-1 products should focus on customers, getting payments and stellar customer support.

Setup a .cursorrules file to store your system prompts.

Loading...
highlight
Collect this post to permanently own it.
artivilla's evergreen notes logo
Subscribe to artivilla's evergreen notes and never miss a post.
#engineering