Briefer Printable
Resume in PDF
Viewing Items: 5 - 8 of 15
Page: 1 | 2 | 3 | 4

LeagueStat (for Commercial Design) Nov. 2005 - Feb. 2008
Technologies: PHP 4/5, XML, MySQL (including replication), Javascript, CSS 2, AJAX, Apache 2, CentOS Linux, NFS

LeagueStat.com is an online scoring and statistical tracking system for hockey that several professional and semi-professional leagues such as the AHL, OHL and WHL use to track their games. Scorekeepers log on from the arena and track the game from a web browser, allowing game sheets and player stats to be updated online in real time.

The software was originally written in PHP 3 and had grown incrementally based on client requests for several years before I started working at Commercial Design. The product was simply outgrowing the original intention of the software and was rapidly becoming unmaintainable and even unstable during high-traffic periods. In addition to this, SQL statements used to calculate important stats were often duplicated in several areas of the site, making updates tedious and tracking down slow queries nearly impossible.

As part of a major upgrade to the site, I was tasked with centralizing stats calculations into object oriented classes. This allowed us to be sure that all areas of the site were showing the same correct statistics, as well as to track performance issues more easily. To further improve performance, I worked with our system administrator to reorganize our network structure, including moving the frontend SQL server to its own dedicated box (gathering data from the backend scorekeeper server by MySQL replication). I also designed an output-caching system to rebuild static HTML pages whenever stats were updated in order to reduce load on pages being hammered during game time.

As a result of the new features and improved performance, we were able to attract several new leagues, most notably the ECHL. The number of support calls we had to field reduced significantly and once frequent system crashes were a thing of the past.
GolfFusion (for Commercial Design) Aug. 2006 - Dec. 2007
Technologies: PHP 4, MySQL 4, FreeBSD, Apache 1.2

Golffusion provides membership services and tracks golf statistics for hundreds of golf clubs and associations across the US. When I became involved in the project, the site was plagued by bugs and performance issues, security was non-existent (including serious sql-injection vulnerabilities), and the code was poorly organized with entire sections of code duplicated through the site making maintenance and upgrades a nightmare. After putting out several fires requiring immediate attention, we began to strategize with GolfFusion to plan some incremental upgrades to slowly, and budget-conciously, add features and replace their shoddy existing code with a sturdy framework.

Initially, the primary purpose most clubs were using the site for was collecting membership dues online through paypal. The first new feature I worked on for the site was switching the payment portal from paypal to Cybersource (Bank of America). The transaction rates were so much lower that it actually allowed GolfFusion to collect a per transaction fee (greatly increasing their revenue) while offering the clubs themselves a lower percentage fee. Once the new payment portal was in place for membership fees, I added similar functionality for tournament registration and a web store.

As a result of my involvement in the project, GolfFusion has increased revenue significantly and signed several new clubs. Eventually I handed off the project to another programmer at Commercial Design, remaining involved in a managerial / consultative capacity until I left Commercial Design.
HistoriCanada Feb. 2007 - Apr. 2007
Technologies: PHP 5, MySQL 4, Javascript, DHTML, Apache 2, CentOS Linux

The goal of HistoriCanada.com is to make learning about history fun for high school students. The project received funding and support from Telefilm Canada and Histor!ca and was managed by Bitcasters. Bitcasters worked with Firaxis games to make a fun and informative Civilization 3 mod based on the history of Canada. Players can choose to play as many different European and First Nations civilizations, and as the game progresses, learn interesting facts about the history of Canada.

My involvement in the project was to create the website where players can download the mod, discuss the game, and read articles about Canadian history. The work included a custom content management system with a special ability to manage a "Canadian History Timeline" feature on the site. The site also contains a forum (phpBB) where students can converse with experts. Another neat thing about the site is the "victory videos" section. After students win as a certain civ, they can log onto the site and viewed a video related to that civ. In order to make the videos easily accessible, I converted them to Flash Video format from the MPEG and enclosed them in a flash video player.
Running Room Advertising Tracker (for Commercial Design) Apr. 2007 - May. 2007
Technologies: PHP, MySQL, Apache 2, CentOS Linux

RunningRoom has nearly one hundred stores across North America and Commercial Design is responsible for all aspects of their website. Previously an advertising manager had been tracking the production of creative pieces and related advertising budgets manually, but as the number of stores grew, this became unmanageable.

I was tasked with creating a tool to track advertising campaigns for each different store, region and medium (eg. radio, newspaper etc.). Each time an ad is purchased, the advertising department uploads the creative piece and a description of where it is running etc using the tool.

The tool also featured a graphical reporting tool, showing the time periods for which ads are running, with filters by region, store and medium. This allowed the advertising department to identify gaps in their ad campaigns, or effectively focus their ads around running events the running room was sponsoring.

The tool also played an important role for the accounting department, allowing them to generate purchase orders (as PDFs or HTML) for advertisers and invoices for companies involved in split campaigns (for example, Nike will often pay for 1/2 an ad featuring shoes on sale at runningroom).
Viewing Items: 5 - 8
Page: 1 | 2 | 3 | 4