I maintain LocalEmu, a free and open-source (Apache 2.0) AWS emulator. It started as a fork of the archived LocalStack Community edition. The goal is to keep a genuinely free, open local AWS emulator alive and maintained.
What it does:
- Emulates 132 AWS services on a single endpoint (
localhost:4566) - Pure-Python core, with real Docker engines for Lambda, EC2, RDS, ECS, EKS, and OpenSearch
- Point your existing AWS CLI, boto3, Terraform, CDK, or Pulumi at it, zero config
- No account, no auth token, no telemetry. Persistent state across restarts
- Optional fidelity knobs: IAM policy enforcement, throttling, latency injection, Lambda cold starts
Why I built it: kill the multi-minute deploy loop, drop the dev/test AWS bill to zero, and stop keeping real credentials on dev machines.
It’s for fast local dev, testing, and learning, not production, and not bit-for-bit parity with the real cloud.
Repo: https://github.com/localemu/localemu Site: https://localemu.cloud/
Happy to answer questions, and feedback is very welcome.



Hey, thanks for the comments, let me answer all three at once.
Yes, parts of the LocalEmu code are generated with an LLM (Claude, mostly). It is very controlled and architected by me. I have written enough code over the years to understand what I am doing and what the LLM is doing, and what ships under my name is my call and my responsibility.
Let me ask back: what does the fact that parts of the code are LLM-generated change about the final result? The repo is Apache-2.0 and public. The behaviour is testable. If something is wrong, I would like to know so I can fix it. If it works, why does the way it was typed matter?
I genuinely do not understand the hostility against people who use AI tools and know what they are doing. I am not ashamed of using the tools this era gives me to improve my productivity and ship something useful. The opposite: I would be ashamed if I could not design and code these things myself when I need to. I can. It would just take much longer, and I accept that.
I am not competing with LLMs. Claude, GPT, Cursor, whatever you use, they win the war of producing a lot of code quickly, sometimes better than I would. They also help me with the tasks I do not have time for on a side project: documentation, unit tests, E2E tests. And honestly, designing a website or a landing page with the right CSS. I love the result. I never had the time in my career to learn the frontend side properly, and for a backend / CLI guy like me, LLMs are something amazing here. That is the part of the project that is the most LLM-shaped, and I am not going to pretend otherwise.
We are in an accelerated AI era and every developer gets to decide if they want to ride the wave or not. I have my own opinion about it, but that debate is not what this post is about and I do not want to hijack the thread with it.
The post is about sharing a project I maintain with my own time and energy, looking for a community that shares the goal of making it grow. Maybe other projects after that with the same community, or parts of it. If you have a use case, a bug, a missing service or a workflow LocalEmu does not handle yet, that is what I would love to hear about.
PRs and issues are welcome: https://github.com/localemu/localemu
Given how defensive you are, I’m pretty sure you know exactly why.
I said it in my first reply, paragraph one. Not embarrassed. Calling someone defensive because they respond to attacks instead of capitulating is a rhetorical trick, not an argument. Attacking a stranger over a free open source project, for fun or out of some hidden envy, says more about you than about the project :).
I didn’t attack anyone.