Revolution
Over the past couple of weeks I have been using Copilot to make progress on a few different projects that have been in my backlog for quite some time. I have been using an agentic model, and have pretty much given it free reign to do whatever it wants including searching the internet, executing commands, etc. I really am beyond impressed with what the agent is able to do. In just two weeks I have revamped my homepage, created multiple games, have begun implementing SSO for all eom.dev with Dex, and more. I can actually just give it a prompt, let it run for a while, and it will build a fully functional prototype from scratch on its first try. See some of the results here:
It became clear to me that this agentic model was a better software engineer than I am when I noticed that not only did it get everything working on the first try, but it also had written unit tests for the things I was asking it to make as well. I almost never write unit tests. At this point, I realized that I was going to be building things in an entirely different way from now on.
The Good
Personally, I find this all very exciting. I have been thinking about WikiDeck for several years now, and while I made a working prototype some time ago, it would have taken potentially hundreds of hours of work to get it into a state where people would be interested in the project.
With this AI, that was achieved in a couple of days; moreover, I found the process of working with AI more enjoyable than coding the app myself. While most of the time I was just letting Copilot work on its own, I did need to provide directions and keep the model focused. Sometimes it would actually stop to ask me design questions that required serious consideration. When it was working on its own, I was able to open another window of my IDE to start another agent on another task. At times, I would have four or five running at once, each working on a different project. Between working full-time in software and building this platform, I have been a little burnt out of engineering over the past year, but these past two weeks have been the most fun I’ve had engineering in a while.
The Bad
The first thing I didn’t really like about using AI on these projects was that they became inauthentic and derivative. The words on my homepage are not my own and the design is inherently a copy of the model’s training set. For these projects, though, those things are not very important to me. More problematic was that the results can sometimes feel somewhat unnatural. Especially in the user interfaces of these websites, the model seems to want to explain how it met the technical requirements to the engineer rather than presenting the feature to the target audience appropriately. It was also difficult to get the agent to get past the prototype stage. When asked to take steps to bring Wikideck into production, it got stuck creating more and more unit tests instead of making substantial progress on the project. I had to get it to document the entire production plan, then tell it to move on to specific steps when it got stuck.
The Future
I will probably use AI in all of my engineering projects from now on. I will probably write little code and will focus on managing AI agents instead. I want to self-host my AI, but I do not have the hardware to do so effectively at this time. Once I do, though, I want to use Gitea as my interface for these agents. I want to create projects, milestones, and issues that will result in pull requests that I can simply test and approve. I should be able to describe a general goal in a project, have one agent create a roadmap and divide tasks into issues, and then have other agents work on PRs to have those issues closed once I approve their work.
I am considering other uses for AI as well, including in my content creation workflow. I would be especially curious to see how it does as a video editor. I’ve even found applications that would make this possible:
An Unpopular Opinion
When I first shared The Button on Lemmy, it received an overwhelmingly negative response. For example:
Tanis Nikana @tanisnikana@lemmy.world
Seriously though, fuck you in particular for using and encouraging this slop nonsense. [1]
OwOarchist @OwOarchist@pawb.social
lol, now secure it and maintain it.
(No need, it will be abandoned in 3 days, just like all the rest of the slopware out there.) [2]
The effectiveness of AI against the vitriol with which people hate it indicates to me that some people are inevitably going to hate this stuff just because I used AI. From my perspective, there were no humans working on Wikideck anyway, so I’m happy to now have both a working version and a way to complete many other projects that have been in my backlog for a long time. My projects are free, open source, and published on the internet. If humans want to participate, there is nothing stopping them here.
The Environment
When I meet people who are not simply bias against the technology, the most common criticism I hear is that AI is bad for the environment. I think this argument is slightly inaccurate as one can run their models using renewable energy - we just aren’t right now. If I were to use self-hosted models, they would be powered by nuclear energy, so the argument doesn’t really apply here; further, even if AI is bad for the environment, so are humans. In order to achieve this result in this time frame, I would have needed a team of ten humans. If we are going to debate the environmental impact of AI, we should consider the resources that it takes to feed, house, teach, and raise a team of ten humans as a comparison. Some would call this an “anti-human” future, but I wonder what their counterfactual is in this scenario. Should we worry about increased competition with AI but not increased competition amongst ourselves? With a global population of over eight billion, this argument starts to sound similar to the Repugnant Conclusion.
In Conclusion
I intend to embrace AI on eom.dev. I have a tendency to pick up new projects without finishing old ones and this offers me a real solution to that problem. With AI I will be able to take more of my ideas into production. These results speak for themselves, and the only person being replaced here is me - though I’m glad to be moving on to new things. I could not have done this without AI, and you cannot publish a book without a printing press.