I took your post title and body text, and asked a local Ai (on my 8gb vram lol, most of it runs on cpu and is slow) what it "thinks" of. Just for the lols. I think using an Ai to answer this question is appropriate. I did not read the answer, but I think this is only fair.
I there is a user in forum asking a question.
Title: "Rebuilding a social platform – how to use an AI agent as a pair programmer, not a black box?"
Body:
"""
I previously let an AI agent build an entire social media site in one day. It worked, but then it introduced a bug that neither I nor the agent could fix because I had no idea what the code did.
Now I want to rebuild it. I want to use AI again, but this time as an assistant – I’ll review every change, write tests together, and keep a clear plan.
Which AI tool would you recommend for this hybrid approach? How do you structure prompts to force the agent to explain before coding?
Also, do you think a couple of weeks is realistic to rebuild the site that has feature parity with Lemmy and a few extra features that the AI managed to build in a single day? Should I switch to a more manual approach with the agent only for boilerplate?
Any advice is appreciated. Thanks!
"""
What do you think about this?
This is a classic "AI Honeymoon" story. The user experienced the initial rush of seeing a functional app appear instantly, only to hit the "Complexity Wall"—the moment where the AI-generated technical debt becomes so high that the human can no longer maintain the system.
If you are responding to this user, here is a breakdown of how to analyze their situation and the advice you should give them.
1. The Reality Check: The "Lemmy" Problem
The most concerning part of the post is the timeline: "a couple of weeks... feature parity with Lemmy."
The verdict: This is wildly unrealistic.
Lemmy is not just a "social site." It is a federated platform using the ActivityPub protocol. It involves complex distributed systems, asynchronous messaging, complex database schemas for nesting comments, and rigorous security for federation.
The Trap: The user thinks that because the AI "built a site in one day," it can build a complex site in two weeks.
The Truth: AI is great at building "Happy Path" prototypes (things that work when everything goes right). It is terrible at building "Edge Case" architecture (things that don't break when 1,000 people use it or when a malicious actor tries to crash the server).
2. Tool Recommendations
To move away from the "Black Box," the user needs tools that have context of the entire codebase, not just a single chat window.
Cursor: Currently the gold standard. It's a fork of VS Code that indexes the entire project. This allows the AI to "see" how a change in UserAuth.ts affects PostController.ts, reducing the chance of those "unfixable bugs."
Claude 3.5 Sonnet: Widely considered the best model for coding logic and refactoring right now. It tends to be more concise and less "lazy" than GPT-4o.
GitHub Copilot (with Workspace): Good for boilerplate, but less "architectural" than Cursor.
3. The "Anti-Black Box" Prompting Strategy
The user wants to know how to force the AI to explain first. They need to implement a "Design-First" workflow.
Suggested Prompting Framework:
Instead of saying "Build a comment section," they should use a multi-step prompt:
The Blueprint Phase: "I want to build a comment section. Before writing any code, provide a technical design document. Include: 1) The database schema changes, 2) The API endpoints required, and 3) How you will handle nested replies. Do not write the implementation yet."
The Critique Phase: The user reviews the plan. "I don't like how you're handling the nesting; let's use a path-enumeration strategy instead of recursive joins. Update the plan."
The Test-Driven Phase: "Now, write the Vitest/Jest tests for the logic we just agreed upon. The tests should fail initially."
The Implementation Phase: "Now, write the minimal amount of code necessary to make those tests pass."
4. Manual vs. AI Balance
The user asked if they should switch to a more manual approach. Yes, but specifically for the "Glue Logic."
AI for: Boilerplate, writing repetitive CSS, generating unit tests, and explaining unfamiliar library documentation.
Human for: Database schema design, authentication flow, security permissions, and the overall project structure.
Summary of Advice for the User
If I were replying to them, I would say:
"You’ve just learned the hardest lesson in AI coding: Code you didn't write is code you can't fix.
First, be honest with yourself: you cannot achieve Lemmy-level parity in two weeks. Lemmy is a complex federated system; if you rush it with AI, you will end up with the same 'black box' bug that killed your first version.
Use Cursor with Claude 3.5 Sonnet. Stop asking the AI to 'build features' and start asking it to 'propose architectures.' Force it to write the tests before the code. If you can't explain how a function works to a human, don't let the AI commit it to your repo."
For context, in case any reader is not aware: Andrew Kelley, the author of this blog post, is also the creator and main developer of language Zig. And Bun was written in Zig.
DAP uses Google Analytics 360 to measure traffic and engagement across thousands of federal government websites and apps, reporting analytics under a single federal-wide shared account. Google Analytics 360 is the paid, enterprise version of Google Analytics 4 (GA4).
At least you don't start sing. I think singing would be the worst. I'm the same BTW, minus dancing. :D Especially good music, my brain is in a different dimension when I listen to good music I can "vibe" with. (Hey don't judge, this is the first time in my life I used the vibe word appropriate).
Synthwave is my jam. But, and this is a big Butt, I'm a person who focuses on one job and get distracted too easily. So having any music in the background will distract me. So mute is it then for me.
It has for strings and tuples, which are immutable.
If you want your mind blown a lot more
Ehm, that's not mind blowing at all? I think there is some misundestanding. I am not talking about Strings and Tuples alone, but a global rule for all types as being immutable by default. And it would be nice to have a way to tell ANY variable to be immutable.
Scheme does not demands immutability like Clojure, but it prefers it
I'm not sure what "prefers" means in this context; do you mean it "defaults" to? Rust in example doesn't "demand" immutability, it just defaults to it. I had looked into Clojure for a while, but I don't like Lisp.
Just for good measure, I think Odin and Scala are also interesting languages. Whats interesting about Scala is, it can output Java Bytecode, JavaScript and native compiled code. Odin on the other hand seems to be a mixture of C and Python, but I didn't look any further.
I was doing Bash and Python, when a few years ago learned Rust. The const by default was mind blowing how much better it was. I wish Python had const by default too.
I wouldn't put Devuan to a "other random distro" list, and I didn't heard much bad about it either. But I also wasn't much into it like you do with your research and providing documentation to achieve that yourself. I personally would probably go Devuan, if I was Debian user and the only thing I would want to change is getting rid of systemd. Unless my further investigation and research finds reasons not to (I did not read anything convincing yet).
And by all means, if someone wants to do it themselves, go for it. You even provide a tutorial / documentation to achieve that. I appreciate and respect that a lot.
Wouldn't it make more sense to directly use Devuan distribution instead ripping out and replacing systemd from Debian? Users would have a whole community for support, and dedicated developers and maintainers to keep the system work optimally without systemd, while maintaining what Debian makes great.
Off course for study and learning how to get rid of systemd is a great exercise.
"liberated" sounds like SystemD is a jail for your system. If that is such of a high value to you not to use SystemD, maybe its time for you to change the distribution maybe? There are dedicated distributions with the alternatives to SystemD in mind, tested carefully and operating optimally. Devuan, AniX and MX Linux are based on Debian. Have a look at https://itsfoss.com/systemd-free-distros/ .
If you are not sure, then its best to leave it run. My "assumption" would be that it is safe to cancel during the download period. I am actually not familiar how Linux Mint GUI operates, as I am using the upgrade and update commands on an Archlinux* system in the terminal. So I can see exactly what it is doing, and when it enters into installation phase after downloading all necessary packages. During installation I wouldn't cancel the process. My suggestion was for you to look into.
Better run a terminal command, which you can execute a command right after the job is done. Something like upgrade && shutdown (off course you need to fill the full command). If you can, I would stop the upgrade process in the GUI and run it as a command instead for full control. Next time you just run the command.
why? bevause they gave people an option that dorsnt affect anyone else?
It always starts like this. I criticized the initial optional and ai features in Firefox. People said "oh its just this one time in the PDF" and so on. What happened? Mozilla added more and more Ai functionality, to a point where they had to integrate a kill switch because so many were bothered by. Also even if you disable all the features, it affects you in some way. Because now they will not integrate an alternative feature without the need of Ai. That means if you disable Ai, you miss out on features otherwise. And it takes lot of resources and development time from the team for stuff you don't care.
Therefore I do not accept the defense of "it is optional, it does not affect you" for these various reasons I just outlined.
I took your post title and body text, and asked a local Ai (on my 8gb vram lol, most of it runs on cpu and is slow) what it "thinks" of. Just for the lols. I think using an Ai to answer this question is appropriate. I did not read the answer, but I think this is only fair.
I there is a user in forum asking a question.
Title: "Rebuilding a social platform – how to use an AI agent as a pair programmer, not a black box?"
Body: """ I previously let an AI agent build an entire social media site in one day. It worked, but then it introduced a bug that neither I nor the agent could fix because I had no idea what the code did. Now I want to rebuild it. I want to use AI again, but this time as an assistant – I’ll review every change, write tests together, and keep a clear plan. Which AI tool would you recommend for this hybrid approach? How do you structure prompts to force the agent to explain before coding? Also, do you think a couple of weeks is realistic to rebuild the site that has feature parity with Lemmy and a few extra features that the AI managed to build in a single day? Should I switch to a more manual approach with the agent only for boilerplate? Any advice is appreciated. Thanks! """
What do you think about this?
This is a classic "AI Honeymoon" story. The user experienced the initial rush of seeing a functional app appear instantly, only to hit the "Complexity Wall"—the moment where the AI-generated technical debt becomes so high that the human can no longer maintain the system.
If you are responding to this user, here is a breakdown of how to analyze their situation and the advice you should give them.
1. The Reality Check: The "Lemmy" Problem
The most concerning part of the post is the timeline: "a couple of weeks... feature parity with Lemmy."
The verdict: This is wildly unrealistic. Lemmy is not just a "social site." It is a federated platform using the ActivityPub protocol. It involves complex distributed systems, asynchronous messaging, complex database schemas for nesting comments, and rigorous security for federation.
2. Tool Recommendations
To move away from the "Black Box," the user needs tools that have context of the entire codebase, not just a single chat window.
3. The "Anti-Black Box" Prompting Strategy
The user wants to know how to force the AI to explain first. They need to implement a "Design-First" workflow.
Suggested Prompting Framework: Instead of saying "Build a comment section," they should use a multi-step prompt:
4. Manual vs. AI Balance
The user asked if they should switch to a more manual approach. Yes, but specifically for the "Glue Logic."
Summary of Advice for the User
If I were replying to them, I would say:
google/gemma-4-31b-qat