Vibe scraping and vibe coding a schedule webapp for a conference on my phone(simonwillison.net)
simonwillison.net
Vibe scraping and vibe coding a schedule webapp for a conference on my phone
https://simonwillison.net/2025/Jul/17/vibe-scraping/
2 comments
!!!
Yeah, it turns out those speaker avatar images are 1MB+ PNGs! And there are 170 of them.
What a fantastic cautionary tale about vibe-coding on a mobile phone (where performance analysis tools aren't easily available.)
I just fixed that with Codex - thanks for the tip: https://chatgpt.com/s/cd_6879631d99c48191b1ab7f84dfab8dea
As far as accessibility goes... yeah, the lack of semantic markup is pretty shocking! I'll remember to prompt for that next time I try anything like this.
I just tried it in VoiceOver on iOS and the page was at least navigable - the buttons for the days work - but yeah, I'd be very ashamed to ship something like this if it wasn't a 20 minute demo (and I'm a bit ashamed even given that.)
I'm running "Make open-sauce-2025.html accessible to screenreaders" in Codex now to see what happens.
Yeah, it turns out those speaker avatar images are 1MB+ PNGs! And there are 170 of them.
What a fantastic cautionary tale about vibe-coding on a mobile phone (where performance analysis tools aren't easily available.)
I just fixed that with Codex - thanks for the tip: https://chatgpt.com/s/cd_6879631d99c48191b1ab7f84dfab8dea
As far as accessibility goes... yeah, the lack of semantic markup is pretty shocking! I'll remember to prompt for that next time I try anything like this.
I just tried it in VoiceOver on iOS and the page was at least navigable - the buttons for the days work - but yeah, I'd be very ashamed to ship something like this if it wasn't a 20 minute demo (and I'm a bit ashamed even given that.)
I'm running "Make open-sauce-2025.html accessible to screenreaders" in Codex now to see what happens.
OK, Codex seemed to do a decent job of fixing up the accessibility, I just shipped its changes: https://github.com/simonw/tools/issues/36
it's concerning these vibe coding tools must be coerced into semantic markup
could that be solved by prefixing every prompt with a reminder?
could that be solved by prefixing every prompt with a reminder?
> it's concerning these vibe coding tools must be coerced into semantic markup
These things are becoming more and more humanlike every day
These things are becoming more and more humanlike every day
Definitely. If I had a Claude.md or agents.md or whatever in that repo saying "make mobile friendly sites that use semantic HTML and are accessible for screenreaders" I bet I'd get much better results from them.
would have been fun to see how conference wifi handled that :)
Am I sad for being sad when a post by @simonw gets less than a 100 points?
And this is a pretty good one too. But I guess the mods might want to keep things a bit balanced which is fair enough.
And this is a pretty good one too. But I guess the mods might want to keep things a bit balanced which is fair enough.
It might be a vibe coding fatigue. Or simonw fatigue. I for one lose any curiosity when I see a vibe coded project/post because I've used LLMs so much that I don't find the generated results impressive or even interesting at all.
They all still sucks big time and this won't change with a better prompt or model, there's no breakthrough and compared to 6 months ago they did not get that much better.
They all still sucks big time and this won't change with a better prompt or model, there's no breakthrough and compared to 6 months ago they did not get that much better.
I think both vibe coding fatigue and simonw fatigue are understandable at this point - though I do think this is one of my best posts in a while, so I was hoping it would hit the homepage.
The thing that changed in the past six months is that tool calling in a loop got really good, and a bunch of new tools - like OpenAI Codex and Claude Code - showed up that take full advantage of that.
I don't think my "build a scraper from my phone with a single prompt" example from this post would have worked six months ago - the tooling wasn't there yet.
The thing that changed in the past six months is that tool calling in a loop got really good, and a bunch of new tools - like OpenAI Codex and Claude Code - showed up that take full advantage of that.
I don't think my "build a scraper from my phone with a single prompt" example from this post would have worked six months ago - the tooling wasn't there yet.
> I don't think my "build a scraper from my phone with a single prompt" example from this post would have worked six months ago
Even if that is true (which I disagree), isn't it telling that only yourself are impressed by it?
Even if that is true (which I disagree), isn't it telling that only yourself are impressed by it?
What LLM tool would you have used six months ago to write and execute a custom web scraper from a mobile phone?
Not sure about any tool but I use whatsapp + whatsapp web to "write and execute a custom web scraper from a mobile phone" since ChatGPT 4. Currently migrating from whatsapp to bittorrent or nostr. Maybe I should have turned that into an app.
It's also <div> soup and largely inaccessible.
These and other issues could be fixed fairly quickly with a little care (if anyone cares).