ASSIGNEE.AI  /  v2 · TECH TALK
INTRODUCTION
1 / 10
Capstone Project · Generative AI for Developers Course · April 2026
assignee.ai

Describe what you want in plain English; the tool builds a real, tagged, cost-estimated AWS resource for you — no Terraform state file, no CDK bootstrap, no console clicks.

Every change waits for a human "yes" before anything is created in AWS.

14step pipeline · 5MCP tool servers · 38AWS resource types · 11multi-resource patterns · MITlicensed
Serhii Liamin Author  ·  Capstone project for the Generative AI for Developers course
Generative AI for Developers
Micro-master's programme · Capstone project
Submitted April 2026
The Problem

Cloud Ops is broken
for the developer
who isn't a platform engineer.

Existing infrastructure-as-code tools — Terraform, Pulumi, CDK — need a dedicated specialist. They define resources. They don't run them day-to-day. The gap is where the cost, the waste, and the senior-engineer hours pile up.

days

It still takes multiple days to set up a managed database inside an enterprise today.

Flexera · State of the Cloud 2024
hours/wk

A large share of senior-engineer time goes into routine infrastructure plumbing.

DORA & Stack Overflow Developer Surveys 2024
$ billions

Wasted every year on misconfigured cloud and over-provisioned resources.

Flexera · State of the Cloud 2024
M
Mara — the engineer who inherited the AWS account Target user

A backend or full-stack engineer who was handed the AWS account by someone who left. Tried Terraform and CDK and got stuck on state backends and bootstrap steps. Works inside Claude Code or Cursor — values "local-first: my credentials never leave my machine."

  • 2–8 years of experience
  • writes Python and TypeScript
  • does not write HCL or Pulumi every day
  • side project or small production system
  • 1–10 engineers on the team
  • under $10k/month AWS bill
Total
opportunity
$50–60B
Whole Cloud Management Platforms market — Gartner, rough order of magnitude
Realistically
reachable
$5–10B
The DevOps-automation slice of that market
Target for
years 1–3
~$100M
Small and mid-sized teams we can plausibly reach

Market-size figures are indicative — drawn from public industry surveys (Gartner Cloud Management Platforms estimates, Flexera State of the Cloud 2024); they are not a committed forecast for this course submission.

Target Users

One person. Three ways to use it.
Same pipeline, same safety checks.

Mara is one person, not a whole buying committee. The product meets her wherever she is — at a terminal, inside an AI coding assistant, or at the approval prompt — and every path goes through the same safety checks.

Primary user
Mara Solo operator

Types plain English at a terminal; runs assignee plan and assignee apply. Wants a VPC without owning a state file. No HCL, no bootstrap, no AWS console clicks.

Used through an AI assistant
Mara + Dev Inside Claude Code / Cursor

Mara's teammate Dev drives the same workflow from Claude Code, Cursor, or Windsurf through an MCP server (Anthropic's open tool-use protocol that lets AI assistants call external tools). Same pipeline, same best-practice (BP) rules, same human-in-the-loop (HITL) approval gate — just a different entry point.

Human approval before every change
Mara Reviewer

Mara reviews the plan box before anything is written to AWS. Bundled BP rules flag violations automatically; the auto-fix step shows what changed and why. No apply happens without Mara's explicit "yes".

Yes, with Assignee.ai

The Mara test — "can a solo operator safely set up a compliant VPC plus an ECS Cluster in under 10 minutes — without learning HCL, without setting up a state backend, without a bootstrap step?"

The Solution

Infrastructure-as-Intent.

You describe what you want in plain English; the tool builds it for you, with safety checks at every step.

The CLI reads plain English → fetches the live CloudFormation schema (the official AWS rules for that resource) → runs an interactive wizard for the options → evaluates a bundled best-practice (BP) rule library → estimates cost via the AWS Pricing API → stops every apply for a human "yes."

What's unique  ·  The AI on a leash
The AI never has direct power over your AWS account. It proposes; the system enforces.
You don't have to trust the model — you trust the safety cage around it.

Agentic CLIs hand the model your AWS credentials and a shell. Assignee.ai never does that, by design.

01

No code file to maintain

No HCL. No Pulumi stack. No CDK bootstrap. The "state" is the live AWS account itself.

02

BP rules included for free

Bundled AWS Foundational Security Best Practices (FSBP) and Well-Architected rules — not behind a paid plugin.

03

Cost check that can stop you

The price is checked before you approve — not as a plugin, not as a comment on a pull request.

04

Human approval on both paths

The CLI and the MCP server share one approval step. AI assistants cannot skip it.

Technical Architecture

