The tech behind getting Blizzalert into its third season

Blizzalert is a web service that provides snowfall omniscience via SMS. It monitors the weather at over 400 mountains across the United States, keeping track of snowfall. You select which mountains you want to watch, and Blizzalert sends text messages letting you know how much snow is coming, where, and when - all before it happens. I wrote a bit about the internals in my post Never Miss New Snow With Blizzalert.

This re-launch is exciting, because I've completely re-written the site & service. It's now a Ruby on Rails app, and I'm using Foundation to make the site responsive - it looks great on desktop computers, tablets, and phones.

I was able to use a number of Ruby gems to make development easier. Here are some of the gems that were particularly helpful, and how they helped:

airbrakeSend your application errors to our hosted service and reclaim your inbox.I'm using the airbrake gem, and sending all of my error logs to my own instance of Errbit that I've got running on Heroku. Errbit is indispensible for running Rails apps - use it or something like it to make error handling in production a snap.

combined_time_selectGenerates a time_select field like Google calendar.This was pretty useful for creating a nice form for time input, which I need to give people a way to choose their earliest blizzalert time.

newrelic_rpmNew Relic is a performance management system, developed by New Relic, Inc. New Relic provides you with deep information about the performance of your web application as it runs in production. The New Relic Ruby Agent is dual-purposed as a either a Gem or plugin.If you're building/running a site, you need to be using New Relic. The visibility into your app/server that this service provides is amazing, and web developers are blind without it.

phonePhone number parsing, validation and formatting.This was really useful to normalize all phone numbers coming into Blizzalert, and for displaying them nicely on user pages.

stripeStripe is the easiest way to accept payments online.I still can't get over how easy it is to use stripe. At this point, I wouldn't consider another service to accept payments oneline.

stripe_eventStripe webhook integration for Rails applications.By adding this gem, I get to handle stripe webhooks with simple blocks right from the initializer file. It would have been much more time consuming to handle all of that on my own!

wheneverClean ruby syntax for writing and deploying cron jobs.This gem allowed me to easily add/modify cronjobs right from the Rails app. I don't work with cron directly, any more. Now, I just edit the whenever's configuration file & capistrano handles the rest during deploy.