We got a chance to sit down with Cory Smith from UltraRunning Magazine, a publication with about 8,500 subscribers and distribution through Barnes and Noble and specialty running shops. Cory uses Laravel for different aspects of the UltraRunning magazine – learn more about how he’s using it to run UltraRunning Magazine that has been in publication since 1981.
Can you tell us a little about yourself?
I’m 42 years old and live in Bend, Oregon with my wife Lisa and our 12-year-old son Owen. A good portion of my career was in the printing industry. I always had an interest in coding (Hypercard and FileMaker pro growing up) but never had the time/drive to learn until about four years ago.
I understand you are big into ultra running, for those that aren’t runners can you tell us what that is?
An ultra race is any race where the distance is greater than a full marathon. Common distances in the United States are 50k (31 miles), 50 Miles, 100k, 100 Miles and 200-mile events are now growing in popularity. There are also other timed events (6,12,24,48,144 hours); run as far as you can in the time allotted. A good portion of the races are on trails with significant elevation gain/loss. While it can vary greatly, a 100-mile race could have ~ 20,000 feet of gain/loss over the distance. One of the hardest 100-mile races in the United States (Barkley Marathons) has around 60,000 ft of elevation change.
You run an ultra running magazine too?
Yes, my partner and I own UltraRunning Magazine. The magazine has been publishing since 1981. I got involved with it in 2014. It was a perfect fit for me, I love the printing/publishing industry and being able to combine that with running was a perfect combination. We are a niche publication with about 8,500 subscribers and distribution through Barnes and Noble and specialty running shops. The sport is relatively small (In North America there are about 70,000 people that run an ultra each year). The sport had a huge expansion after the book Born to Run published in 2009.
I understand you are using Laravel as part of this. Can you tell us how you are utilizing it?
We utilize Laravel in a couple of different ways.
Business Management – We have an internal Laravel site that runs our business. Subscriber, Advertising, Archive, and Reporting. It handles all our renewal reminders (email and snail mail using LOB) and subscriber communication. We are a small business with limited resources so we have to automate as much as we can. There are off the shelf solutions that met 80% of our needs, having full control of our data and process was our goal. With Laravel, we can implement new ideas and bug fixes quickly.
Subscriber Website – We built a site for our subscribers that allows them to do the basics (subscription management). In 2015 we decided to digitize the entire history of the magazine (300+ issues averaging 80 pages per issue). We scanned the pages, built the table of contents and created a small CMS. Our subscribers can now search/view the history of the magazine. Previously all that content was sitting in boxes at my home, and it has been great to open that up to our subscribers.
Event Calendar – There are nearly 2,000 ultra races a year in North America, we created an event database that allows racers to find events by various criteria (using Algolia). We also collect results for the races. A big portion of our magazine is Race Reports and accompanying race results. Our calendar now provides the result data to our designer via an XML file that can be imported directly into Indesign.
There is no development team, I am the sole developer, and we all have multiple roles in the company. I probably spend half my time to do development and a half running the business. Having multiple roles has been great if I don’t feel like doing development one day I can focus on another project and come back to the development when I’m in a different headspace.
What made you decide to go with Laravel?
I honestly don’t recall when or how that decision was made. I had built a vanilla PHP application to replace the Filemaker Pro solution we inherited from the previous owner. Building the vanilla app was a great learning experience, I knew it wasn’t the solution that was going to carry us into the future.
I installed a fresh copy of Laravel and just started to tinker with it. I recreated the functionality of the vanilla app within a few weeks. It was more stable, secure and pleasant to code. Being a green developer, the documentation and a Laracasts subscription was a huge benefit along with a vibrant and active community.