(/touch-icon-144.png) (/touch-icon.png) (/touch-icon.png) (/touch-icon-144.png) (/touch-icon-144.png) (/opensearch.xml) (Lobsters) (/favicon.ico) (https://lobste.rs/s/drrzx2/i_made_website_vibe_codes_itself) I made a website that vibe-codes itself | Lobsters (/assets/application-d52b6398.css) (/assets/system-system-fd030c9d.css) (/assets/tom-select-9d6bcb6b.css) (/assets/TomSelect_remove_button-4d5c34b9.css) (/) (Lobsters (Current traffic: 0%)) (/active) Active (/recent) Recent (/comments) Comments (/search) Search (/login) Login (/login) Login (/login) 28 (https://theboard.stavros.io) I made a website that vibe-codes itself (Using AI/LLM, coding tools. Don't also tag with `ai`.) (/t/vibecoding) vibecoding (Web development and news) (/t/web) web (/domains/theboard.stavros.io) theboard.stavros.io authored by (/~stavros) (stavros avatar) (/~stavros) stavros (2025-11-04 08:16:31) 4 days ago | caches (https://web.archive.org/web/3/https%3A%2F%2Ftheboard.stavros.io) Archive.org (https://archive.today/https%3A%2F%2Ftheboard.stavros.io) Archive.today (https://ghostarchive.org/search?term=https%3A%2F%2Ftheboard.stavros.io) Ghostarchive | (/s/drrzx2/i_made_website_vibe_codes_itself#comments_story_01k97kkyhmepkbpc3hdwp3228n) 24 comments (cBUf9cRLOidCIlA5zADwEmawtuNaV4HwKNWKKdH0Y85XlHTsjbBANQAVIQDuC9xBY2xPnS_q36Osnlm6n0vRgQ) (drrzx2) (post) (You must be logged in to leave a comment.) (Post) Preview (/login) 12 (/~stavros) (stavros avatar) (/~stavros) stavros (/c/yvytz8) (2025-11-04 13:58:16) 4 days ago I made another collaborative thing last week, one where you drew something, I shared it somewhere and within ten minutes it was full of dicks and swastikas. For this one, the top-rated feature is a button that deletes the website. These two projects have really been successful in destroying my faith in humanity. (/login) 3 (/~dubiouslittlecreature) (dubiouslittlecreature avatar) (/~dubiouslittlecreature) dubiouslittlecreature (/c/5avqch) (2025-11-04 19:20:21) 4 days ago Wait, did you veto the delete the website button? I just wrote a feature request to just delete the website (and also publish everyone’s username and password on a replacement static website) (/login) 12 (/~stavros) (stavros avatar) (/~stavros) stavros (/c/oaiidw) (2025-11-04 20:22:47) 4 days ago I did, for multiple reasons: You vote-brigaded it with 70 fake accounts. It wouldn't work anyway, the site would simply continue running because all the code is in memory by that point, and there are no secrets to publish anyway. You're welcome to the bcrypt hashes. And, as a general aside, these were just boring, lazy feature requests that showed zero imagination or innovation. It was just a childish "lol fuck all this", and I'm annoyed that you'd spend so much time making 70 accounts just to get such an infantile request through. (/login) 3 (/~dubiouslittlecreature) (dubiouslittlecreature avatar) (/~dubiouslittlecreature) dubiouslittlecreature (/c/8pthzq) (2025-11-05 07:48:56) 3 days ago You vote-brigaded it with 70 fake accounts. No sorry, I should clarify. That one wasn’t me. I did not make a suggestion to add a button that deletes the website, and I did not make 70 accounts to vote brigade it. Someone else did that. I independently had the idea to do something similar, I made a suggestion specifically to “delete the website and publish all the usernames and passwords used” I will admit to it not being a very serious suggestion. My main objection to the other person who suggested it is that they vote brigaded with alts. (/login) 1 (/~stavros) (stavros avatar) (/~stavros) stavros (/c/t3cipf) (2025-11-05 11:36:14) 3 days ago Ahh ok. Yeah, I don't mind random suggestions like that, but when they're brigaded, that annoys me. Let the community vote for what it wants. (/login) 2 (/~gnyeki) (gnyeki avatar) (/~gnyeki) gnyeki (/c/tpgoam) (2025-11-05 02:11:59) 4 days ago These two projects have really been successful in destroying my faith in humanity. I’m sorry that that happened. Putting the creative effort into something and seeing it defaced must be really disheartening. FWIW, if just 1% of users are immature enough, they can spam the site with dick drawings, even though the other 99% think that’s bad. (/login) 2 (/~stavros) (stavros avatar) (/~stavros) stavros (/c/mqkcr2) (2025-11-05 03:14:45) 3 days ago Yeah, that's true, and the immature users will expend much more effort than the legitimate ones as well, even going so far as making multiple accounts to spread their toxicity. (/login) 1 (/~spc476) (spc476 avatar) (/~spc476) spc476 (/c/8ba8md) (2025-11-04 17:38:04) 4 days ago I'm surprised it was a feature to delete the website, and not to steal web credentials. (/login) 2 (/~stavros) (stavros avatar) (/~stavros) stavros (/c/diidvc) (2025-11-04 17:56:06) 4 days ago Oh there are variations of both of those. It's not clever or funny, but someone still thought it was a good use of time to make a bunch of accounts for that. (/login) 1 (/~apromixately) (apromixately avatar) (/~apromixately) apromixately (/c/3kpnkh) (2025-11-05 00:42:26) 4 days ago It's only not clever if you've thought about it already and it is a totally legitimate attack on this kind of project. (/login) 1 (/~stavros) (stavros avatar) (/~stavros) stavros (/c/xb1nwm) (2025-11-05 03:12:40) 3 days ago You think I haven't thought about "publish all the passwords" already? Why do you think the site uses usernames instead of email addresses? (/login) 1 (/~apromixately) (apromixately avatar) (/~apromixately) apromixately (/c/hatrvh) (2025-11-05 07:25:47) 3 days ago No, I am saying other people might not have that's why some think it's clever... (/login) 1 (/~stavros) (stavros avatar) (/~stavros) stavros (/c/vjrnii) (2025-11-05 11:38:52) 3 days ago Ahh, yeah, unfortunately :( (/login) 4 (/~Student) (Student avatar) (/~Student) Student (/c/hbhn4c) (2025-11-04 08:32:41) 4 days ago I was hoping that this would vibe code itself in the browser, because that’s something I want to try. What’s holding me back right now is that I’ve never implemented an agent or even read the source code of an agent. (Pointers appreciated from any kind souls). (/login) 6 (/~stavros) (stavros avatar) (/~stavros) stavros (/c/ya38nr) (2025-11-04 08:52:59) 4 days ago An agent is just: while agent_wants_to_do_more_stuff: do_more_stuff() And then a million optimizations specific to the use case. (/login) 5 (/~markerz) (markerz avatar) (/~markerz) markerz edited (/c/x8c4oj) (2025-11-04 09:14:48) 4 days ago Read (https://ampcode.com/how-to-build-an-agent) https://ampcode.com/how-to-build-an-agent , and skip the code blocks. The authors words are enough to understand how everything works. At a high level, it’s asking the agent to output a specific format for tool calls vs text output. Then you parse the output, exec any tools, and loop if needed. The agent knows about what tools are available cause you provide it in the context. It’s quite easy to implement, I encourage you to try. This is genuinely how Agents are built everywhere and really demystifies agents. It also showed me how poorly implemented a lot of early agents were and how there’s so much room for improvement in basic agent architecture. (/login) 1 (/~Student) (Student avatar) (/~Student) Student (/c/74pjak) (2025-11-04 09:24:55) 4 days ago Appreciated. I’ll probably eventually have questions about how to avoid the early mistakes but at least I’ll be in a better position to read the code of existing agents. (/login) 4 (/~nikki93) (nikki93 avatar) (/~nikki93) nikki93 edited (/c/r1hd2q) (2025-11-04 19:44:45) 4 days ago Following up. Here's a very basic demo of agent chat that can self-modify the website it's running in: (https://gist.github.com/nikki93/c196411e67c7bc5ab9da51667fe24e9c) https://gist.github.com/nikki93/c196411e67c7bc5ab9da51667fe24e9c Video of running that (YouTube decided to make it a 'short' because of the aspect ratio...): (https://www.youtube.com/shorts/Gsix-ixtKyM) https://www.youtube.com/shorts/Gsix-ixtKyM Need to paste in an Anthropic API key in the above code to run it (where it says to in the NOTE comment). This code is from a while back; these days I use OpenRouter which lets you use one API key of theirs and call out to many other LLM providers. Instead of these can also use a local model etc. The code stays the same, just calling a different endpoint (or could run a model within the web page...). (/login) 2 (/~Student) (Student avatar) (/~Student) Student (/c/chtsj7) (2025-11-04 20:24:21) 4 days ago Thank you, this is fantastic. This has helped a lot. (/login) 2 (/~nikki93) (nikki93 avatar) (/~nikki93) nikki93 (/c/txomha) (2025-11-05 13:03:09) 3 days ago Glad it helped! Video of the three.js experiment to show what's possible with this kind of thing: (https://youtu.be/RtsU2uYO_mE) https://youtu.be/RtsU2uYO_mE I also had something that was a tiling window manager of React components that the LLM could livecode. I'm trying something more like a 2d grid based / turn based environment now to see how it goes with gameplay and narrative iteration... Inspired by Caves of Qud, Dungeon Crawl Stone Soup, etc. (/login) 2 (/~nikki93) (nikki93 avatar) (/~nikki93) nikki93 edited (/c/k5hiss) (2025-11-04 09:06:07) 4 days ago I've tried doing this in a few different prototypes (generating react components, generating three.js scenes, ...). Basically: do an http fetch to an LLM API (I use Openrouter), parse the code out of the rresponse (could be in a markdown block, could be a tool call), eval the code. I can post some example code / video soon... (/login) 2 (/~mudkip) (mudkip avatar) (/~mudkip) mudkip edited (/c/mtjwe6) (2025-11-04 23:32:53) 4 days ago I wish that for the first few days of the site's existance, the vote happened every 6-12 hours or maybe the top 3 suggestions got selected instead. The idea is cool, but I'm too early to witness the chaos of what will happen (/login) 0 (/~stavros) (stavros avatar) (/~stavros) stavros (/c/prka7o) (2025-11-05 03:15:13) 3 days ago Hm that's a good suggestion, maybe I'll change it. My worry is that there won't be enough votes, but I guess we can see about it. (/login) 1 (/~stavros) (stavros avatar) (/~stavros) stavros (/c/luyc7p) (2025-11-05 11:38:46) 3 days ago In honor of this community (and because the votes didn't look like they'd affect the result), I decided to run one more iteration today! The top suggestion is being implemented as we speak. (/about) About (/tags) Tags (/filters) Filter (/moderations) Moderation Log