Whiskey Media serves top-shelf Internet.

The Internet is slowly becoming a trap. We’re building a sanctuary for passionate audiences to come together and build comprehensive, fun websites with less bullshit.

The Whiskey Technology Stack

Here is a brief overview of the technology stack we use at Whiskey Media.

What We Do

Here at Whiskey Media we build and run a handful of web sites that integrate deep editable product databases and best-in-breed editorial and video coverage with the power and influence of passionate communities. The technology team tries to build the most interesting, fun and empowering sites on the Internet. 

 We relaunched our live chat recently.
 We relaunched our live chat recently.

Yeah, but what do we really do? Each day is a battle of resources against bugs, hackers and feature requests. Each day, we try to improve every aspect of each site we've launched. Whether its streamlining our chat interface or updating our deployment process, we're always trying improve the experience our user's have on our sites.  


A Brief History

A lot of the original team came over from CNet where we worked on entertainment sites such as GameSpot, TV.com and MP3.com. LAMP was our name and PHP development was our game. It wasn't until we decided that we were going to re-launch Comic Vine in the winter of 2008 that Andy made the tough sell to push us towards a new web framework called Django.   

At first we were hesitant. Here was a young company, making a crucial architectural decision based on (at the time) an unproven framework. I think it was only Andy who would have known that the recommendation to use Django would prove to be one of the most important technological decisions Whiskey Media has ever made.

The Stack

We use a number of different technologies and tools to get our sites up and humming. This post simply outlines our stack. We'll dive deeper into each particular topic in upcoming posts. 

Everyone loves a pony! 
Everyone loves a pony! 

Django: Django is a Python web framework and is at the core of everything we do. We've been using Django since before its 1.0 release and have been lucky enough to have worked with one of its founders in Jacob Kaplan-Moss and count ourselves doubly lucky to have one of its core committers working along side us in Honza Král.

Simply put, Django lets us move fast. If you're trying to set up something as simple as blog, or are looking to build complex service based system, Django is a wonderfully powerful and intuitive framework for perfectionists with deadlines.

Amazon:

  • S3/CloudFront: All of our media is stored on Amazon's S3 service. Whether its our hour long Endurance Run videos, user uploaded content, or our beautifully crafted javascript and CSS -- its all stored on S3. CloudFront sits on top of S3 distributing our content to edge locations throughout the world. We'll get to how we use S3 and CloudFront in future posts; for now, just know that it is an incredibly functional service and we're happy to be using them.

  • EC2: Shortly after Amazon launched S3, they started to build onto their suite of cloud based services. It was only a matter of time until they solved cloud based hosting and from there, it was only a matter of time until we migrated our sites to utilize EC2's power and scalability. Our outstanding ops team will be posting tips and tricks for working with EC2 in future posts.

PostgreSQL: We love relational data, and PostgreSQL stores our bread and butter data.

Solr/Haystack: Our sites tend to have large product databases that need to be indexed and searched quickly and efficiently. Solr is our back-bone when it comes to search and Haystack is an elegant Python library that sits on top of it. We’ll get deeper into how we use both of these technologies in future posts, but for now know that they’re a godsend and life would be much more difficult without them.

jQuery:   Although we started as a MooTools shop, we are slowly and steadily migrating to jQuery. Mike Horn is leading the front-end charge and if you're in San Francisco and interested in getting together to talk shop about all things front-end --- Horn has recently started a meet up at the Whiskey Bar downstairs.

Redis/Mongo/Memcached: We use a handful of no-sql solutions in different situations depending on the specific problem we're dealing with. Although these technologies are relatively new, we fully embrace the power, speed and scalability they provide. 

 Our frontend is a directionally aware woman.
 Our frontend is a directionally aware woman.

Rabbit/Celery: In order to improve the speed of our sites, we have started to rely heavily on asynchronous processing systems such as RabbitMQ and Celery. These async queueing systems have become an integral part of what we do and we will be writing about how we use them, tune them, etc. in future posts.

Compass/SASS: About a year ago, we started using a CSS framework called Compass. It allows our front-end developers to be more pragmatic with their front-end logic and enables us to launch new features faster. 

