whiparc
How it worksLimitsTemplatesPricing
Start free
Open source · infra compiler

Draw it once.Ship the infra.

The diagram is the source now — wire resources on a canvas, and whiparc emits Terraform and Ansible you can read, review in a PR, and run.

Start freeSee it compile
Self-host in one commandNo sales callGenerated code is yours
canvas · three-tier-webunsaved
aws_vpc
main
aws_instance
app · t3.small
ansible
nginx + certs
output
public_ip
main.tf · emitted
resource "aws_instance" "app" {
  instance_type = "t3.small"
  subnet_id     = aws_subnet.app.id
}▌
How it works

Graph in. Code out. Run it.

Keep scrolling — the three states below are the entire product. Nothing here is a mock of a feature we haven't built.

01
Graph

Drop resources, wire dependencies. The canvas is typed — it refuses edges that wouldn't plan.

02
Compile

Every edit re-emits HCL and YAML. Ordinary files — diff them, review them, hand-edit them.

03
Run

Plan and apply from a sandbox agent with your credentials, streaming the real log.

canvas
Validated
aws_vpc
main · 10.0.0.0/16
Validated
aws_instance
app · t3.small
Validated
ansible_role
nginx + certs
Validated
output
public_ip
main.tfvariables.tfplaybook.ymlemitted 12ms ago
resource "aws_vpc" "main" {
  cidr_block           = "10.0.0.0/16"
  enable_dns_hostnames = true
}
resource "aws_instance" "app" {
  ami           = var.ami_id
  instance_type = "t3.small"
  subnet_id     = aws_subnet.app.id
  tags          = { Name = "app" }
}
sandbox agent · eu-west-1live
$ whiparc apply --project three-tier-web
→ terraform init          ok
→ terraform plan          4 to add, 0 to change
→ terraform apply         applying…
  aws_vpc.main        created  2.1s
  aws_subnet.app        created  1.4s
  aws_instance.app        created 31.7s
→ ansible-playbook         1 host, 6 tasks
✓ apply complete          public_ip 52.14.8.201
Where it's still rough

The four things people ask about first.

You'd find these out in twenty minutes anyway. Better you read them here and decide before you invest an afternoon. Keep scrolling — they come one at a time.

01 · Providers
02 · Existing infra
03 · Teams
04 · Agent
Known limits · read before you commit an afternoon
01 / 04
01Providers
02Existing infra
03Teams
04Agent
Blocking if Azure-first01 · Providers
AWS is deep. GCP and Azure aren't.

Roughly forty AWS resources are modelled properly — the ones you'd actually wire in a three-tier stack. GCP and Azure cover compute, network and storage, and that's the honest end of the list.

If you're Azure-first, this isn't your tool yet. We'd rather you knew now.
No workaround yet02 · Existing infra
No state import yet.

You can't point whiparc at a live account and get a canvas back. Everything starts from a blank canvas or a template, which makes it a tool for new stacks and rebuilds rather than for documenting what you already run.

Import is the next big piece of work, not a maybe on a roadmap slide.
Deliberate, for now03 · Teams
Review happens in Git, not here.

Projects, members and access requests work. In-canvas comments and per-environment approvals don't exist — we'd rather the emitted code go through the review flow your team already trusts.

If your approvals have to live in the tool, this will feel thin.
Being fixed04 · Agent
The Windows agent drops connections.

Linux and macOS agents are steady through long applies. On Windows, a thirty-minute apply sometimes loses the log stream and you have to re-attach to see the tail — the apply itself keeps running.

Reconnect logic is in progress. Until then, the CLI tail is the reliable path.

So much gets built and just sits on localhost — the deployment step is where most people stall. We're two people who spent years deep in other teams' Ansible playbooks and Terraform modules, and whiparc is the tool we wanted then: a single canvas to learn how the cloud actually fits together, and to ship for real, with real files and no layer in between that you can't read.

— whiparc maintainers
Start from something real

Fork a stack that already plans.

All templates
AWS three-tier web

VPC, two private subnets, ALB, autoscaled app tier, RDS. The one most people start from.

14 nodes19 edgesterraform
Single-node k8s + Ansible

One box, k3s, ingress and a playbook that installs it. Cheap staging that behaves like production.

8 nodes9 edgestf + ansible
Static site + CDN

S3, CloudFront, ACM cert and a DNS record. Twelve lines of HCL you'd rather not write again.

6 nodes7 edgesterraform

Every template is a normal project once you fork it. Rename things, delete the RDS node, swap the region — it re-emits and you own the output.

Pricing

Free is not a trial.

Self-hosting is the whole product, permanently, with no seat cap and no feature held back. The hosted plan exists because some teams don't want to run another service — that's the only difference.

Self-hosted
Free

One Docker command. Your machines, your credentials, your data — we never see any of it.

Unlimited projects, canvases and members
Full Terraform + Ansible emitter
CLI, sandbox agent and code export
Community support in GitHub issues
Read the install guide
Hosted · we run it
$19/ user / month

Same product, on our infrastructure, with managed agents and backups. Cancel and export everything as plain files.

Everything in self-hosted
Managed sandbox agents, no VM to babysit
Nightly state backups and restore
Email support, one business day
Start free

No credit card to start · no usage metering on the editor · cloud bills stay between you and your provider