Personal Website
My personal website hosting blog posts, project pages, and the odd easter egg.
Motivation
The motivation for this new website came from the desire to have a more satisfying place to record my projects and write about cool subjects I am currently excited about. It will provide a place for both me to reference regarding past research, as well as a place for others to come and learn a thing or two.
This site was a complete teardown and redo of my previous website, as I had lost all motivation to continue it. By rebuilding, I am able to leverage the motivation of re-exploring web development to be the catalyst for creating a website that has a lower bar to maintain and generate content for.
Ultimately, for this project to be a success I have decided it needs to meet the following goals:
- Be fun - I want it to embody my personality and provide a playground as well as a documentation site. This means easter eggs, satisfying visuals, and maybe some live demos of projects to play with.
- Be Lightweight - It should load quickly, and I weirdly want it to be hostable on very lightweight hardware such as an ESP32.
- Be Cheap - Although one day I may host this on a homelab server, ideally it is hostable for free somehow.
- Be Easy - For the content creator (me), it must be super simple to create content. No trying to figure out how to embed photos, or format CSS to make the page look pretty.
- Be Consistent - In particular, it needs to be updated consistently with new content. This is going to be the hardest goal to meet as it requires me to build a new habit.
The Hidden Challenge
As I noted in my goals, the hardest challenge of this project is ultimately not technical, but instead behavioral. The website needs content, and I do not want to take the lazy approach of having AI churn out articles. This means I need to create content. But as much as I want to be, I do not self identify as a content creator (yet). And as James Clear says in his book Atomic Habits:
“In order to believe in a new identity, we have to prove it to ourselves”.
So, how do I prove that I am a content creator? I must build habits and take actions that individually provide evidence towards the type of person I am.
How does one build a habit? There is sheer perseverance of course, but I believe brute forcing a new habit to be is a poor choice. Perseverance comes after you have built the foundations of your desired identity, not before. It is much less painful to build up your identity with small habits. They will then push you in the right direction and make building larger habits far easier. If I am able to believe I am the kind of person to enjoy taking notes about my research, it makes it that much easier to persevere through writing an article about that which I have learned.
So I will start simple. I will encourage myself to take notes more. I will focus less on the perfection and destination of my content, and more on just producing and publishing. Then only once I have enough evidence to look back on will I be able to confidently identify as a content creator.
Technical Architecture
- Hosted on GitHub for free (as in speech and beer!)
- Uses the Astro framework for simplicity
- Uses Markdown (MDX) for content pages
- Fully static and lightweight
- Theme based on Spectre
- Uses giscus for a static commenting system
Results
You are seeing the results of this project right now! My website is actively deployed to ianburwell.com and as of writing has a lighthouse performance scores of over 98/100 from all major countries.
Follow on Work
While my website is deployed on the world wide web, there is still a lot to do to mature it. Beyond making more content, I would like to:
- Add more easter eggs
- Explore redundant self-hosting
- Explore benefits of non-static hosting
- Improve speed even further
- Add various little tools such as general purpose serial terminal or some random EE calculator
Inspiration Websites
← Back to projects
Project Info
AI Usage Disclaimer
This project used Copilot for web development, but not content generation