I've caught AI coding assistants writing tests a few times that looked completely legit at first glance but were actually asserting nothing useful. One test was just checking if a mock function was called instead of verifying the actual output data. Now I've made it a habit to temporarily undo the code fix just to see if the test actually fails. If it stays green the test is just giving a false sense of security. Do you manually audit your automated test suites or do you mostly trust what the generator outputs?
Idea: condition an LLM on real census data, have it answer a question as ~400 weighted "people," aggregate like a poll.
Getting a plausible distribution was easy. Getting an honest one wasn't on stereotype-magnet questions the model collapses to ~100% one answer. That's its prior wearing a lab coat, not opinion.
I'm a UX designer by trade, and as a designer I always had some fun ideas to build but never the tools to do so other then some concept design. But recently I had this Idea again from a while back and just build it.
It ook me over 2 months and had to learn a lot of code and documentation myself to tell the damn AI's what to do.
It's a weird feeling of feeling powerful and helpless at the same time haha.
Noticed something a few weeks into a bigger project. Early on, a prompt like "add a delete button" just worked, one sentence, done. Now the same size request needs four sentences of context just to not break something else, which auth flow to respect, which of the two similar-looking components to touch, which past decision not to accidentally undo.
That's not classic technical debt. The code itself might be totally fine. The debt is that every prompt now has to carry more context just to stay correct, and that context requirement grows quietly, prompt by prompt, without ever showing up as a line in the codebase you'd notice.
The trap is it feels like the project getting more complex, which is normal and expected. But it's actually something narrower: the AI's working memory of your decisions is shrinking relative to how many decisions exist, so you're the one who has to keep re-supplying context it should already "know." At some point you're basically writing documentation into every prompt just to get back to where a one-line request used to work.
The only thing that's slowed this down for me: treating repeated context as a signal, not a nuisance. If I'm explaining the same constraint for the third time in different prompts, that's not me being thorough, that's a sign the constraint needs to live somewhere permanent (a note, a comment, a doc the agent can be pointed to) instead of being retyped from memory every time.
Here's my hacked-together, messy, voice-based dev environment:
Voice-driven loop with screen-shotting so the LLM in the loop can see what's in my terminal and editor. The prompt varies depending on what I'm trying to drive with this loop.
A few tool definitions that give read access to files and URLs.
A tool the LLM can send a block of output to that generates keyboard events, so the LLM can drive any editor/terminal.
A separate process watching a directory and constantly making LLM-driven git commits. (git autosave).
I have some pieces of this running most of the time. But I'm lazy, and doing other stuff, and I also try to use a variety of editors and tools, to see what's good lately. Which ... no stability, so my hacked-together stuff is always broken.
I don't want to replace @Windsurf / @Cursor / Claude code. A seriously good agent and expert-system dev toolkit is a lot of work.