over_bridge
3 hours ago
I've used AI for building a hobbyist note app myself. It's also a mixed bag but a lot of that comes down to how I've changed.
Before AI dev was expensive so I'd spend hours planning features. I filled 5 notebooks with UI sketches and data schemas and lists of names of what to call things. Building was more or less final as I only had 5-10 hrs a week max and wanted to move on.
Now I type directly into the Claude Code chat box and it writes it in front of me. I haven't planned a thing in months. As a result the app swings wildly around based on my whims and feelings. I can rewrite the whole thing based on something I thought of in the shower. Then days later I realize it isn't right and I rebuild it again. All of the rewrites have done a number on the code and I see dead patterns everywhere from stuff long since deleted.
In a professional app I'd have others to hold me accountable so it's not exactly the same but AI has made it very easy to make a lot of bad apps quickly. If you know exactly what you want though it can feel like magic.
I just hope it's still respecting the data loading and caching algorithms I designed so carefully cause I wouldn't know if it wasn't anymore.
torginus
3 hours ago
I have noticed the exact behavior change on myself that you describe.
But, thanks to the magic of keeping track of time and tasks, I have discovered:
- I am not all that faster when project timelines are concerned
- I've often built things with AI with the latest and greatest technologies that I've always wanted to learn but never did, like write a microservice backend with the trendiest frameworks with infrastructure as code and all the bells and whistles, while previously I was content with a server executable sitting on disk (maybe in a container), writing to a sqlite db file next to it.
- The new tech has serious performance DX/UX and cost issues. While previously deployment was just a copy, now I have to wait for terraform to churn through the monstrosity I made with AI. Debugging is hard.
- There's no prestige in building with fancy tech. AI can build using microservice orchestration. It can build using a simple CRUD blob as well. You just have to ask it. A lot of appeal of said fancy tech lay in prestige, newness, and exclusivity, and it sucks in very tangible ways.
- I used to be much more awesome than I gave myself credit for. Looking back at my old code, the amount of highly dense and quality code I cranked out during my productive periods was way more than I though, and you could feel it was thought through. Rather than doing the feature sloppily then fixing the 5 corner cases, like AI does, I carefully considered execution flow and made sure the simple looking code actually did everything correctly. This meant that it had a ton of missing mental context that I couldn't replicate just by looking at it after a long while, and touching the code without rebuilding it was a futile exercise.
- I fooled myself into thinking I understood what AI was doing, but in reality, I was far less aware than I expected and needed to be
customguy
3 hours ago
> I carefully considered execution flow and made sure the simple looking code actually did everything correctly
That is what I love about coding. Not just insofar as it's necessary and useful (it is both), but just as a puzzle in its own right, to a fault. It's just a type of "imagination" that I don't really apply often otherwise, since e.g. I'm not into math, not an organizer or manager etc. Though I did have jobs where I instantly saw ways to optimise some things I do credit to having practised with code. You just try to think through what will happen given the known landscape and the given decided plan, what could happen given the known unknowns, how your heuristics would deal with that, and unless it's all green you see if you can change the landscape, the plan, explore some unknowns, and/or improve your heuristics (by which I just mean what you use to make ad-hoc decisions when things don't go according to plan). That kind of becomes a habit which can get applied to and improve lots of things. Measure twice, cut once, so I don't have to spend three days because of a stray comma (again).
fragmede
2 hours ago
omfg all those days and money lost to a single character.
Chance-Device
3 hours ago
> AI has made it very easy to make a lot of bad apps quickly
Is it bad from a user or performance perspective, or just untidy and unaesthetic from a developer’s perspective? Because the developer’s perspective is becoming increasingly unimportant as LLMs become the main readers and writers of the code.
SoftTalker
3 hours ago
Code that is untidy and unaesthetic from a developer’s perspective is also likely to be confusing to a user and perform or scale poorly, in my experience at least.
bonesss
10 minutes ago
Elegance kinda-sorta has to be token efficient in the micro and the macro. Easier & better LLM results.
Aesthetic code is clear & consistent and therefore more readable. Supposedly we’re all awesome at PR review and use an aggressive process of manual review now, so readability should be a priority.
LLMs have context windows and compress them arbitrarily, inconsistent or messy areas of code can be read and improperly weighted in any given session, code base cleanliness gives consistency of generation.
… LLMs or not, I simply can’t imagine making a large(r) pile of crap for myself to maintain & customers to use in their businesses is some grand engineering benefit over time. If those agents are so great make ‘em do the entire job and refactor tested utility into a digestible & defensible product.
Chance-Device
3 hours ago
I think these are separate things. I get the heuristic you’re applying, but with rigorous testing code quality doesn’t matter the same way anymore. Indeed, what is quality?
FuckButtons
2 hours ago
I don’t think any of what you just said is true. Code quality matters even with testing even up to proof of correctness using formal methods, because working software is a moving target and quality is a measure of how easy / expensive it is to continue to track that target going forward.
Chance-Device
2 hours ago
Well, shrug I guess? You’re welcome to your opinion, we both think the other is wrong.
Ekaros
3 hours ago
Depends on how it manifests. If things change every app release sometimes for better sometimes for worse and nothing really stays consistent over time it is clearly bad for user.
Users really like stability of their experience. They want the things that are working to keep working. If something is bit weird but acceptable they expect it to continue like that. Going back and forth between things might be the worst. After bad bugs like data being lost or thing not working at all.
Chance-Device
3 hours ago
For sure, but I think solid automated testing is what gets you to a good and consistent user experience. Validation of the outcome rather than the code itself.
serial_dev
3 hours ago
At least some of it (not all of it) will leak from devs pain to users pain... Untidy unaesthetic unreviewed code will sooner or later introduce inconsistencies, poor performance, and bugs, and as you get more of it, the harder it is to clean up properly and get things under control.
oblio
3 hours ago
> developer’s perspective is becoming increasingly unimportant as LLMs become the main readers and writers of the code.
Until the LLM itself becomes confused by the 10 layers of old patterns that weren't fully deleted from the code base, 5 of which do more or less the same thing but in minutely different ways that cause issues.
Chance-Device
3 hours ago
I don’t think you shouldn’t go and clean up dead code and ensure that you have code reuse, as it probably does help the LLM somewhat. I just don’t think that it needs to be as strict as we’re used to for human consumption. And the LLMs will get better at both reading such messy codebases and not making a mess as time goes on. Assuming of course, that not making a mess even helps.
over_bridge
an hour ago
I mean that it's allowed more bad apps to be created. It hasn't lowered the quality of apps necessarily but the low barrier to entry means things can be created that don't need to exist
Chance-Device
an hour ago
Ah, I see! Fair point.
SpicyLemonZest
3 hours ago
Both. I debugged an issue a few days ago where a messy, incomplete migration was causing every agent that drove by to very confidently assert the wrong behavior and try to make breaking changes.
Gareth321
3 hours ago
I've been searching for the perfect notes app my whole life, and have been contemplating just building it myself now. I'd love if you could link me to your github and share it.