
Over the last year, AI has become a regular part of my development workflow. Like many developers, I started with ChatGPT for answering questions, generating code snippets, and learning new concepts. Today my workflow has evolved — instead of one tool for everything, I use ChatGPT and Codex together while building ASP.NET Core applications.
Many people think AI is about generating code faster. In reality, the biggest benefit I have experienced is faster decision-making — less time searching for answers, less time stuck on problems, and less time writing boilerplate. That frees you to focus on what actually matters: building reliable software that solves real business problems.
"The biggest change AI has brought to my workflow is not faster coding. It's faster decision-making."
AI Does Not Replace Development Knowledge
Before discussing tools, something important needs to be said clearly: AI does not replace software engineering fundamentals. You still need to understand:
- Database design and normalization
- API architecture and patterns
- Security and authentication / authorization
- Performance optimization
- Application design patterns
- Business requirements analysis
AI can accelerate development, but it cannot replace technical judgment. The stronger your technical knowledge, the better results you will get from any AI tool.
Phase 1 — Starting with Requirements
One of the biggest mistakes developers make is jumping directly into coding. When I receive a new requirement, I always start with ChatGPT — before a single file is opened.
A client might request something that sounds straightforward:
"We need a customer loyalty system with cashback, rewards, transactions, multiple outlets, and reporting."
But requirements like this always have hidden complexity. I use ChatGPT to surface it before development begins:
- How is cashback calculated — at vendor level or outlet level?
- Can multiple rewards be combined in a single transaction?
- What happens when a transaction is refunded?
- Do rewards expire, and how is expiry enforced?
- Who has admin access, and what can they override?
Catching these gaps in conversation costs minutes. Discovering them mid-implementation costs days.
Phase 2 — Designing the Database
After understanding the requirements, I move to database design — and I bring ChatGPT along as a second reviewer. I sketch entity relationships and table structures, then ask it to pressure-test them:
- Are there normalization issues I have missed?
- Is there a missing entity that will cause problems later?
- How does this schema handle the edge cases we identified in requirements?
The final schema is always my responsibility. But ChatGPT has a useful habit of surfacing scenarios I had not fully considered — the kind that become expensive to fix once data is in production.
Phase 3 — Planning Before Coding
Before implementation starts, I use ChatGPT to break the feature into clearly scoped tasks. For a loyalty module, that might look like this:
- Create customer, cashback rule, reward, and transaction entities
- Implement repository and service layers for each
- Build and document REST APIs
- Create admin management screens
- Build reporting views and exports
Phase 4 — Where Codex Fits In
Once requirements, schema, and task breakdown are solid, I switch to Codex. This is where the biggest productivity gains appear.
What makes Codex different from traditional AI tools is its awareness of the existing project. It can inspect controllers, services, repositories, models, DTOs, and configuration files. Because it understands how the project is already structured, the code it generates fits naturally rather than requiring a major rewrite to integrate.
For a transaction listing module, I can ask Codex to create repository methods, wire up the service layer, implement pagination and filtering, and update the API endpoints — across multiple files, in one pass. What would take hours of repetitive typing takes minutes.
How I Split the Two Tools
One lesson I learned quickly: ChatGPT and Codex should not be used for the same tasks. ChatGPT is better for discussion and planning. Codex is better when the implementation task is already clear. Using each tool for its strengths makes both more effective.
๐ฌ ChatGPT
- Requirements discovery
- Architecture planning
- Database design review
- Feature decomposition
- Exploring trade-offs
- Debugging discussions
- Learning new concepts
⚙️ Codex
- Feature implementation
- Cross-file refactoring
- Bug fixes
- Repetitive coding tasks
- Project-wide changes
- Code review suggestions
- Test generation
A Quick Note on Plus Plan Usage
One practical point I learned while using ChatGPT Plus is that Codex should be used carefully. Codex is powerful, especially when it works with the actual project source code, but complex implementation tasks can consume usage much faster than normal ChatGPT discussions.
Because of that, I do not use Codex for long requirement discussions, general brainstorming, or architecture debates. I first use ChatGPT to understand the requirement, compare approaches, design the database, and break the work into small tasks.
Once the task is clear, I move to Codex for implementation. This helps me plan my day and week better, especially when I know I have larger coding tasks ahead. In simple words, I try not to spend Codex usage on conversations that can be handled properly in ChatGPT.
Debugging with AI
Both tools earn their place when something breaks. My debugging process starts with ChatGPT: I describe what I am trying to do, share the error message, paste the relevant code, and explain the expected behavior. Even when it does not produce an immediate answer, the process of articulating the problem clearly often uncovers the issue itself.
Common culprits that get resolved quickly this way:
- Incorrect dependency injection configuration
- Missing or wrong application settings
- Entity Framework relationship misconfigurations
- Serialization / deserialization issues
- Authentication and middleware ordering mistakes
Code Review and Refactoring
After implementing a feature, I sometimes use ChatGPT as a reviewer. I ask whether the approach is maintainable, whether there is unnecessary complexity, and whether there are edge cases I have missed. Questions I commonly ask:
- Is this approach maintainable at scale?
- Can this logic be simplified?
- Are there potential performance issues here?
- Is there duplicated code that could be extracted?
I do not follow every suggestion blindly. But AI occasionally catches things that would have become tech debt — think of it as having a second developer review your work before you submit.
What AI Still Gets Wrong
Despite how useful AI has become, it is not perfect. I have seen AI tools:
- Generate inefficient SQL queries that work but will not scale
- Suggest patterns that introduce security vulnerabilities
- Misinterpret a business rule when context is ambiguous
- Produce code that compiles cleanly but solves the wrong problem
- Add unnecessary complexity when a simpler solution exists
Final Thoughts
Working effectively with AI tools is becoming as important as knowing your framework. Not because AI writes your software for you — it does not — but because it removes the friction that slows you down at every other step.
ChatGPT helps me think through problems. Codex helps me implement solutions. Together, they allow me to focus more on what actually matters: building reliable software that solves real business problems.
"The AI revolution is not coming. It is here. The question is whether you will use it to think better — or just type faster."


