Personal Portfolio Website

Shoemakers' Children Never Had it so Good.

Wide

Unexpected Requests

In early June 2010, I was asked for a link to an up-to-date portfolio and résumé by a potential client. Of course, the shoemaker’s children were barefoot. So, I built this Rails-based website over the course of two days. This will be a brief case study on how I work.

Project Setup

I began by creating a new, private Git repository on my Github account, along with a free Heroku web application. Next, I purchased this domain from GoDaddy (thankfully, no one had acquired my name as a domain). Within four hours, aaronbrethorst.com was resolving to a skeleton Rails application on Heroku.

Web Design

I’ll admit it: although I believe I have a decent sense of aesthetics and a strong sense of interaction design, I am not a graphic designer by trade. I can do it well enough, but I’d rather rely on others and apply my skills where I can provide the most value.

In this case, it meant that I purchased a website theme for $22, converted it to Haml (my preferred HTML generation language), and integrated it into the Rails skeleton app.

Bare Bones

Next, I began designing the site’s information architecture, requiring me to answer questions like:

  • How does the site structure work?
  • How do users navigate from one page to the next?
  • How do users determine where the content they need is located?

At this point, the Rails application still lacked a database: all content was hardcoded into its Haml markup.

Fleshing it Out

Finally, I began transforming this website into a real database-backed web application. Portfolio items became database objects, non-structural markup is written in Textile and translated into HTML on the fly, sidebar navigation is constructed on the fly with a little bit custom-written jQuery (if you don’t believe me, trying viewing the source to this page!).

When is it Done?

Well, never. I am a firm believer that software (including a website) is never really “Done.” There are always more features to add. However, I am even more of a believer in the idea of Good Enough. That’s why I’m able to build and launch a database-backed, relatively attractive web application in two days.