“We should use event sourcing with CQRS for this project,” declared the AI confidently. “It’s the most appropriate pattern given your requirements for auditability and eventual consistency.”
I cringed internally. Event sourcing for a relatively simple CRUD application? It seemed like massive overkill. Every instinct from my 12 years as a software architect screamed that this was the wrong approach.
But I had made a commitment: for one month, ChatGPT would make all my architectural decisions. I would implement them faithfully, regardless of whether I agreed.
So I typed back: “Sounds good. Can you outline the specific implementation details?”
This experiment began after a heated debate with colleagues about the role of AI in software architecture. Some believed AI could never replace the nuanced judgment of experienced architects. Others argued that AI was already making better decisions than humans in many domains — why not software architecture too?
I decided to find out firsthand by conducting a radical experiment: for four weeks, I would let ChatGPT make every architectural decision on my current projects. From high-level patterns to detailed implementation choices, nothing would be exempt.
As the technical lead for a consultancy working with three active clients, this was a high-stakes gamble. But with careful client communication and some safety guardrails, I embarked on what would become one of the most enlightening experiences of my career.
Here’s what happened, what I learned, and why the results were nothing like what I expected.
Before diving into the results, let me explain how I structured this experiment:
I applied the experiment to three distinct projects:
- Project Alpha: A customer portal for a financial services firm
- Project Beta: An internal data processing pipeline for a logistics company
- Project Gamma: A greenfield mobile app for a healthcare startup
These projects varied in scale, domain, and constraints, providing a diverse testing ground.
I established clear guidelines for myself:
- ChatGPT would make all architectural decisions, from high-level patterns to detailed implementation choices
- I would implement these decisions exactly as specified, even if I disagreed
- For client safety, I reserved the right to override decisions that would clearly jeopardize the project (though I never needed to exercise this)
- I would track all decisions, my initial reactions, and the actual outcomes
- I would use the same prompting technique for consistency
For each decision, I used a standard prompting template:
I need to make a decision about [specific architectural concern].Project Context:
- [Domain description]
- [Key requirements]
- [Existing architecture if applicable]
- [Constraints]
Options I'm considering:
- [Option 1]
- [Option 2]
- ...
What architectural decision would you recommend and why?
With follow-up clarifications as needed.
Now, let’s examine what happened.
Going into this experiment, I had three primary hypotheses:
- ChatGPT would suggest overly complex, buzzword-heavy architectures
- Its decisions would be technically sound but impractical for real-world constraints
- The experiment would ultimately demonstrate that human architects are still essential
All three hypotheses were wrong.
Contrary to my expectations, ChatGPT consistently favored simpler solutions over complex ones. When I presented options ranging from simple to complex, it typically recommended the simplest approach that met the requirements.
In Project Beta, for instance, I asked whether we should use:
- A simple cron job with scripts
- Apache Airflow
- A custom stream processing framework
I was certain it would choose Airflow or the custom framework. Instead, it recommended starting with cron jobs and only moving to Airflow if orchestration complexity increased significantly. Its rationale was thoughtful and pragmatic: “Given the current scale and the team’s familiarity with scripts, introducing Airflow would add unnecessary operational complexity without providing immediate benefits.”
This pattern repeated across decisions. The AI consistently pushed back against premature optimization, over-engineering, and unnecessary abstraction — the very things experienced architects strive to avoid.
The exception? That event sourcing recommendation I mentioned at the beginning. But even that turned out to be based on a misunderstanding of my prompt — I had unintentionally overemphasized audit requirements in a way that made event sourcing seem reasonable.
When I clarified, ChatGPT immediately reversed course: “Given this clarification, event sourcing would be overkill. A simple relational database with an audit log table would be more appropriate for your needs.”
Perhaps the most surprising finding was how well ChatGPT incorporated project-specific context into its recommendations. It didn’t just regurgitate textbook architecture patterns — it adapted them to the specific circumstances of each project.
For Project Gamma, the healthcare app, the AI recommended different approaches for different components based on their specific requirements:
- For patient data: A straightforward RESTful API with careful attention to authorization boundaries
- For real-time notifications: A lightweight event-driven approach using WebSockets
- For analytics: A separate data pipeline with eventual consistency
Rather than applying a one-size-fits-all architecture, it tailored recommendations to the varied needs within the same application.
This contextual awareness extended to team capabilities as well. When I mentioned that Project Alpha had primarily junior developers, ChatGPT adjusted its recommendations to favor familiar patterns and extensive documentation over cutting-edge approaches.
The most valuable aspect of ChatGPT’s architectural guidance wasn’t its recommendations themselves, but the reasoning process it used to reach them.
For each decision, the AI would:
- Consider multiple approaches
- Evaluate them against explicit criteria
- Acknowledge trade-offs
- Explain its reasoning
This structured approach forced a level of rigor that I realized I sometimes skip in my own decision-making. I might dismiss an option immediately based on intuition without fully articulating why.
In Project Alpha, I was convinced we needed a microservices architecture due to team structure. ChatGPT pushed back with a thoughtful analysis suggesting a modular monolith would better serve current needs while setting up for future decomposition if necessary. Its reasoning was comprehensive:
While microservices align with your team structure, they introduce significant complexity:1. Operational overhead: Each service requires separate deployment pipelines, monitoring, etc.
2. Network resilience: Distributed systems require sophisticated error handling
3. Data consistency: Cross-service transactions become challenging
Given your timeline constraints and the fact that domain boundaries may evolve, a modular monolith would:
- Provide clear code separation for teams
- Avoid operational complexity during initial development
- Allow incremental extraction of services as boundaries stabilize
- Better accommodate your junior developers' learning curve
I reluctantly implemented this recommendation — and six weeks later, it proved prescient when requirements shifted and domain boundaries needed adjustment. Had we gone with microservices, this would have been painful. The modular monolith allowed us to refactor internal boundaries with relative ease.
As the experiment progressed, I discovered several unexpected advantages to involving AI in the architectural process:
Software architects make hundreds of decisions daily, from high-level patterns to naming conventions. This decision load leads to fatigue, where quality deteriorates for later decisions.
Having ChatGPT handle routine architectural decisions freed mental capacity for the truly novel aspects of each project. I found myself less exhausted and more creative overall.
An often-overlooked responsibility of architects is documenting why decisions were made. In practice, this frequently falls by the wayside under time pressure.
The conversation format with ChatGPT naturally created an archive of architectural decisions, complete with context, alternatives considered, and reasoning. This documentation proved invaluable for onboarding new team members and for my own reference.
We all develop preferences and biases over our careers. I realized I had been automatically reaching for certain patterns based on familiarity rather than strict appropriateness.
ChatGPT had no such loyalties. It recommended technologies and patterns based solely on their fit for the current problem, occasionally suggesting approaches I would have overlooked due to unconscious bias.
Despite the surprising benefits, the experiment also exposed clear limitations in AI’s architectural capabilities:
Software architecture often involves mediating between competing stakeholder concerns: developers want maintainability, product managers want features, operations wants stability, business wants speed.
ChatGPT struggled to make these inherently political trade-offs. When requirements conflicted, it tended to acknowledge the conflict but avoid taking a strong position on which concern should take precedence.
Every organization has unwritten knowledge — historical decisions, abandoned approaches, cultural values that influence technical choices.
Despite my efforts to include this context in prompts, ChatGPT couldn’t fully incorporate the rich institutional history that influences architectural decisions. It missed nuances about why certain approaches had been avoided in the past or why seemingly irrational constraints existed.
While ChatGPT had impressive breadth, its knowledge depth varied across domains. It provided sophisticated guidance on web architecture and data processing but gave more generic advice for specialized domains like embedded systems or high-frequency trading.
In these specialized areas, the AI could outline general approaches but lacked the domain-specific insights that experienced architects would possess.
By the end of the experiment, I had discovered that the question wasn’t whether AI could replace architects, but how architects could most effectively collaborate with AI.
Here’s the model I’ve adopted since:
For each architectural decision, I now start by asking ChatGPT to generate a first draft approach. This provides a structured starting point with alternatives already considered.
Given the requirement to implement user authentication for our mobile application, I'd recommend:Approach: OAuth 2.0 with OpenID Connect using a managed identity provider
Rationale:
- Security: Delegating to specialists reduces risk of implementation vulnerabilities
- Maintenance: Managed services handle security updates and compliance
- User Experience: Supports social login and standard authentication flows
Alternatives considered:
1. Custom authentication system: Rejected due to security risks and maintenance burden
2. Basic authentication: Insufficient security for sensitive health data
3. JWT-based auth without OIDC: Lacks standardized user info and session management
This structured first draft saves time and ensures I don’t overlook common approaches.
Perhaps the most valuable role for AI is challenging my thinking. I now regularly ask ChatGPT to critique my architectural decisions, particularly ones I’m very confident about.
Prompts like “What are the three strongest arguments against this approach?” or “What would cause this architecture to fail?” have repeatedly identified blind spots in my thinking.
In one instance, ChatGPT’s critique of my caching strategy identified a potential data consistency issue that I had completely overlooked. This single catch potentially saved weeks of debugging later.
After making a significant architectural decision, I now ask ChatGPT to help document it in a standardized format, ensuring we capture:
- Context and constraints at the time of the decision
- Alternatives considered
- Trade-offs accepted
- Future concerns to monitor
This documentation discipline has dramatically improved our team’s ability to understand past decisions and revisit them when circumstances change.
Based on this experiment, I see several emerging patterns for how AI will transform software architecture:
Junior developers can now access architectural guidance that was previously locked away in the heads of senior architects. This democratization will accelerate professional development and reduce bottlenecks.
I’ve observed this already — junior developers on our team now routinely draft architectural proposals using ChatGPT, and the quality of these proposals has increased dramatically over a few months.
As AI handles more routine architectural decisions, human architects will shift toward roles that leverage uniquely human strengths:
- Facilitating difficult trade-off discussions between stakeholders
- Incorporating organizational culture and history into decisions
- Mentoring and growing architectural thinking in others
- Focusing on the human impacts of technical choices
Traditional software architecture often involved a single architect making pronouncements from on high. AI encourages a more conversational approach where decisions evolve through dialogue.
This conversational model leads to more thoughtful, well-documented decisions that are easier for teams to understand and support.
Would I let ChatGPT make all my architectural decisions again? Not exactly — but I would never go back to making architectural decisions without AI assistance.
The optimal approach lies in a thoughtful collaboration where:
- AI provides structured analysis, identifies alternatives, and generates initial recommendations
- Human architects apply judgment, incorporate organizational context, and make value-based trade-offs
- The resulting decisions are more thorough, better documented, and less prone to individual bias
The month-long experiment fundamentally changed how I view my role as an architect. I’m no longer the sole source of architectural wisdom but rather an orchestrator of a decision-making process that leverages both human and artificial intelligence.
For architects worried about AI replacing them, I offer this perspective: AI won’t replace architects, but architects who effectively collaborate with AI will replace those who don’t.
For architects and technical leaders interested in incorporating AI into their decision-making, here are some practical steps based on my experience:
Begin by using AI for architectural decisions with limited impact to build comfort with the process. Document-level architecture (like package structure or naming conventions) is a good starting point.
Architectural prompts should include:
- Clear problem statement
- Relevant constraints
- Current context
- Evaluation criteria
- Stakeholder concerns
The quality of AI guidance depends heavily on the quality of your prompts.
After implementing an AI-suggested approach, document the outcomes and feed that information back into future prompts. This creates a learning loop that improves future recommendations.
Maintain an accessible archive of architectural decisions, including the AI’s reasoning and actual outcomes. This builds institutional knowledge and helps identify patterns in successful and unsuccessful decisions.
My experiment yielded a conclusion I never expected: AI isn’t a threat to software architects — it’s the most powerful tool we’ve ever had for improving architectural decision quality.
By handling routine analysis, ensuring systematic consideration of alternatives, and documenting reasoning, AI frees human architects to focus on the uniquely human aspects of architecture: understanding people, navigating ambiguity, and aligning technology with organizational values.
The future of software architecture isn’t architects vs. AI, but architects with AI — a collaboration that produces better outcomes than either could achieve alone.
And as for that event sourcing recommendation I mentioned at the beginning? We didn’t implement it — but the detailed analysis ChatGPT provided of why it might be considered helped me better articulate to the team why a simpler approach would suffice. Sometimes the greatest value comes not from accepting AI’s recommendations, but from the reasoning process it uses to reach them.
Have you experimented with using AI for architectural decisions? What was your experience? Share your thoughts in the comments below!