One pipeline. One human gate. One AWS interface.

From request to AWS resource

entry: CLI or MCP  ·  orchestration: LangGraph  ·  LLM: Bedrock  ·  AWS: Cloud Control API
$_ User intent CLI · MCP LangGraph 14-step pipeline typed state · human gate Nova Lite Amazon Bedrock amazon.nova-lite-v1:0 YES? Human approval stop · wait for "yes" 5× AWS MCP tool servers Cloud Control · pricing · IAM Tagged resource in your AWS

The 14 steps — what each one does, and where the AI runs

order = top to bottom · human-in-the-loop step highlighted

Of the 14 steps, the AI runs in 4; the other 10 are deterministic checks, validators, and AWS API calls. The AI proposes; the system enforces.

# Step What it does (plain English) AI?
1 intent_parser Reads the user's English request and figures out which AWS resource they want (for example, "create an S3 bucket" → AWS::S3::Bucket). ✓ LLM
2 schema_fetcher Downloads the official AWS rules for that resource type from CloudFormation. · no
3 option_elicitor Asks follow-up questions about resource options (size, region, encryption, …) and uses an AI sub-step to suggest sensible defaults from the request context. ✓ LLM
4 compound_dispatcher Detects multi-resource patterns (for example, "create a VPC" actually means 17 resources together) and queues them in the right order. · no
5 plan_generator Builds the actual AWS resource configuration as JSON, validated against the schema. ✓ LLM
6 validate_desired_state Re-checks the generated JSON against schema rules to catch errors before AWS sees them. · no
7 advice_generator Writes friendly advice about cost and security trade-offs and likely pitfalls. ✓ LLM
8 bp_evaluator Runs the bundled best-practice (BP) rule library against the plan (encryption, access control, tagging, …). · no
9 fix_applicator Auto-fixes the violations marked "fixable" (for example, enables S3 encryption automatically). · no
10 preflight_guard Final safety check; rejects placeholder ARNs and plans that exceed the operator's cost ceiling. The LLM is used as a fallback when the rule-based check is unsure. ✓ LLM
11 human_approval STOPS. Renders the plan box. Waits for the operator to type "yes". This is the human-in-the-loop gate. · human
12 resource_provisioner Calls the AWS Cloud Control API to actually create the resource. · no
13 status_poller Watches the AWS provisioning status until success or failure (polls every 2 seconds, with retries on throttling). · no
14 result_formatter Renders the success or failure output and writes a record to local memory. · no
LangGraph
A typed state-machine library that can pause for a human "yes" mid-pipeline and resume later — no custom scheduler needed.
Bedrock nova-lite
Roughly 10× cheaper than GPT-4o for schema-shaped tasks; runs next to the AWS authentication boundary.
Vercel AI SDK
Lets you swap LLM providers at config time — Anthropic, OpenAI, Google, or local Ollama.
Zod, in strict mode
If the LLM invents an extra field, the schema rejects it immediately — not three layers deeper, after AWS has been called.
Cloud Control API
One AWS interface for around 1,000 resource types — no separate SDK call per service to maintain.
Turborepo
A single createGraph() function shared by the CLI and the MCP server — one source of truth.

Safety sandwich — six independent guardrails

01Budget circuit breakerbefore plan
02IAM least privilegeat runtime
03Strict Zod schema checkat parse time
04Prompt-injection guardat the model edge
05State guard (read before write)drift-aware
06Human approval gatebefore apply
The Safety Sandwich

Six independent guardrails —
layered, not sequential.

Each guardrail is enough on its own. Together they form a safety cage the AI cannot talk its way out of — because the AI was never given the keys.

01

Budget circuit breaker

Cost is checked before you approve, using the AWS Pricing MCP server. If the cost goes above the operator's configured limit, the change is blocked. No surprise bills, by design.

before plan
02

IAM least privilege

bedrock:InvokeModel is scoped to one specific model ARN. cloudcontrol:CreateResource requires a Condition on TypeName. No wildcards on role-management actions.

at runtime
03

Strict Zod schema check

All LLM tool schemas use .strict(). If the LLM invents an extra field, the schema rejects it at the edge; the LLM corrects itself on the next turn.

at parse time
04

Prompt-injection guard

Bedrock Guardrails block topics like iam-privilege-escalation and credential-exfiltration. The system prompt is kept structurally separate from user input.

at the model edge
05

State guard (read before write)

If the live AWS state changes between plan time and apply time, the apply is cancelled with a "stale plan" error. This prevents race conditions and silent overwrites.

drift-aware
06

Human approval gate — the headline guardrail

