{"slug": "developers-that-brand-ai-as-slop-will-be-left-behind", "title": "Developers that brand AI as slop will be left behind", "summary": "An engineer behind the InversifyJS dependency injection framework built a new tool called rflct in a single night after an architectural proposal was dismissed as 'AI slop' on Reddit. The tool generates ahead-of-time reflection metadata for TypeScript 7, and the developer argues that AI's real value is collapsing the cost of experimentation, not just writing code faster.", "body_md": "A few days ago I [shared](https://github.com/inversify/monorepo/issues/2086) an architectural proposal for InversifyJS on Reddit. It outlined an IPC-based type server that could help Inversify move beyond the legacy TypeScript decorator metadata APIs toward something compatible with TC39 decorators and TypeScript’s next-generation compiler.\n\nThe first comment was:\n\nAI slop\n\nI ignored it and went back to work.\n\nThat night I built [rflct](https://github.com/remojansen/rflct).\n\nIt isn’t perfect. It’s an alpha with plenty of rough edges. But the fact that an architectural idea can become a working repository—with a runtime, compiler-side implementation, types, tests, examples, and a CLI—in a couple of hours is still mind-blowing to me.\n\nI have a particular perspective on this because I built Inversify from the ground up. It’s been a roughly ten-year journey. Early feedback was often negative. Plenty of things weren’t right, and plenty of things I didn’t know yet. Today Inversify has around 500,000 daily downloads and is used by projects including Elastic and the Eclipse Foundation.\n\nOne of the things Inversify did well was listening to users. The best way to get that feedback is to put something real in their hands—not when it’s perfect, not when you’re completely proud of it, and not after months of polishing. Early. Sometimes so early it isn’t pretty yet.\n\nThat is where AI changes software development most.\n\nBefore AI, turning an architectural hypothesis into something executable carried a real cost: research the APIs, design the architecture, write the code, debug it, build tests, and work through the edge cases. When experimentation is expensive, developers become conservative. You pick one idea, spend days or weeks on it, and only then discover whether it works.\n\nAI collapses that cost. It is no longer primarily about typing code faster. **It is about making the loop from “I wonder if this would work?” to “Let’s build it and find out” dramatically cheaper.**\n\nThat is the part many people are underestimating.\n\nInversify was built around TypeScript’s experimental decorator and metadata capabilities. Constructor injection could infer parameter types and deliver a pleasant developer experience. But the ecosystem has moved on. TC39 decorators do not provide the same parameter decorator mechanism, and the `design:paramtypes`\n\nmetadata Inversify historically relied on belongs to the legacy decorator world. At the same time, TypeScript’s next-generation compiler (`tsgo`\n\n) is introducing an IPC-based extensibility model.\n\nThe RFC I shared explored whether a resident type server, queried over IPC, could recover the type information needed for dependency injection at build time. It was deliberately exploratory—open questions, things that needed prototyping, things that could be wrong. That’s the point of an RFC.\n\nSomeone looked at it and decided the most useful feedback was “AI slop.”\n\nSo I built something concrete instead.\n\n`rflct`\n\nis an experiment in ahead-of-time reflection metadata for TypeScript 7. Instead of relying on runtime decorator metadata, it generates the metadata at build time. I didn’t need AI to identify the problem or decide the architectural questions were worth exploring. Those existed before the AI. What changed was the cost of turning the ideas into something I could run, test, and put in front of other developers.\n\nWhen writing code becomes cheaper, writing code is no longer the scarce resource. The valuable part of the job moves upward:\n\nAn LLM can generate a function, a module, or an entire repository. Generating a lot of code does not tell you whether you should have generated any of it. That judgment is still yours.\n\nWe have spent decades building abstractions that generate code for us: compilers, IDEs, code generators, frameworks, and libraries containing millions of lines we do not personally maintain. Nobody asks whether a developer typed every instruction the CPU executes. We care whether the software works, whether it is maintainable, whether the architecture is sound, whether it solves the problem, and whether the person responsible understands what they are shipping.\n\nIf you generate 20,000 lines with AI and understand none of it, you have a problem. If you use AI to explore an architecture, inspect the output, run it, test it, discard bad approaches, modify it, and ultimately understand the result, the provenance of individual keystrokes is not particularly interesting.\n\nAI slop is real. Developers are generating applications they do not understand. People are opening pull requests with thousands of unreviewed lines. Documentation confidently describes APIs that do not exist. People are building things because an LLM suggested them rather than because they understood the problem.\n\nNone of that is controversial.\n\nThere is a large difference, however, between observing that a lot of low-quality AI-generated software exists and declaring that AI-generated software *is* slop. The first is an observation. The second is a prejudice.\n\nI have seen far worse code on GitHub than `rflct`\n\n, and it was written entirely by humans. Unreviewed pull requests, copy-pasted Stack Overflow solutions, frameworks held together by wishful thinking, and entire applications whose authors clearly did not understand the systems they were shipping. Low quality is not a new invention of large language models. The difference is that AI makes it easier to produce more of it, faster. That is a real problem. It is not a reason to stop evaluating the actual architecture, the tests, or the trade-offs.\n\nIf you think an architecture is wrong, say why. If the assumptions about TypeScript are flawed, show the evidence. If there is a race condition, a bad API, a performance problem, or a failure case, demonstrate it. That is how software engineering works.\n\n“AI slop” identifies none of those things. It tells you how the reviewer feels about the tool that was used. Feeling is not the same as review.\n\nSoftware developers have a long history of dismissing new approaches before eventually adopting them: new languages, frameworks, paradigms, static typing, functional programming, managed runtimes, garbage collection, WebAssembly, containers, serverless. Each transition produces a group that correctly identifies real limitations. There is a difference, though, between understanding the limitations of a technology and refusing to engage with it because you dislike the technology.\n\nAI is going through the same process. The people who dismiss it completely are going to have a problem.\n\nImagine two developers.\n\nDeveloper A decides AI-generated code is inherently bad and refuses to use it.\n\nDeveloper B uses AI aggressively but reviews everything: generates prototypes, investigates unfamiliar APIs, writes tests, explores alternatives, throws away most of what is produced, keeps what works, and still understands the system.\n\nAfter one day, B may have explored five ideas while A has explored one. After a week the gap is larger. After a month it is larger still.\n\nThe advantage compounds because the scarce resource is not typing speed. It is **iteration speed**. The faster you can move from idea to evidence, the more ideas you can evaluate, and the more likely you are to find something valuable.\n\nThis does not mean AI will make everyone a great developer. Quite the opposite. AI can make a bad developer dramatically more productive at producing bad software. If you do not understand architecture, AI can generate an architecture you do not understand even faster. If you cannot review code, AI simply gives you more code to fail to review.\n\nAI amplifies the developer. That is why engineering judgment becomes more important, not less.\n\nThe future is not “AI writes the software and developers sit back.” It is closer to this: developers who know what they are doing can use AI to explore and execute at a speed that was not previously possible.\n\nMaybe `rflct`\n\nis a terrible idea. Maybe the architecture needs to change completely. Maybe TypeScript 7 will evolve in a direction that makes the experiment irrelevant. That is fine.\n\nI now have something concrete that can be run, benchmarked, broken, changed, and inspected by others. That feedback loop is infinitely more useful than an argument on Reddit.\n\nAI has lowered the cost of turning ideas into software. We can try more things, fail faster, learn faster, and build things that previously were not worth the investment. Developers who spend their energy dismissing all of this as “AI slop” are going to discover that the world moved on without them.\n\n**Developers that brand AI as slop will be left behind.**", "url": "https://wpnews.pro/news/developers-that-brand-ai-as-slop-will-be-left-behind", "canonical_source": "https://dev.to/remojansen/developers-that-brand-ai-as-slop-will-be-left-behind-2ki4", "published_at": "2026-08-28 14:33:08+00:00", "updated_at": "2026-08-28 14:50:19.505633+00:00", "lang": "en", "topics": ["developer-tools", "artificial-intelligence", "large-language-models"], "entities": ["InversifyJS", "rflct", "TypeScript", "TC39", "Reddit", "Elastic", "Eclipse Foundation"], "alternates": {"html": "https://wpnews.pro/news/developers-that-brand-ai-as-slop-will-be-left-behind", "markdown": "https://wpnews.pro/news/developers-that-brand-ai-as-slop-will-be-left-behind.md", "text": "https://wpnews.pro/news/developers-that-brand-ai-as-slop-will-be-left-behind.txt", "jsonld": "https://wpnews.pro/news/developers-that-brand-ai-as-slop-will-be-left-behind.jsonld"}}