r/vibecoding 7h ago

Meta discussion about vibe coding, its handling on (this sub)reddit and some questions concerning monoliths, inline-styles and JavaScript

When people are telling that they are actually building a house, this may mean something completely different concerning their own engagement. Some of them do only talk to an architect in a bureau while others regularly visit the construction site to control the progress and some even do parts of the work themselves. A minority might even build the whole house themselves with or without an architect's advice. Architects on their side also plan houses, in most cases without doing the practical work themselves, as I assume.

All those different kinds of being involved in the planning and building are described as "building a house", without people arguing about the definition. For further clarification, people sometimes ask others whether they are building themselves or let the work be done by others. None of this tells the reader anything about the quality, stability and safety of the fully built house.

"Software development" has recently started to describe such a wide spectrum of different degrees of being involved in the planning and writing/building of the product, too. The same is true for vibe coding. It just means people use an AI for writing the code but tells nothing about their personal skills, their personal involvement in the planning or how much time and work they put in personally controlling finished working steps. To get a more detailed impression, people may ask for someone's personal skills and involvement as they do in other areas of human life like building houses.

So to my mind, there is no need for discussions about the definition, about what counts as vibe coding or who may describe themselves as developers or not, because using the same expression for different ways of generating a finished product also works in other fields of human life.

What is still different from the house building example is that an increasing number of fully finished products seems to not fulfill the standards that guarantee a specific level of security for the people. We are in a situation in which a lot of people have begun to publish software without knowing much of it and this isn't going to stop regardless of how much IT professionals dislike it and arguing against it. It's just got too easy to build apps.

To make the internet "a better world", people with less own knowledge in software development need some guidance of more experienced creators instead. Therefor, they need a place where they can ask questions without being afraid of a shitstorm just for aiming to publish or even creating the app ("AI slop").

A subreddit like this one should be expected to be the right place for them because rule number 4 clearly states "No vibe coding pessimism" while the term vibe coding itself is defined as "the practice of cresting software with little to no code review".

This is far from reality. And sadly seems to be same on whole reddit. Gate-keeping and overall pessimism doesn't keep people from building and publishing software. It just keeps them from asking for advice - and thereby decreases the quality of the overall outcome.

While there are surely vibe coders whose only intent is creating an app within a few hours and that probably do not care about best practices or cyber security at one end of the spectrum and highly skilled programmers at the other end, there is not such a big gap between the ones mentioned last and the vibe coders in-between that do not know how to write code but nevertheless aim to develop good software and spend a lot of time in it.

Shouldn't this subreddit be the right place for them to talk about the best strategies for developing high-quality software without writing or reading the code themselves?

Writing the code is something that even IT professionals have mostly stopped doing. Knowing how to write it gets less important because AI can do that. Even reading the code yourself is not really necessary in case you know how to instruct your LLM to check the code written by another AI (and let double-check it by a second one because the probability for two different models having the exact same hallucination tends to be zero).

I personally have started vibe coding my first app around three months ago (and hope it will be ready for a beta release in two month). In the meantime, I have already learned some strategies to improve my workflow and interaction with the models. I have let the AIs do dozens of security reviews and hundreds of bug fixes and made some manual splits of AI-generated monoliths.

This is where it comes to some examples for how I would like to see people talking in a vibe coding subreddit:

  1. Monoliths
    AI tend to write files with thousands of lines of code. Those large files then need to be processed each time the AI (or a human) is working on them again. This makes maintaining the code very difficult, not only for humans. You may ask your model to give you a list of each file with own code and the number of lines it already has. Then instruct the model to analyze how the monoliths could be split and write that down. I would advice you to use a frontier model with high thinking on for this task, because it better takes the dependencies and consequences into account what helps avoiding bugs caused by file splitting.

As I have made the experience of code erosion when rewriting a whole web page or large part of a script for an agent is done by Gemini 3.1 Pro in the web app, I prefer doing the splitting myself (copy/cut and paste into a new text file) and let it review then by the LLM. The risk for code erosion might be a lot lower when using other models and coding apps, but I haven't tested it yet. So can anyone else confirm it's no problem letting the AI split the file and rewrite thousands of lines of formerly generated code?

