williamdecesare.com is dead

Making the case for a personal website and redeveloping my own from scratch.

A friend visited New York City a few months ago. He’s a product designer - someone with an innate feeling of how things should look and flow - and I value his thoughts on application design. Over dinner, he made an innocuous comment about an unpleasant colleague, something to the likes of “who cares, his website is on WordPress”. I laughed, then thought: “wait, my website is on WordPress”.

On one hand, WordPress is just a site-building platform; it’s the UI/UX that matters. You can build a poorly designed site on Squarespace, well-known for its templated designs, or a beautifully designed site on WordPress, unfortunately known for its “powered by WordPress” tag. It’s not the tool, or even choosing to use a tool; it’s how you apply it.

On the other hand, building from scratch offers unparalleled freedom. You're not constrained by the limitations of a drag-and-drop interface1 or forced to navigate the idiosyncrasies of another platform. Moreover, crafting a website from the ground up presents an opportunity to expand your skill set which, if you’ve read any of my other posts, aligns with my (sometimes overly optimistic) growth mindset approach to technical projects.

williamdecesare.com in 2019 vs. 2024 😎

Origin story

I built the first version of williamdecesare.com in my fun-employed days of the summer of 2019. I had just moved to New York City and was fortunate enough to have a few weeks in between roles, visiting new coffee shops and tinkering on my laptop. My engineering skills were virtually non-existent, but I had the drive (and time) to one day say “I launched a personal website”. 

And I did! But, it’s bad. The UI is poorly formatted. There’s a link to a Github repo I no longer have access to (let this serve as a reminder to save your recovery codes). Heck, even the font leaves much to be desired (Garamond, maybe?).

“Powered by WordPress.com” 🤮

Taking a step back: do you need a personal website?

I find a personal website a great way to drive your personal and professional narrative. When people stumble across your website (or sleuth your LinkedIn profile, or hear your 60-second elevator pitch), what kind of story do you want to tell? And more importantly, why should someone pay for that story? While this can be accomplished via other avenues, a personal website is a great way to tell your story in one place.

I wish to convey the story of:

  1. A data leader, with a growth and customer-centric mindset, that can apply new technologies to solve problems.

  2. An individual who isn’t defined solely by their professional life.

With that in mind, I set a goal of developing, designing, and deploying an acutely curated, externally facing app, and more importantly, sharing my personal and professional story in the way I wanted to share it.

Moving from an idea to MVP

I wanted to keep the scope relatively tight for this project given that I could spend an unlimited number of hours improving the design. Plus, there are a lot of unknowns with deployment.

Given this, I decided to focus the first piece of work on rebuilding the site locally and saving deployment for later on. As part of the rebuild, I planned to:

  1. Replicate the existing site

  2. Incorporate new section(s) (like this newsletter!)

  3. Improve the interface

and leave other improvements (deployment, design overhaul, etc.) for future iterations.

Development

After some of my earlier posts, a few colleagues recommended that I try Cursor AI instead of a VS Code + Claude IDE stack, so I gave it a shot. The quickstart was simple: downloading the IDE (which has an eerily familiar feel to VS Code) and reading the features documentation.

I started with a simple prompt using the chat function: “Using Python and Flask, build a personal website with the following sections: Home, Newsletter, Professional, Photography.” I was then instructed to create a few Javascript, HTML, CSS, and Python files and run the app, which I completed successfully.

The IDE felt familiar and was easy to navigate.

Because I had no prior HTML/CSS experience, I relied heavily on Cursor for frontend customization. Things like:

  • Creating new CSS classes

  • Updating class attributes

  • Image source referencing in individual HTML files

I used the Cursor chat function often. A neat feature is the ability to share reference files with the LLM as part of the prompt (an area I’ve previously run into issues with Claude 3.5 Sonnet), as well as change the LLM on command:

Referencing the right files improved the quality of responses.

The seamless part of this process is that you can easily apply the changes without writing any code. All it takes is a quick acceptance of the changes, and, like magic, it’s implemented.

I spent most of my time on frontend customization, and while I wouldn’t necessarily say that the new frontend is significantly better than what exists today on WordPress, I’m confident in my ability to further iterate.

The final(ish) product! Now, off to deployment… 👨‍🚀

Closing Thoughts

  1. A personalized website is a powerful tool for shaping one's professional narrative. By taking control of how your story is told, you can more effectively communicate your skills, experiences, and unique value prop to potential employers or clients. I’ve received numerous inbound inquiries for networking and prospective job opportunities through my website.

  2. Building a website from scratch no longer requires a steep learning curve. This process not only enhances technical skills but also provides a deeper understanding of web development principles, which can be applied to future projects and career growth.

  3. My thoughts on non-technical skills becoming increasingly more relevant were strengthened as a result of this project. I could very easily design an extremely basic website, but designing a user-friendly, intuitive interface comes with significant frontend experience, design best practices, and iteration. I coincidentally saw a post from Ryan Peterman on Cursor midway through this project that resonated: “After trying Cursor, I realize the value of 80% of my technical skills dropped to zero. The leverage for the remaining 20% of skills went up by at least 10x.”

Stay tuned for a future post, where I tackle deployment 👀

1  9 out of 10 engineers I’ve worked with prefer querying directly from a warehouse versus building visualizations in a BI tool.

Have opinions on the need for a personal website, the tools in which you can build one, or Garamond font? Reach out at [email protected].