LLMs are the missing link to shipping side projects
Some time ago, I was toying around with an idea for a tech product. I was procrastinating on building a landing page. Pixel pushing, as I used to call it, is an excruciating process. So, I asked an LLM1 to do it for me. “Surprise me,” I thought. In a few minutes of prompting, I was amazed. Here it was — an interactive website with callouts, a contact form, and more. But that joy vanished quickly. Looking deeper, it felt too generic. I tried multiple times, but nothing felt right. I didn’t really know what made a good landing page, so LLMs couldn’t help me much either. I parked the idea of an autonomous coding assistant then.
Later, I found myself procrastinating again. I’d been delaying an idea to give a breath of fresh air to my personal blog. I had borrowed a simple idea from Andrej Karpathy’s blog: move posts into the landing page and the bio section into a separate about page. It meant some yawn-inducing HTML and CSS. Once more, I called on an LLM1. It nailed it. With some interim feedback and a quick code review, I had a good result in a few minutes instead of an hour.
Sonnet adjusted the UI just as instructed. How about this horizontal comparator above? Also Sonnet!
Makes me think. In the first situation, I had no vision of the end result — I didn’t know what makes a good landing page. I could barely give the agent useful feedback. It saved some typing time but produced no good results. In the second, I had a clear end state in mind, so a bit of guiding brought us to a satisfactory end result, in no time. Both tasks’ scope was slightly different though, but I believe the key difference was having a clear end state.
I can finally un-procrastinate my side projects! They offer no monetary incentive (unlike jobs) so the process of shipping is painful - considerate amount well-scoped work with obvious - so boring - implementation effort, that I would always put aside. No more. Exciting times ahead!
1 In both cases, I used Claude Sonnet 3.5 and 4, via GitHub’s Copilot VSCode extension. The latter experiment obviously benefited from a more powerful model, but I doubt it was a significant factor.