Most developers use AI to write functions. Some use it to write features. Very few use it where it might be most valuable: system design.
Weâre not talking about asking ChatGPT to draw a box diagram. Weâre talking about using AI as a thinking partner for the hardest decisions in software engineering â the ones where thereâs no right answer, just trade-offs.
The function trap
Thereâs a gravitational pull toward using AI at the lowest level of abstraction. Write a function. Generate a component. Create an endpoint. It feels productive because you see immediate output.
But hereâs the uncomfortable truth: the most expensive mistakes in software happen at the architecture level, not the function level. Choosing the wrong database costs you six months. A bad service boundary creates a year of integration pain. An auth architecture that doesnât scale means a rewrite when you have 10,000 users instead of 100.
Functions are cheap. Architecture decisions compound.
So why arenât more developers using AI for architecture? Because it requires a different kind of interaction.
How to use AI for system design
1. Trade-off analysis
This is the single most valuable architectural use of AI. Youâre choosing between two (or five) approaches and you need to think through the implications.
I'm building a multi-tenant SaaS application. I need to
decide between:
A) Shared database, tenant_id column on every table
B) Schema-per-tenant in a shared PostgreSQL instance
C) Separate database per tenant
Our context:
- Expected scale: 50-500 tenants, 10-50K rows per tenant
- Team size: 4 developers
- Compliance: SOC 2, some tenants will ask about data isolation
- Budget: startup, cost matters
Analyze the trade-offs across: data isolation, operational
complexity, query performance, migration difficulty, and cost.
The AI wonât make the decision for you. It will lay out the trade-offs more thoroughly than youâd do on a whiteboard in an hour. Itâll surface considerations you forgot â like how schema-per-tenant interacts with connection pooling, or how shared-database makes tenant data export for compliance requests harder.
You still decide. But you decide with better information.
2. Architecture review
Hand the AI your existing architecture and ask it to poke holes:
Here's our current architecture:
- React frontend â API Gateway â 3 microservices
- Services communicate via REST
- Shared PostgreSQL database
- Redis for caching
- Deployed on AWS ECS
We're seeing increasing latency as our data grows.
Review this architecture and identify potential bottlenecks,
scaling concerns, and architectural risks.
A good AI will identify issues like:
- Shared database as a coupling point that defeats the purpose of microservices
- Synchronous REST between services creating cascade failures
- Missing circuit breakers and timeouts
- Cache invalidation patterns that might cause stale data under load
Itâs like having a senior architect review your system â except itâs available at 2 AM and doesnât charge consulting rates.
3. Technology selection
âShould we use Kafka or RabbitMQ?â is a question that launches a thousand Reddit debates. AI can cut through the noise:
We need an event streaming solution for order processing.
Requirements:
- ~1000 events/second initially, growing to 50K
- Events must be processed in order per customer
- At-least-once delivery is fine
- Team has no Kafka experience but some RabbitMQ exposure
- Running on AWS, open to managed services
Compare: Kafka (self-hosted), Amazon MSK, RabbitMQ,
Amazon SQS + SNS, and Amazon Kinesis.
Focus on: operational burden, partition ordering guarantees,
cost at our scale, and learning curve.
The AI wonât just list features. Itâll tell you that Kafkaâs partition ordering maps perfectly to your per-customer ordering requirement, but that your teamâs lack of Kafka experience plus self-hosting operational burden might make MSK or even SQS with FIFO queues a more practical choice at your current scale.
4. Migration planning
Migrating from monolith to microservices? Changing databases? Moving to a new cloud provider? These are high-stakes architectural changes where AI excels as a planning partner.
We need to migrate our monolithic Django app to a service-
oriented architecture. The monolith has:
- 120 Django models
- 40 API endpoints
- 15 background Celery tasks
- Tight coupling between the billing and user modules
Propose a phased migration strategy. What do we extract
first? What are the riskiest boundaries? How do we handle
the shared database during migration?
The AI will propose a strangler fig pattern, identify which modules have the cleanest boundaries for extraction, and warn you about the foreign key relationships that will make the billing extraction painful.
The anti-patterns
AI-assisted system design goes wrong in predictable ways:
Asking for âthe bestâ architecture. Thereâs no best. There are trade-offs. Frame your questions around constraints and trade-offs, not absolute rankings.
Accepting the first suggestion. AI tends to suggest popular, well-documented architectures. Thatâs often right, but sometimes your constraints call for something unconventional. Push back. Ask âwhat if we did X instead?â and make the AI argue against its own suggestion.
Ignoring your teamâs capabilities. The AI will happily design a Kubernetes + Kafka + gRPC + event-sourcing architecture for your three-person team. Architectural sophistication that exceeds your teamâs ability to operate it is a liability, not an asset. Always include team size and experience in your context.
Using AI diagrams as documentation. AI-generated architecture diagrams are useful for thinking. Theyâre terrible as actual documentation because they lack the nuance of why decisions were made. Use AI for exploration, then write your Architecture Decision Records yourself.
The design session format
Hereâs a format that works well for AI-assisted design sessions:
Round 1 â Context dump (5 min) Give the AI everything: current architecture, team size, growth projections, constraints, compliance requirements, budget. More context produces dramatically better analysis.
Round 2 â Exploration (15 min) Ask broad questions. âWhat are the architectural options for X?â Let the AI map the solution space before you narrow down.
Round 3 â Deep dive (20 min) Pick 2-3 options and go deep. Ask about failure modes, scaling limits, operational burden, migration paths. This is where AI earns its keep â it explores corners youâd skip.
Round 4 â Stress test (10 min) Play devilâs advocate. âWhat happens when we hit 100x our current load? What if we lose a team member? What if this compliance requirement changes?â Force the AI to find weaknesses in the approach youâre leaning toward.
Round 5 â Document (10 min) Have the AI draft an Architecture Decision Record: the options considered, the trade-offs analyzed, and the decision made with rationale. Edit it yourself â but let the AI do the first draft.
The coductorâs perspective
System design is where the coductor metaphor becomes most literal. Youâre not writing code. Youâre not even directing code-writing. Youâre shaping the structure that all future code will live inside.
AI doesnât replace your judgment here. It amplifies it. It lets you consider more options, analyze more trade-offs, and stress-test more failure modes than you could alone. The decision is still yours. But the decision-making process just got dramatically more thorough.
The best architects arenât the ones who know every technology. Theyâre the ones who ask the best questions. AI is the tool that lets you ask more of them.
Design better systems
Coductor members share real architecture decisions, design session recordings, and the AI prompts that led to better systems. Join the conversation.