- Published on
Lessons I've learnt coding with AI tools
- Authors

- Name
- Thanesh Pannirselvam
I’ve been coding with AI tools over the course of the year now, and it is amazing to see how they’ve progressed and what they are capable of.
Of late, I’ve been using these tools to build co-asset-hub, a personal finance app for families to keep track of their assets so that they can make more informed decisions about their money.
I’ve been cooking up some other things as well, and have used many tools along the way. Each of these tools has taught me something new, and some of these lessons carry across the suite.
In this post, I share the universal lessons that I’ve learnt so far.
Lesson 1: Have a clear vision before crafting your first prompt
The first prompt is the most important prompt of your project as it sets up the foundation of your app.
Have a clear vision of what you are trying to achieve, and workshop the idea with ChatGPT (or another LLM of your choice).
Then once you are ready, ask the same LLM to craft you a first prompt that you will use to kick off your project.
Lesson 2: Utilise a Knowledge Base
Maintain a knowledge base/context of your application so that you can easily feed it into any AI tool of choice as you progress.
You want your knowledge base to comprise PRDs, themes, user flows, and in-scope vs. out-of-scope features.
Again, you can use your choice of LLM to workshop and refine this as much as your heart desires.
Keep in mind that your knowledge base does not have to be static. As your app changes, your requirements may also change, and so you can update this at any time.
Tip: You can also ask your AI tool of choice to generate pieces of context regarding your app anytime you desire.
Lesson 3: Make small iterations
AI works best when you are explicit about what you want and ask for small changes as opposed to big changes (or many things).
Ensure each prompt is well-defined and ask for small pieces of functionality.
Use a structured approach where appropriate, i.e., user stories, JSON, etc.
Personally, I like to write prompts as user stories as it maintains structure, and it is easy to spit out quickly; but there is no single right approach.
As a user, I want to [action], so that [benefit].
Acceptance Criteria:
- When [condition], then [result]
- [Additional criteria as needed]
Lesson 4: Debugging and Fixing Issues
You will inevitably run into issues; i.e., either some piece of functionality doesn’t work as expected or a feature doesn’t align with your vision.
What worked for me:
- Use chat mode where possible and ask the AI to investigate the issue. Validate the output makes sense, and then ask it to apply.
- Combine use of AI tools; i.e., switch between Cursor, Codex, Copilot, etc.
- Reframe your prompt differently or get ChatGPT (or similar) to reframe it for you.
Most importantly, get some fresh air, go for a walk, and come back with a clear mind.
You’d be surprised how effective this strategy is.
Final Thoughts
This guide isn’t perfect, but I hope it gives you some practical ideas.
Importantly, the more you do, the more you’ll learn along the way; which is the most useful sort of learning.
Gone are the days that you need a bunch of technical knowledge or experience to build.
Today, all you need is a vision.
What will you build?