Well I guess I have a website now. This is very 2000s of me.
I've been an avid Hard Fork podcast listener for the last few years. On a recent episode the hosts had a segment where they detailed their most recent vibe coding explorations using Claude Code. Interestingly enough, the first thing each of them did was to use Claude Code to fully build out their own personal websites, replacing services like Squarespace in the process.
This got me thinking because a) I use Claude Code on a daily basis and b) I've been wanting some sort of personal landing page for years. Every time I sit down to build it, I find I get too obsessive over really understanding the core technical components. Eventually time gets away from me and all I have to show for it is a vague understanding of React and no website. So I figured I would follow in their footsteps and vibe code my way out of this problem.
As I've used these AI tools more and more, I've been feeling that my inherent closeness to the topic and technology as a data scientist and engineer can sometimes inhibit real exploration. This isn't so much about the "AI can't do XYZ right" side of the problem, but rather my need to really understand and architect everything from the beginning. This is like refusing to drive a car until you understand how the engine works.
Sitting down and "trusting the process" of vibe-coding this website was a really eye-opening experience. Obviously there are still a ton of limitations to these systems. However, I think the boundary is a lot fuzzier than we think and oftentimes more tied into how we do work rather than what this tech can and will be able to do. Ultimately, giving in to the vibes was a genuinely fun experience and now I have a website. Win-win.
Observations
-
The only artifacts I gave Claude was my resume, a profile picture, directions to my LinkedIn, and instructions. From there it was build --> feedback --> iterate.
-
I used Gemini to help craft the initial prompt to kick off this process. I don't think there is anything special about Gemini here but I think iterating with a different AI session really helped with kickstarting this whole process. I've found that Claude Code works better once things get up and running and it starts building up context inside the directory. This helped bypass the blank page problem.
-
Telling Claude to go look at example websites that I like to help build a design language was quite useful. I told it to go look at Casey Newton's blog as an example of things I liked. While I didn't implement most of those elements, the inspiration was useful.
-
I was quite impressed with the publication list it was able to pull together. My only prompting was to flesh out my academic contributions. From there it traversed my LinkedIn, went and found the articles on the web, did various flavors of search, and constructed that entire section.
While the current form of this site is definitely very "professional landing page" coded, I plan on using it to try and reclaim some of the fun of the internet of yesterday as a place to share life updates, random thoughts, fun projects, recipes, and pictures of my dog. See you around!