site redesign!
I can never stand still. I must explore and experiment. I am never satisfied with my work. I resent the limitations of my own imagination.
Walter Elias Disney


You know what they say — the cobbler’s children never have shoes. I’ve spent a good majority of the past two years hunched over either vim or Photoshop, yet my personal website hasn’t gotten much love. So, it was time to rewrite the code and a give it a fresh coat of paint. My old site was clunky and cluttered, so I went the exact opposite direction with this redesign.

Before and After


I get bored of designs easily. So, I wanted a way to keep things interesting without having to redesign my site every few months. I have always loved the idea of creating a new design for each blog post, so I went with that. It gives me a chance to experiment without having to redesign a whole site.

For the rest of the site, I wanted something minimalistic. It’s easy to keep throwing gradients and borders and background images at a site until it looks decent — case in point. Creating something that looks beautiful without any clutter is a much bigger design challenge, and it was one I felt I was ready to take on.

Old mockups of the redesign.
From the drawing board. View more.


Since I spend so much time reading on a smartphone, I felt it was only right I had an iPhone/Android version of the site. It will almost certainly need some tweaking, but it’s a start. The site uses the same HTML, and loads a mobile style sheet on top of it. Eventually I want to go with a fully responsive design, but for now this should suffice.

Mobile version
Same HTML, different CSS.

Back end

The biggest reason I don’t update my current site is that it’s written in Drupal. I paid for that mistake dearly. RIT was pushing to use Drupal for all their sites, so I figured using it for my site would be a great way to learn it. As it turns out, Drupal is awful.

So, for the new version, I took it 100% the opposite way. The whole site is just static HTML files, generated using Python and Jinja2. You can check out the (absolutely horrible) code on Github. Don’t judge me.