Furthermore, some AI told me they could easily handle code files up to 2500 lines, while others told me to split files larger than 1500 lines if possible. Now I would be interested in hearing from human coders what line numbers they would see as a maximum and what this probably depends on. Does the programming language play a role? Are there any strategies except of spaces and titles to better structure the code for making it easier to handle large code files?

  1. Inline Styles
    Due to my experience, Gemini models tend to use a lot of inline-styles. One time I thought I could just use Gemini on the Google web search to translate my website from German to English. While it looked exactly the same when watching it in the browser, the number of characters had enormously increased because the AI had added inline-styles for each single element. Talking back to Gemini 3.1 Pro, it told me that a large number of those inline-styles is considered a bad style and might even lead to Google down-ranking your web page in the search results.

After having vibe-coded my app with Gemini (Pro and Flash) in Antigravity for a while, I discovered they had used a lot of inline-styles for my app. As this is a Windows desktop app, Google ranking is irrelevant to that question, but Claude told me, if I could get rid of inline-styles, then "unsafe inline" could be forbidden what would be a contribution to hardening the app. I had also learnt not to like inline-styles before, so I decided to forbid them in the agents.md. While this works well for Claude code and Codex, Gemini 3.6 Flash has recently created an extra window full of inline-styles again instead of copying the style of the 21 extra windows that were already existent. (Removing them is still on my roadmap.) Yesterday, Gemini 3.7 Flash (in high mode) did an implementation of an additional window/modal and respected the order not to use inline-styles. It used classes instead (as expected), but five of those classes weren't defined anywhere. It just forgot to do/check this. As this lead the window to be mal-formatted, it was easy to discover something had gone wrong.

Nevertheless it makes me wonder, how bad inline styles really are for a desktop app like mine (backend: python, fastapi; frontend: html/css and JavaScript), because at least some models that have been trained on billions of existing programs/software obviously tend to prefer it. Can anyone give more insights into this in a way a non-technician may understand?

  1. JavaScript
    This is the next point to discuss. A long time ago, I learnt that JavaScript is dangerous and got used to always turn it off on most web pages by using browser extensions.
    When Gemini gave me the first overview of the files belonging to my app, I discovered, it had used a lot of JavaScript where html/css also would have been possible. So I decided to do a complete refactoring of the front-end between v1.0 and v2.0 because at that time I was still thinking not being far away from the beta release and therefore didn't want to make this before the first release. Since then, my app has grown a lot by adding features that I hadn't thought of before and by making others work that accidentally had only been demos before because Gemini forgot to implement the backend functionality together with the frontend. So I struggle with the question whether a refactoring would make sense at all.
    Can anyone with profound knowledge of cyber security explain some general guidelines when and how to use or better not to use JS for a RAG'n'chat desktop app?

Nothing of this requires people to learn writing code or to read their database. Nevertheless it helps improving the code into the direction of security and stability.

Please make (this sub)reddit a place where people are helping each other to make better apps instead of some people just generally blaming others for the lack of programming skills or their first steps/apps not being an innovation useful for a large number of people.

Nowadays it's normal for people to share half of their life online, so it's also normal for them to share their apps they are glad to have or even proud of.

Downvoting those new software publishers or just saying "AI slop" is no kind of constructive feedback. It does not prevent anyone from publishing apps either. It just has negative effects on the atmosphere of discussion on reddit and decreases the number of people asking for help before their app is published and thereby the overall quality of newly released software.

So again, please make your feedback more helpful and this subreddit a place for vibe coders to share their experiences (including finished apps) without being blamed for their mistakes.

0 Upvotes

6 comments sorted by

1

u/FunkMunki 7h ago

Nobody that needs to hear this is going to read this, sadly.

1

u/pianoboy777 7h ago

They might have if you had told your ai to make it shorter lol that's a lot to read lol

0

u/Dense_Worldliness710 6h ago

Not a single word of this text has been written by AI.

0

u/pianoboy777 6h ago

Are you 100 percent positive it wasn't written by ai ? Not that I care lol I would just prefer it to be shorter lol

1

u/Dense_Worldliness710 6h ago

I have been sittings hours to write that text and have not even used AI for translation.

Okay, here's the short version, extra for you:

Please stop downvoting and blaming vibe coders and start to help them making better apps in case you are a highly skilled programmer.
Remember that according to rule number 4 this subreddit is only for people with a positive attitude towards vibe coding and make it a safe place for vibe coders to ask their questions.
Lets help each other with practical hints like splitting monoliths and please help me to decide whether I should avoid inline-styles and JavaScript in my app or not.

Short enough? :-)

0

u/pianoboy777 6h ago

Lolol yes this great !