I Tried AWS Blocks on a Real Amplify Gen2 Project — Local DynamoDB, No AWS Account, 1-Second Loops A developer tested AWS Blocks, a new public preview from AWS, on a production Amplify Gen2 project with 40+ models. They found Blocks is additive, not a migration, and allows local DynamoDB development with 1-second refresh loops instead of minute-long deploy round-trips. The integration appended to the existing backend without rewriting any code. I've been running Amplify Gen2 in production for a while now, and the single most annoying part is this: every time I want to check something, I have to deploy. Tweak the backend, push it up with ampx sandbox , wait for it to apply, check, tweak again. Do that a dozen times a day and it quietly grinds you down. Then on 2026-06-16, AWS Blocks showed up in public preview. It's a set of backend "Building Blocks" — auth, database, file storage, real-time, async jobs, AI agents — that you compose together, and the headline pitch is that you can develop entirely locally, with no AWS account. The thing is, I read the preview announcement and it didn't actually answer the questions I cared about. Three of them, specifically: Staring at the announcement wasn't going to tell me, so I dropped it into a live production project — an Amplify Gen2 app with 40+ models — inside an isolated git worktree and actually tried it. I ran DynamoDB locally and pushed it all the way through cdk synth to verify. Spoiler for the impatient: it's additive, not a migration , DynamoDB does run locally , and my verify loop went from "minutes of deploy round-trips" to "a 1-second local refresh." Below is the log. It's a preview, so I'm leaving the parts where I got stuck in. Versions at the time of testing: @aws-blocks/create-blocks-app@0.1.7 / @aws-blocks/blocks@0.1.5 . It's a preview, so expect this to move. The official line is refreshingly blunt: "Blocks is not replacing Amplify. It's additive." There are two ways to use it: Same Blocks in both cases, no rewriting when you move between paths. It's CDK constructs all the way down, so when you run out of road you can drop to raw CDK. The easy mistake here — and I made it at first — is assuming "there's a standalone mode, therefore this is a thing you move off Amplify onto." Nope. Standalone is just another option ; it's not about throwing away your existing Amplify setup. But I don't trust marketing copy on faith, so let's put it on a real project and check. The guinea pig: a pnpm workspace monorepo with apps/ and packages/ . The Amplify Gen2 backend lives in packages/gen2-shared-backend/amplify/backend.ts , and amplify/data/resource.ts has 40+ DynamoDB models defined with a.model User / Workspace / Project / BusinessModel / LeanCanvas … . This thing runs in production, so obviously I can't have it mangled. To keep the real tree clean, I cut an isolated worktree before touching anything. git worktree add ./