Fabric: Fabric is the heart of our deployment process. We've come a long way from rolling our own deployment scripts to building stable fabfiles - and we believe in this process so much that we recently added Fabric's core developer Jeff Forcier to our team.

Wrap Up

This is just the first of a series of blog posts from our engineering/ops teams. We'll be discussing everything from Redis to Fabric and jQuery to Django. So whether you're interested in keeping tabs on the latest site features or you're a budding developer and find yourself interested on what makes us tick, add us to your RSS reader and stay tuned.

Ghost407on March 2, 2011 at 3:34 p.m.
Wish I could do this...  But that's why we have you guys!   Keep up the incredible work!!
Brenderouson March 2, 2011 at 3:44 p.m.
I thought Sass only worked with Ruby. I was wrong!
GreyFoxon March 2, 2011 at 3:49 p.m.
Definitely interested in the upcoming articles.
Sweepon March 2, 2011 at 3:50 p.m.
Coonce is my hero <3

Weltalon March 2, 2011 at 3:53 p.m.
 Very cool to see the curtain pulled back a little and get an indecipherable (For me, anyway) look at the mechanisms in place.
ecnoocon March 2, 2011 at 4:06 p.m.
I really like the Django Pony.
Halopower67on March 2, 2011 at 4:48 p.m.
I am really looking forward to future posts about the tech that goes into Whiskey Media. Very interesting.
MetalGearFlaccidon March 2, 2011 at 4:53 p.m.
This is nice to see the curtain pulled back to show the man pulling all the levers.
coonce staff on March 2, 2011 at 5:01 p.m.
@brenderous said:
" I thought Sass only worked with Ruby. I was wrong! "
Mike Horn will be touching on Sass and our front-end development process in future posts -- however here is a quick primer.  
 
Sass is an extension of CSS3. It adds support for various rules, nesting, variables, etc. (stuff that CSS doesn't support (yet)). It is built on top of Ruby and is installed via gem.  Essentially its its own language and being that it is an extension of CSS3, it shares a number of syntax similarities with CSS.
 
Compass, on the other hand is a stylesheet authoring tool that takes your Sass files and converts them to CSS.  It too was developed in Ruby as well and you will need Ruby installed for the compiler to run.
  
Here is a great Compass 'about' video for those interested.
 
So, while yes, Ruby is required for you to use these tools -- all they do is help our front-end developers build more logical and efficient stylesheets - which, at the end of the day can be used with any backend from Rails to Django to PHP.
tatum staff on March 2, 2011 at 5:12 p.m.
@sweep: Coonce is totally my hero too! Awesome image.
PatVBon March 2, 2011 at 11:02 p.m.
I may or may not have misread that first sentence as "the best in-bred editorial and video coverage."
FSFunkyon March 3, 2011 at 5:04 a.m.
Nerd semantic question: With SASS do you guys use the SASS or SCSS syntax? Am I insane for preferring the older SASS syntax because it dispenses with all the curly brace bullshit?
ShadowViruson March 3, 2011 at 8:17 a.m.
This information is extremely useful, I'm hoping to be enrolling on a 'Web Systems' University degree this October and seeing the websites you guys make is so inspirational. Thanks Coonce.
Peejon March 3, 2011 at 8:36 a.m.
Getting a 404 from http://feeds.feedburner.com/WhiskeymediaAll :(
snide staff on March 3, 2011 at 10:48 a.m.
@fsfunky said:
" Nerd semantic question: With SASS do you guys use the SASS or SCSS syntax? Am I insane for preferring the older SASS syntax because it dispenses with all the curly brace bullshit? "
We play with both. I tend to prefer SASS, but Mike Horn has started using SCSS. I like the clean code myself, but when it comes to our coded front-end I leave all the decision making up to Mike. He's done a couple presentations on frontend stuff in some meetup groups out here. I'll see if I can convince him to post them up.
FSFunkyon March 3, 2011 at 12:32 p.m.
@snide: Cool, would really love to hear more front-end details as front-end developer myself. And I've always been impressed with the Whiskey Media front-end. 
 
Used the term front-end a lot there.
coonce staff on Dec. 5, 2011 at 2:02 p.m.

yeah -- we got it all working agains...

Posts by Department

On our Sites

On Twitter