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.

    • Hexarei@beehaw.org
      link
      fedilink
      arrow-up
      5
      ·
      20 hours ago

      If the project itself is vibe coded, the author is doing a good job of hiding it. There’s some slight lean towards claude-like speak, (“real behavior” and the way some of the readme sounds) but the commit style and comments and such don’t immediately trigger the obvious LLM alarms in my head.

      That website is definitely vibe coded though. I’ve seen enough one-shot websites from LLMs while playing around with them to immediately notice the AI website style lol

      • Nate@piefed.alphapuggle.dev
        link
        fedilink
        English
        arrow-up
        4
        arrow-down
        1
        ·
        20 hours ago

        Permalink

        First file I clicked on has very claude-speak comments. Actually I was so focused on the writing style I didn’t even realize those were em-dashes. Pics on the website are definitely AI gen (warping on the grid lines)

        Looks like the author is trying to hide it by stripping Claude off of the commits and having no CLAUDE/AGENTS.md. Says its a fork of localstack but repo layout seems to differ, and that did have an AGENTS.md

        • nullroute@programming.devOP
          link
          fedilink
          arrow-up
          2
          arrow-down
          3
          ·
          14 hours ago

          I am surprised that someone comes to share an open-source project and Nate’s first reflex is “let me go look for traces of AI in what was generated”. That impresses me.

          You know Nate, I could have just let this comment fade out, but I am not going to. Let me tell you why.

          When someone shows me a product, here is how I react, as a developer and incidentally as a human being:

          1. I look at whether it solves a technical problem I am facing.
          2. I check whether it is safe to install. Are there security or privacy concerns?
          3. I install it and I use it.
          4. If I feel like commenting at that point, I do it, and I do it constructively, because the person on the other side spent time and energy to put a tool in my hands.
          5. If I can, I help.

          That is how I would have reacted. We are all different, and that is a good thing for humanity. Difference is richness.

          @Nate, whether the code is entirely generated by Claude, GPT, Gemini, Cursor or anything else, I want to tell you that it is none of your business, unless you have something against AI itself, in which case you could have said so clearly or just kept scrolling. The site has plenty of other topics where you can leave comments that will satisfy you.

          Me, I am just a simple Developer (with a capital D anyway) who shares projects that nobody is forced to use. You can criticize them on the substance, on the form, but not on the way they were developed, because you do not know how they were developed, and do not forget that the important thing is the result. As for the means, I can reassure you, they are decent. I did not kill anyone along the way.

          This reminds me of the unjustified pile-on against people who try to share things, but who get blamed for using AI in 2026.

          Thanks Nate for your sharp eye and your constructive criticism.

          • tyler@programming.dev
            link
            fedilink
            arrow-up
            5
            ·
            10 hours ago

            Here’s the thing dude. There is no “none of your business” anymore. If an Israeli hacker group wrote the software, clearly it’s a bad idea to use it. Either don’t publish it, or state how it’s made.

            People don’t want to support unethical behavior. Trying to hide it is even more unethical so of course people are going to analyze everything you’ve done.

            Don’t announce the project if you don’t want it analyzed.

        • Hexarei@beehaw.org
          link
          fedilink
          arrow-up
          1
          ·
          19 hours ago

          Ah ha! Yep, I didn’t see any of the big long form comments like that one, good catch. I scrolled through some of the commits and apparently got unlucky.

  • jtrek@startrek.website
    link
    fedilink
    arrow-up
    4
    ·
    23 hours ago

    Interesting. We used the free localstack at a previous job and it kind of sucked. Mostly we were trying to do S3, and it made adding a lot of files kind of painful. Looks like this has better support for “I need to load a bunch of files into S3 when I start working”.

    Can you map a directory and subfolders to S3 with this, or so you need to make calls to “upload” everything?

    • nullroute@programming.devOP
      link
      fedilink
      arrow-up
      4
      ·
      22 hours ago

      Thanks for trying LocalEmu :). Yes, you can map a directory without scripting per-file uploads.

      aws s3 sync ./mydir s3://mybucket/ works against LocalEmu out of the box (or awsemu s3 sync with the bundled zero-config CLI). For “always populated on start”, drop a one-line script in /etc/localemu/init/ready.d/ and it runs on every boot:

      docker run --rm -d -p 4566:4566 \
        -v $PWD/fixtures:/fixtures:ro \
        -v $PWD/init:/etc/localemu/init/ready.d:ro \
        -e DASHBOARD_API_OPEN=1 localemu/localemu
      

      Where init/ready.d/seed.sh does awsemu s3 sync /fixtures s3://mybucket/. Or PERSISTENCE=1 if you’d rather load once and have it stick.

      LocalStack inspired a lot of this, we’re the free open-source continuation.

    • nullroute@programming.devOP
      link
      fedilink
      arrow-up
      10
      arrow-down
      3
      ·
      19 hours ago

      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

      • Croquette@sh.itjust.works
        link
        fedilink
        arrow-up
        4
        ·
        9 hours ago

        People want to know about LLM use for various reason.

        I think the main reason is an ethical one. LLMs use a lot energy, datacenters are bad for the environment, people lose their job due to AI, LLMs are trained on stolen data. There is many reasons why someone would not want an LLM project.

        And let’s be real, there is a lot of issues with app being vibe coded and being shit real fast.

        So when presenting a project to the world, people will definitely ask, and you can respond or not, and be on your way.

        It’s naive to think that people won’t use LLMs, but it’s also naive to think that people only care about the end results, especially on a platform where people are generally more sensitive to ethical considerations.

        • nullroute@programming.devOP
          link
          fedilink
          arrow-up
          1
          ·
          2 hours ago

          I want to answer because I have not done anything wrong here. Reading these comments, you would think I created this whole AI wave and I am personally responsible for it because I shipped a project. As if there are the traitors / the bad ones on one side, and the purists who still craft by hand the old way on the other.

          I said it in a previous comment: we are not here to debate LLM use. This is starting to feel like a witch hunt. Some people seemed to be waiting for the first project to land so they could come and check whether any line of code was written by a human and not by an LLM. Because LLMs are less ethical than humans, of course. :)

          On security and privacy: I already answered that in a previous comment. The normal behavior is to check what you install before you do it. Most of the arguments thrown at me here are without foundation, and some are clearly bad-faith.

          To Croquette: the three concerns you name (energy use, jobs, training data) are real, and I am not going to insult you by pretending otherwise.

          About the vibe-coded apps worry: as a developer, I agree, those apps are going to flood the planet. But there again, that is much bigger than one person, and I do not like generalizations. Are all those apps going to be bad? I do not think so.

          About unemployment: mass unemployment driven by AI has already started, and it will probably keep going. I do not have a crystal ball, but in the short term I see real misery for many families. That is not a direct consequence of LLMs or of human inventions in general. It is something older and more primitive: human greed and the race for personal gain. When you promise a manager he can double or triple his salary by using AI to automate the tasks his subordinates used to do, he is not going to hesitate. Except in the rare cases where innate, intrinsic values are dominant, and I have not crossed many of those people.

          About energy and preserving the planet: huge topic too. We were already in deep shit before AI and nobody moved. Greed again, and sometimes plain stupidity.

          I am not brave enough to carry on my own shoulders the fight against the consequences of a world that has always run after “I need more”. I admit it.

          About the platform being more ethics-sensitive than most: you are right, and that is exactly why I am taking the time to answer in detail instead of brushing the question off.

          If we are talking ethics seriously, the browser you used to type these lines, the terminal, the text editor, the compiler, the PC, the phone, all of those raise much bigger ethical questions than an AWS services emulator that the audience here has not even tested. (Yes, that one is a bit of a troll.)

          For my part, I do not hide behind a pseudonym, and I would not spend my time leaving very negative comments on someone else’s project just for fun. Which is the impression a few of these comments give.

          Do not assume you are the ones who hold the ethics and that everyone else is on the wrong side. History has shown us that it is much more nuanced than that, and that binary thinking is often a sign of much more dangerous ideas.