Full Stack Web Developer & Atlanta Native
I have worked on a number of really exciting projects over the past few years since moving over to the NCAA Digital (NCAA.com) team from SI.com. I will update this space as soon as I have a chance to document some of them (read: there's a lot) in detail. For now, just visit the site on the device or platform of your choice as it is fully adaptive. It was re-designed back in late October 2013. At that time, we also upgraded to Drupal 7 from version 6. My team of me and three other developers are responsible for the entire shebang and we're really proud of it!
Below were my contributions to the Sports Illustrated website in the ~2 years that I was working on it. The business and website have gone through many changes since then, including a full-scale redesign. Unfortunately, that means none of these pages nor functionality below are live on the public internet these days.
SI Now is a live video hub designed for the eponymous show. There is a new episode every business day and the app cycles through three states: upcoming, live, and archived. Each is a slightly different view. Nailing down the state and temporal logic was somewhat challenging but the hub came together nicely. A carousel at the top lets you navigate through past episodes. It features a clip reel for each date as well as other widgets such as a poll and related episodes which can be manipulated via the CMS platform.
For the desktop version of NCAAB Gameflash, we had to make some low-level tweaks to the proven architecture that powers the other Gameflash apps. Again, we opted for very light usage of XSLT to allow for a nimble deploy flow. The architecture changes allow for coverage tiers as not all college basketball games get a full data feed. This app always knows what data it has and presents only what is available in a clean manner. Aside from coding the low-level changes, I mostly served as an advisor on this project so new develoeprs would have a chance to learn about the architecture.
A mobile-optimized version of the desktop app. Like its siblings, this app was built using Twitter bootstrap and has optimizations for portrait vs. landscape orientations as well as iPhone Retina. I handled a lot of the app development that included porting the desktop code over to our mobile-specific Gameflash architecture.
These two 'brand' blogs were the first of their kind. Though a stable of sports-related blogs already existed within the SI network, these warranted a totally new design. Both are built on the Wordpress and hosted on their VIP platform using mostly custom plugins that we wrote from scratch to help promote SI's non-sports content. Wordpress widgets were also heavily utilized to allow unprecedented editorial control through the dashboard.
A mobile-optimized version of the desktop app. This was built using Twitter bootstrap and has optimizations for portrait vs. landscape orientations as well as iPhone Retina. I served as a advisory developer on this project helping to bring some new members into the fold on Gameflash, I also ported the court from desktop and optimized it for mobile devices.
A mobile-optimized version of the desktop app. This was built using Twitter bootstrap and has optimizations for portrait vs. landscape orientations as well as iPhone Retina. I served as the lead developer on this project. Although this project uses the same JS codebase as the desktop app, all of the templates and markup was completely redone for mobile devices.
A mobile-optimized version of the desktop app. This app has optimizations for portrait vs. landscape orientations as well as iPhone Retina. It uses pre-compiled Handlebar templates for an extra speed boost. I was the sole developer on this project. The JS codebase from desktop was revamped to use the new architecture we developed during the MLB project.
A mobile-optimized version of the desktop app. This app has optimizations for portrait vs. landscape orientations as well as iPhone Retina. It uses pre-compiled Handlebar templates for an extra speed boost. This was developed simultaneously with the NFL mobile app. I served as an advisor for this, handing down code as I ported it from the NFL version and helping new developers on the team learn the desktop codebase.
This is a March Madness live scoreboard app with built-in channel guide and social buzz functionality. It has a modal form where you can enter your zip-code and lookup TV providers in your area. Once a provider has been selected, the app calls out to an API to retrieve the station number for each game.
Functionality and feature-wise, Branches is essentially a social networking site. However, it is specifically geared for community/school organizers. Built on top of Drupal 7, this is an otherwise totally custom site. I worked on a team of developers to create the many custom modules powering this system. I worked specifically on the single-sign-on (Facebook connect), news feed/feed sharing, and a unified notification system.
Built with: PHP, Drupal 7, MySQL
Built with: PHP, Drupal 6, MySQL, jQuery
I was born in Athens, Georgia in the spring of 1986. I've lived in Georgia my whole life but I grew up in Atlanta and it is the place I call home. Ever since I could reach a keyboard, I have been using computers. I was fortunate enough to have one in the household as my dad's work provided him with one of the first laptops ever made by IBM. I immediately fell in love with computers and considered them to be the best "toys" out there. To my childhood mind, it was like something straight out of Star Wars (incidentally some my favorite movies
at the time to this day). Eventually, my family bought a desktop computer and put it where anyone might think to put a revolutionary and expensive luxury appliance - the kitchen. It was made by a company called Micron and had 0.75 GB (read: three quarters of a gig!) of disk space with 16MB of RAM. It came with Windows 3.11 at first before Windows 95 came out a few years later.
My interest in programming was initially sparked in a rather unconventional way: by using mIRC, a popular internet relay chat client. Even back in the late 90's, mIRC featured a fully-fledged scripting language with C-style syntax and a surprising amount of documentation to accompany it. That was the first time I ever defined a variable or used an if/else statement. I read their documentation for fun, eager to learn about new ways to solve problems in my scripts and eventually ended up teaching myself how to program computer software.
From there I quickly became interested in more general systems languages like BASIC and C. Something about programming awakened this auto-didactic spirit within me and I quickly took to absorbing as much computing-related knowledge as I could. I've have heard the term "knowledge sponge" used before and that is what it felt like. This was conveniently right around this time that the internet was really starting to penetrate mainstream society and eventually grew to achieve the ubiquity and importance that is apparent today. Broadband connections were becoming more and more affordable. Suddenly every business
The best jobs are the most challenging ones and the learning is never over.
These days, I am partial to Apple's software. I have a lot of love for their operating systems, especially OS X. As such, I do all of my working and playing on Macs (usually a Macbook Pro model). Still though, I strongly feel that taking a step back and considering the right tool for the job is always preferable to blindly adopting what you know.
I'm a tad picky about keyboards since they are a rather important component of any programmer's day-to-day life. I think it's worth spending the time to find a keyboard that you love and that feels perfect. To the delight (or chagrin) of cubemates everywhere, I've finally settled on the Cherry Brown MX switches which have great feedback and are relatively quiet to boot.
When it comes to software applications, everybody has their own preferences that they will probably defend adamantly. I could ramble on all day about my favorite applications and tools but I think the most relevant thing to actually list here is what I use for developement. Don't worry, it is a short list!
Various specialty software like Photoshop obviously comes in handy in my day-to-day work. For most everything else, there is the command line. For my terminal, I like to use use iTerm 2 with zsh (if available) for shell.