from Svinhufvud@sopuli.xyz to selfhosted@lemmy.world on 28 Jun 13:59
https://sopuli.xyz/post/47951685
So, let’s try the newly proposed AI tag. If this post is not your cup of tea, I get it.
This is Euros, a minimal expenses splitting software written in Go. The code has been generated in it’s entirety with an LLM, as I am not a software developer, just a self hoster.
Motivation
I generated this because I needed an authless, low barrier-to-entry expenses splitting software for my friend groups, similar to Spliit.
I asked for Spliit replacement recommendations here a couple of moths ago, but I didn’t find one that would work entirely authelssly and which would allow negative entries, like Spliit does. As you might know, Spliit is unmaintained at the moment, and it already has some CVEs, which discouraged me from using it anymore.
Euros
With this in mind, Euros was made super minimal: just Go with one dependency, sqlite. The UI is just HTML and CSS. The license is AGPLv3-or-later.
The container image offered in the repo is both rootless and distroless, meaning there is no shell, package manager etc. inside the container, and also that the user running the binary is un-privileged.
I’ve been running this now for a couple of weeks, and I am quite happy with how this turned out. I consider the software to be feature complete, i.e. what you see now is what you’ll get. I’ll just keep bumping the major Go and major sqlite version up as they drop.
So, if you need an even simpler Spliit, you might like this.
threaded - newest
Thanks for the AI tag
No problem! I think making the AI tag mandatory could be good for the community. Though I also recognize that bad actors could easily omit it and try to hide AI contributions.
Hi dude,
Well, “Here is my entirely generated LLM tool” is clearly a red flag. I’m a software engineer for 20 years, I’ll try to explain you why it is a redflag for developpers.
First, how many gallon of water and kg of coal were used to generate it ? Using LLM has a real hidden cost.
3500 lines of code written in 1 week… Professional developers write around 10 to 100 lines a day. Why ? Because understanding a system takes time. Here, there are 3500 lines no one is able to explain. “It works” doesn’t mean “It works”. Building a software is not just about making it work in your own use case.
Github like platforms were created to collaborate. It is not possible to collaborate on a vibe coded application. There are too many code that were written too quickly. And without the whole prompt history, the model used, etc… it is not even possible to do “collaborative vibe coding”. Another agent with another prompt history won’t have the full context of application, and won’t be able to keep consistency.
Now, github, gitlab, codeberg, etc… are flooded by these kind of app, generate by a single person in a few days on which it is not possible to collaborate. OpenSource maintainer are flooded by AI Slope code, and more and more project are forced to become closed source, or to restrict contributions only to some user.
The developer of a software is the worst person ever to test it. There are cognitive bias that make the developer unconsciously avoid scenarios that can break the system. If only one developer built a product, I’m 100% sure I won’t be able to build and run it on my computer without trouble. And again, every vibe-coded application were built by a single person.
If your tool works for you and your friend, cool. But the real value of a source code is not the source itself. It’s the people that worked on it, that built a common understanding, that ran it in several environment, with several use case, and that makes it robust. So don’t be mad if no one want to test your code.
Hi and thanks for the comment.
Just to clarify, I am looking for neither contributors nor QA testers for the code. I generated this just for my benefit and threw it into the open. If someone gets any use out of it, cool. If not, also cool.
I am also not claiming the code to be professional or particularly robust. This is why I made the LLM part clear.
I wish more people understood this.
Do I use LLMs to write software for my personal use? Sure. I still try to build it in an “incremental” way the same way I would write software manually so I don’t get 10k SLOC written in a week, but at some point, even reviewing 100 LOC changes takes time, so I just take a cursory look at the diff, yolo-merge-and-run to test it. It’s not critical. This is fine. I’m just exploring the problem domain and solutions.
But would I go as far as sharing it, making a damn git repo and advertising it on Lemmy? Fuck no. This is unreliable, inscrutable slopware tailored for my own use. Anyone with a local LLM or a 20 euro claude/codex/z.ai subscription can do the same thing in a few minutes of work a day.
A single 10-line patch/contribution to a human-written project, with contributors who understand the code, or even a well-curated comment in a bug tracker that helps devs debug an issue or clearly expresses a need, has more value for the community than 50 vibe-coded projects.
Have you considered filing feature requests for these on existing, well-maintained projects?
Yes, even writing a proper issue report probably entails more work and brainstorming than prompting your way to a shitty solution. No offense meant, I do it as well. I know using a LLM and pumping out a working solution to a complex problem in a week gives a feeling of euphoria and power; this wouldn’t have been possible at all a few years ago. But there is absolutely no value in proactively sharing and advertising it.
I appreciate OP being transparent about it though.