Currently, my life choices oscillate between - Hand-code it and get it right the first time but spend 4 hours trying to understand how this obscure javascript framework works? - Vibe-code it in 5 minutes, works right away but and spend 4 hours debugging and cleaning up garbage code it left in there?

Replies (36)

can you accept my request to Cashu on GitHub copilot 😁 btw .
I’m finding if it’s important I hand-code to start then vibe-code to extend. LLMs are much better when it has a foundation to build on.
jimboslice's avatar
jimboslice 6 months ago
Any preference on frameworks? I try to stay away from JS, but I have used Sveltekit in the past.
How about running the code first by a separate agent that is “trained” to find bugs and security holes? Or does it not work like that? I recently heard someone talk about a setup he had with multiple agents runnings , 1 product agent, 1 design agent , 1 dev agent and a QA agent with each their own tasks across different LLM providers.
B any day. AI will learn and get better, especially if you feedback what it got wrong. It will take less and less time to de bug. It's also less mentally draining and you are less likely to suffer mental blocks.
This is the why skill beats convenience. A rough draft may save time. I will sketch by hand and then try to use CAD to make the result pretty. Perhaps pseudocode would help you.
If you don't clean up after your agent it will create a massively convicted clusterfuck that accumulates garbage with every new feature you add. Makes it virtually impossible to maintain, optimize, and debug in the future. Happened to me in 100% of all vibe projects I ever touched.
They are all experts in all of these fields. I spin up new agents constantly. I suspect that the root of the problem is not the agents ability to write good code but rather its reluctance to get rid of already-written code and instead rather *add on top* of the project. This accumulates waste that kills the project over time. When I tell the agent to "don't hesitate to change existing code if your new approach would benefit from it" it seems to be a bit more daring.
I've been vibe coding many different projects and have used this to try out new frameworks with almost every new project I start. Can absolutely recommend. Amazing how much faster you can learn by just doing it.
1. Define the desired outcome 2. Chat with AI about the outcome on a higher level and let it create an example. This will help you understand what the code does. 3. Hand write the desired code or let AI create the boilerplate and add your own touches. 4. Let AI review 5. Commit
I don't know how others vibe code anything that works in 5 minutes. I've repeatedly spent many hours and sats on problems and it never worked perfectly. It does make me faster though and as I expect it to only get better, I try to vibe code stuff and that's what I guess you are not taking into account. If you get to the same level of acceptable results both ways, not vibe coding it will train you in some framework and not in prompting. Which of the two will you need more in a year from now?
CalleCrowbar's avatar
CalleCrowbar 6 months ago
Yeah my friend is working with evaluing/implementing AI tools for a big organization and their finding is that the staff -feel- more productive using AI tools but if you measure the time spent it’s usually the same as doing it manually (for now)
modalplex's avatar
modalplex 6 months ago
They are both the same. You’ll walk both paths on occasion.
My advice is if you find yourself using some obscure JS framework that does more to hinder than help you: Don't 😄
Second option is better, because it will motivate you by seeing the prototype working..see it as an MVP or an advanced prototype , which you can use to gather feedback loop. Remember in software the feedback loop is important. The more often and quick the best. This tou can do with vibe coding You can see vibe coding as a replacement of a gui sketcher like Figma, etc, not as a replacement of a coder. And In Figma you have to draw this yourself, in vibe code it draws for you. Maybe there's some VibeFigma, which focus only on the user interface
If there is a solid hand coded format in the project, it becomes a bit better to get the LLM to do the correct thing. This has been my experience for example in getting Claude code to follow the convention I use in a tanstack start project.
I figured you did. Guess it still doesn’t help cut down time spent based on your post.
Soup Baba's avatar
Soup Baba 6 months ago
If you are already an excellent coder might as well work on becoming an excellent vibe coder too.
Thing is I won't get 2x faster at hand-coding during my life time (at least not for things I haven't built before) but the vibe will get better and better every day. Option 2 will win eventually.
my javascript-bashing days are behind me. It's just a langauge. excels at some stuff, not others. Besides, any issue with a given framework should not be heaped at the doorstep of JavaScript itself
CalleCrowbar's avatar
CalleCrowbar 6 months ago
100% agree! Personally I just find it useful to have in the back of my head when I’m typing away with any kind of AI: ”Am I being productive now or does it just feel like it”
leveler's avatar
leveler 6 months ago
How easy is to maintain a vibecode app, are they easily expanded with new functionalities? Or is the code so out of this world its gonna cost way more getting a new dev in?