I Stopped Writing Terraform by Hand
I dragged an EC2 instance onto a canvas, connected it to an RDS database, and hit generate. The Terraform that came out was better than what I write manually.
That is not a compliment to the tool. It is an honest assessment of my Terraform.
The problem with HCL
I have been writing Terraform for years and I still look things up constantly. Which block goes inside which. Whether the argument is instance_type or type. How to wire a security group to a load balancer without creating a circular dependency that makes terraform plan sit there for forty seconds before telling you no.
The syntax is fine. The problem is that infrastructure is inherently spatial - things connect to other things - and a text file is not spatial. You cannot see at a glance that your RDS instance is in a private subnet behind a NAT gateway unless you read four files and hold the graph in your head.
So I ended up drawing diagrams anyway. On a whiteboard, or in some diagramming tool, or on paper. Then I would translate the diagram into HCL. Two representations of the same thing, always out of sync.
What if the diagram was the source?
That is the idea behind AIVory Architect. You open a canvas. You drag AWS resources onto it - EC2, RDS, ELB, VPC, EBS, S3. You draw connections between them. And you hit generate.
The output is production-ready Terraform. Not a sketch. Not pseudocode. Actual .tf files you can run.
I use it for the initial scaffold of a new stack. The part where I would normally spend an hour looking up argument names and copying from old projects. That hour turns into about ten minutes of dragging and connecting, and then I have a working base to iterate on.
What it does not do
I should be specific about what is in and what is not.
The AWS resource coverage today is EC2, RDS, ELB, VPC, EBS, and S3. That covers most of what I need for a typical web application stack. It does not cover Lambda, DynamoDB, SQS, or the other hundred AWS services. If your stack is serverless-first, this is not the tool yet.
It is also not a Terraform replacement. You still need Terraform installed, you still run plan and apply, and you will still edit the generated files. Architect handles the generation step - the blank page problem - not the entire lifecycle.
There is a free tier with limited features. The paid plan is $9.99 a month.
The part I did not expect
The thing that surprised me was how useful the canvas is for explaining infrastructure to someone else. I have shown non-technical people a VPC layout on the canvas and they understood it immediately. Try that with a main.tf file.
It also integrates with Smart Inference through a setup wizard, so if you are already routing AI requests through our infrastructure, the two tools talk to each other.
I still write Terraform by hand sometimes. Mostly for small changes where opening a visual tool feels like overkill. But for anything with more than three connected resources, I start on the canvas now. The diagram and the code are the same thing, and that turns out to matter more than I thought.
Anyway, give it a go: aivory.net/architect