The plan box appears, the operator types "yes", and only then is any change written to AWS. The MCP path goes through the identical gate; an AI assistant cannot bypass it.

before apply
Business Model · Metrics

Open Core. The CLI is free, forever.

The future paid tiers below are design intent for the product, not a price commitment for this course submission. The numbers below describe what ships today and what has to be true before the next phase starts.

Free CLI

MIT · Always free

Everything you need to set up, check, and run a small AWS estate from one machine.

  • All AWS resource types in the Cloud Control catalogue
  • Multi-resource patterns (e.g. full VPC stack)
  • Bundled best-practice (BP) rule library
  • Local JSON memory of past actions
  • MCP server — works with Claude Code, Cursor, and other AI assistants
Future
Pro
Faster models · advanced patterns
Future
Team
Shared org policies · audit log · role-based access
Future
Enterprise
Single sign-on (SSO/SAML) · compliance posture · multi-cloud

5 success metrics we track

design + telemetry
01
Time to first resource
≤ 5 min
✓ on track About 4 min 12 s on the S3 happy path today.
02
Cost-check pass rate
100%
✓ enforced Guaranteed by the cost-check gate before approval.
03
BP violations caught
≥ 80%
✓ shipping AWS FSBP + Well-Architected coverage; under 10 ms to evaluate.
04
Plan acceptance rate
≥ 90%
▶ phase 2 Telemetry to come later; design intent only today.
05
Adoption
≥ 1 000 installs/wk · 90 days
◇ gate Goal for the Phase 2 distribution stage; not yet published.
Roadmap

From POCdistributioncontrol plane.

Phase 0 is a POC — a working prototype to prove the approach. Each later phase opens only after the gate below it is met.

Feb 2026
Phase 0 · POC
  • CLI plus the LangGraph pipeline
  • Bedrock + AWS Cloud Control API
  • S3 / SSM / IAM happy path working
Mar – Apr 2026
Phase 1 · MVP
  • list, destroy, status, drift, reconcile commands
  • Intelligence layer + MCP server
  • Cross-platform CI
May – Jul 2026
Phase 2 · Distribution
  • Available via npm + Homebrew
  • GitHub Action
  • Listed in MCP-server registries
  • Polished onboarding
H2 '26 – H1 '27
Phase 3 · SaaS
  • Login + organisation policy engine
  • Audit log + drift dashboard
  • Single sign-on (SSO/SAML)
2027 +
+
Phase 4 · Multi-cloud
  • Provider abstraction layer
  • Add other clouds (GCP / Azure) once AWS-only adoption is real

Scaling milestones — gates between phases

each gate tests one assumption before the next phase opens
01
1 000 installs per week
Tests whether the free CLI can find an audience on its own.
02
First 10 paying users
Tests whether free users are willing to upgrade to a paid tier.
03
First team deployment
Audit log + role-based access in production — tests the SaaS control-plane idea.
04
First compliance contract
Tests whether regulated buyers will pay for compliance posture features.
Live Demo

See it create real AWS resources.

Three paths through the same pipeline — happy path, blocked by budget, and driven by an AI assistant — each one stopping at the same human approval gate.

01Demo — Happy path

S3 bucket in about 4 min 12 s

$ assignee apply "Create an S3 bucket named hero-demo" → plan box rendered · BP rules 6/6 ✓ · price ~$0.42/mo approve? yes → apply · ~4m 12s · tag managed-by=assignee ✓
Watch for The plan box, the live cost line, and the BP findings list with the auto-fix offer.
02Demo — Budget guardrail

Hard block when cost is too high

$ assignee apply "Create an EC2 m5.4xlarge" → cost check · estimate exceeds budget.monthly_limit_usd (set in ~/.config/assignee/config.yaml) BLOCKED · monthly limit exceeded → zero AWS write happened
Watch for The limit is set once in ~/.config/assignee/config.yaml — set budget.warn_only: true to switch to warn-only mode.
03Demo — Used through an AI assistant (MCP)

AI-driven, same human gate

# register apps/mcp-server/dist/index.js with Claude Code claude> "create a static site for mara.dev" → assistant calls plan_resource operator approves: yes → assistant calls apply_plan ✓
Watch for The same human approval gate that protects the operator also protects the AI assistant.

Same pipeline. Same safety checks. Different ways in.

End of talk

Questions.

Thank you. Happy to go deeper on the 14-step pipeline, the safety sandwich, the cost check, or anything else under the hood.

Source
github.com/SergSlon/assignee-ai
Run from local
pnpm install && pnpm build && node apps/cli/dist/index.js plan "…"
Author
Serhii Liamin · Capstone project for the Generative AI for Developers course · April 2026