4 ms·
I feel like I'm living in a parallel universe when I read these types of posts. My agents have never created code that is straight-up garbage and I have never
by ad_fontes 1mo ago
I feel like I'm living in a parallel universe when I read these types of posts.
My agents have never created code that is straight-up garbage and I have never flushed a week's worth of tokens down the toilet. I just can't identify with all the constant complaints about AI-assisted coding.
And my biggest project isn't some hello world app. It's a self-hosted, privacy-focused personal financial management application that I intend to open source. It's about 126k LOC against 240k LOC of regression tests and 30k LOC of CI/CD pipeline. I'm doing 24x7 mutation testing on a dedicated box against the accounting engine and temporal systems. I even have specialized agents doing audits against Regulation Z (US banking law) criteria so the app models the required behavior of banks.
Most of my complaints about everything are nits, like the overly verbose and dense way LLMs communicate with me. Or their predisposition to add, add, and add more stuff when proper engineering practices are more often about subtraction (but I've built mitigation guardrails against a lot of that).
- yladiz 1mo agoHow in the world do you need 30k LOC for your CI/CD??
- geerlingguy 1mo agoWith some models, if you're not forcefully terse, probably 28k LOC of comments!
- floren 1mo ago1. be the kind of guy who thinks more LOC = more betterer 2. ask an LLM to do the needful and never ever look at the results except to count LOC
- ad_fontes 1mo agoBecause it's complex and I'm stuffing 30-50 PRs a day through it. 7 GHA workflows across four self-hosted runners. I'm on my third iteration, after constantly log jamming previous versions. Most steps aren't "run pytest", they're gates that guard against an LLM's bias to continuously add more and more complexity to a system. I'm aware of the irony of having a complex system to mitigate complexity, but the key difference is these rules bound complexity growth. If you're legitimately interested in the details, let me know. I'm too tired to write up much more but would be willing to drop in a LLM-authored summary of the details.
- prmoustache 1mo agoThe complexity of a ci/cd workflow is independent of the number of PR a day.
- eru 1mo agoCould you drop the LLM-authored summary in a GitHub gist (or so) and link here? (Suggesting this route, so that we don't spam HN too much.)
- ad_fontes 1mo agoAlready posted above. And I wish I had thought of your gist idea before posting it.
- sensanaty 1mo agoI work for a gigantic financial institution with ~2000 devs pushing code daily with 100s of apps that need to be built and I'd be shocked if we were above 50kLOC for all the CI/CD stuff. It's probably far less considering the point of CI/CD is reproducibility and ease of adding to...
- the__alchemist 1mo agoWhat are the project's capabilities? I have also written a personal finance application, and it's ~3k LOC total. And have several projects that are dramatically more complicated than a typical personal finance app, and are 30-50k. This begs the question: If you're using LLMs heavily, wouldn't it be better from a time, correctness, and token perspective to have a more compact and maintainable code base? We don't know what the personal finance app does, how quickly it runs, how much it improves your finance management, how easy it is to install and update etc, or how maintainable it is by people or LLMs. What you did post is a red flag of consequence, without mitigating factors: We know only the red flag. Another perspective: I use LLMs heavily as well, but don't find they appreciably increase code verbosity, for a given set of features/requirements.
- ad_fontes 1mo ago[flagged]
- WD-42 1mo agoPersonal finance tracker - the TODO app of 2026.
- tptacek 1mo agoI'm not sure if this is snark or not, but yes, there is something fundamentally interesting about the fact that "personal finance tracker" is now a project with the same craft valence as a todo list, the "hello world" of the last 20 years of programming. It also says something new about todo list programs, and programs of that ilk/level of complexity: they're now subthreshold programming, or, the way I look at things, a level of programming now accessible to nonprogrammers.
- rayiner 1mo agoI replaced my todo list tracker with a vibe coded one, while waiting for things to happen in the middle of a trial. We're living in the future.
- tptacek 1mo agoIt's fucking weird and I think we're not talking about it enough.
- keeda 1mo agoHere’s my theory for why this is happening, from the thread the other day on not being excited about technology anymore: https://news.ycombinator.com/item?id=49350223 https://news.ycombinator.com/item?id=49350223
- rayiner 1mo agoI got through a trial using a document manager I vibe coded in two days. No crashes, no runaway memory usage with several gigs of PDFs. All my depo transcripts, expert reports, etc, indexed, with a terminal window integrated so i can ask Grok to “pull up the testimony on the first day when that guy said that thing.” The app has an API so the AI can directly control what documents i’m looking at and jump me to the right places. All I had to do was tell Claude to “expose all the document viewing functionality through applescript,” then tell Grok to “read the applescript dictionary and write yourself a skill.” It’s like ye olde times when we had overqualified efficient paralegals who could do stuff like that.
- deleted 1mo ago[deleted]
- raincole 1mo ago> personal financial management application > 126k LOC against 240k LOC of regression tests and 30k LOC of CI/CD pipeline I mean... Yeah, that's pretty self-explanatory why you don't identify complains about AI-assisted coding.
- lelanthran 1mo agoYeah. I was thinking the same thing :-)
- treykeown 1mo agoRight? This has to be bait. I hope.
- zahlman 1mo ago> Or their predisposition to add, add, and add more stuff when proper engineering practices are more often about subtraction (but I've built mitigation guardrails against a lot of that). > a… personal financial management application… about 126k LOC against 240k LOC of regression tests and 30k LOC of CI/CD pipeline Just how much functionality are you getting out of that? It's hard for me to imagine that people want that much out of such a program. I just keep a spreadsheet. (Yes, LibreOffice is also very bloated.)
- ad_fontes 1mo agoMy wife was a diehard YNAB user before we met but it went by the wayside once we merged finances. She wanted to get back to better managing our money and started using Google Sheets and then got stuck. She asked me for help trying to create a pivot table and like any good engineer, I built her an entirely new application instead. In my defense though, it does way more than a spreadsheet. Stuff like OCRing screenshots of bank transactions with a specialized, locally-hosted LLM to avoid data harvesters like Plaid. This became an entirely separate subsystem with verification, automated model benchmarking, prompt provenance, etc. You'd be surprised at how quickly edge cases start to pile up when an accounting system makes contact with the real world. (If you buy something on a credit card and then return it after your statement closes but before your payment is due, do you still owe a minimum payment based on that purchase? Well... depends on your bank. Capital One and Chase: yes, US Bank: no.) > Just how much functionality are you getting out of that? I'm still dogfooding it. It's a pretty opinionated app that has things a month-end closing ceremony, reconciliation processes, envelope-based budgeting cycles. So unfortunately my feedback cycle is largely locked to the calendar. But my wife absolutely loves it so far.
- zzrrt 1mo ago> do you still owe a minimum payment based on that purchase? I'm skeptical that the UX is improved much by having the app know the answer. The bank tells you what to pay, a month beforehand. The user has to get that number from the bank anyway, to be sure they don't incur fees. Your app should just pull it from the statements, not independently calculate it.
- ryan_lane 1mo agoIt happens, but when it does, you need to ask yourself: if the agent is struggling this much to produce something that's working, am I taking the right approach? If you ask for a particular thing, they'll do it, even if it's not a good idea. When you start running into issues, they'll try to solve those issues for you. They'll do that as long as you keep asking, even if there's no good way to properly fix the issues, because the initial approach was wrong. When an agent is struggling to produce something, I switch to asking it to re-evaluate the approach itself, and ask it to suggest a less brittle approach. I then chat through the various options, and choose the best approach that makes sense, and then the agent is back on track, producing properly working code without the issues. Some people just keep pushing through on bad approaches, without questioning it and then blame the agent for being unable to finish it.
- catlover76 1mo ago[dead]
- ancientwisdom20 1mo agoI signed up to say I’m also in the personal finance management camp. Scraping all financial institutions, AI can categorize things that I previously did manually, able to do tax projections, retirement analysis, categorize individual items in Amazon purchases, analyze travel purchases with points vs cash. Instead of paying for multiple apps that do small parts of it, I use existing codex subscription to make it better.
- miketery 1mo agoI have copilot (personal finance app), i pay $99/yr and let that scrape for me then i have everything is sqlite available locally. How are you scraping? Have you had success across institutions?
- deleted 1mo ago[deleted]
- the__alchemist 1mo ago> I feel like I'm living in a parallel universe when I read these types of posts. > And my biggest project isn't some hello world app. It's a self-hosted, privacy-focused personal financial management application that I intend to open source. It's about 126k LOC against 240k LOC of regression tests and 30k LOC of CI/CD pipeline. Indeed; non-overlapping Overton windows. edit: I'm going bluntly ask, after pondering this more: Is this satire?
- ad_fontes 1mo agoNot satire. But I can understand why my comment seemed contradictory. I've been designing software for a long time, but I'm nowhere near as good as most career SDEs I know (my career path has been SDE-adjacent). So it's not like I sat down and independently told various LLMs how to build out all these guardrails. I make high level architecture decisions and nudge them in the right direction ("use RabbitMQ", "trunk-based branching, not gitflow", etc). A lot of this stuff evolved piecemeal and organically. But at no point was a churning out garbage and I never had a runaway agent completely derail the project (or my budget). But, thinking about it more, I guess there are some things I might have done differently than most people: - I started with documentation: user interview --> user stories --> functional spec --> frozen design contract. These were all done before I wrote any code. - I specified the tech stack and the architecture in broad strokes, rather than let the LLMs make that decision. I went with boring choices because that's what I know best: Flask/Jinja, Alpine.js, Postgres. - I've constantly gone back and refactored accumulated tech debt and have added hard CI gates for things like cyclomatic complexity, ensuring that docs don't drift from the underlying code, and an "apparatus ledger" that keeps track of all the rules and constraints that keep getting added. - I make sure that each session proves that it's tests can fail before shipping a PR, so it's not writing meaningless tests. Maybe I'm underestimating how impactful all those things add up to shape the behavior of the LLM agents? Because individually, I wouldn't expect them to have saved my from nearly all the AI pitfalls I read about.
- user43928 1mo agoI have a project of similar scope, a native mobile app I have been working on for four months. I get the same kind of snarky comments when I talk about it. Amazing how people who know nothing about the project think they know better than me about its quality or maintainability. I doubt it's anything in particular that we are doing, I suspect it is rather a lack of trying and experience with the ones who are claiming agentic development does not work. I have not once seen a believable story where for example the project broke down after 200k LOC, or after going live. It is always inane stuff like in the OP, like the agent supposedly generated only tests and no code, sure. Most of the ones I have seen were "I generated some code and did not like the output". No attempts of iterating and refactoring. I believe they simply did not yet try our way of working.
- conartist6 1mo agoAre you surprised that when you look into the mirror and you see your own face not someone else's? Remember, models have no identity. They just try to say what they think you want them to say.
- altmanaltman 1mo ago> I even have specialized agents doing audits against Regulation Z (US banking law) criteria so the app models the required behavior of banks. Can you elaborate on this? Clearly you cannot imply this means those audits have any real value since its just roleplay in this context right? Because your app in the current form will not be affected by Regulation Z in any way.
- ad_fontes 1mo agoYou're correct. A consuming application doesn't have anything to do with Reg Z. However, the regulations do dictate the behavior or interface that I can expect from banks, almost like an API contract. It might make more sense if I explain the incident that caused me to add it: My wife intentionally overpaid on a credit card statement balance in order to gain some credit limit headroom in the current month. Using made up numbers: The balance said we owed $1,000, but she paid $2,000 to make room for a big purchase that month. My application rejected that overpayment as a data integrity error because it would have pushed the credit card balance to -$1,000. This is a valid state though and Reg Z actually specifies the rules around that case. A bank has to refund a positive balance upon request or automatically after X number of days (I forget the amount). So now, anytime my agents touch any code associated with credit instruments, they have to run a Reg Z audit to ensure that the data model reflects how banks actually operate in the real world.
- sph 1mo ago> 30k LOC of CI/CD pipeline Holy shit.
- fzeindl 1mo agoNo disrespect but 30k LOC of CI/CD pipeline sounds truly terrible. If your build scripts are more than 100-300 LOC you are doing something very wrong.