Resume and portfolio.

My quiet little mountain home on the internet, this site contains information about me, my job history and a small (but growing!) portfolio of my work/projects is all available here. I may later add a section dedicated to my wisdom and witty anecdotes, but for now, the wit will be administered sparingly.


I'm Kyle. Autobiographical tendencies.

For the last 4+ years, I’ve been in email marketing and have worked on/with a number of large, high-profile clients to provide them the extremely dynamic email messaging they’ve required. Some of these clients are:

  • HP
  • Samsung
  • Intel
  • eBay
  • eBay Australia
  • NAPA
  • US Auto Parts (and all of the MANY related sub-brands)
  • Kellogg’s
  • Royal Caribbean International
  • Marriott
  • Sport Chalet
  • Lands’ End US, EU, JP
  • Bassmaster
  • TGI Friday’s
  • Wendy’s
  • Golf Now
  • Dex

Despite being in email marketing currently, I’ve been doing web development on my own since age 16; my heart belongs to Ruby on Rails. My Github account has a few examples of my work on it.

I live in Denver but am from Milwaukee originally. I graduated from Marquette University where I majored in English – Writing Intensive because I hated Computer Science (Java…ugh) and Journalism. The magical Dwyane Wade-led Final Four run of the 2002-2003 season was my freshman year.

I’m also an ITSJ on the Meyers-Briggs Personality Assessment and I believe making that known (along with knowing other people’s personality type) is crucial for having successful relationships everywhere.

More about me


Disciples of Philip Rivers fantasy football dynasty league site. Freelance Rails.

A dynasty league management platform keeping track of the many complex aspects of this way-too-involved league.

Most fantasy football leagues are redraft leagues meaning that every year, draft order is set randomly (usually) and everyone starts with a blank slate with all players up for grabs. In dynasty leagues, every team owner is a GM; there's a yearly budget ($130) to work within, players have salary values and may be signed to long-term contracts. Contracts may then be sold, bought-out, extended and/or franchised. Dynasty leagues try to simulate more closely how actual NFL teams operate.

Currently at version 2.5.31 (as of June 2, 2014), this site has turned into a monster and my proudest web development achievement to date.

Notable additions to the site since version 2.0 launched in January 2014:

  • Contract management: all contract functionality (creating, extending, franchising and buying out) is handled by the site
  • Breakdowns of team rosters by contract length, position and bye week
  • A full messaging platform has been added allowing users to contact one another right there on the site rather than text, email, Facebook or Yahoo messageboards
  • Draft rosters (basically watch lists) have been created to allow GMs to keep track of players they want to research
  • A platform for managing Super Bowl winner picks and the enusing tiebreaker should two or more people pick the same team to win

…and so much more. I work on this site nightly, often rolling out numerous updates in the same day. The last big thing to add is the trade platform that will allow GMs to send each other trade requests for players, cap space, draft spots and anything else they want to add in (such as team avatar rights).

I’m extremely happy with and proud of this site as it not only works well but will make things so much easier for the commissioner and for the rest of the league to get this vital information in a format that’s easy to consume and much more up-to-the minute than the bloated Excel files we were previously using.

Before continuing the explanation of this site and what has gone into it:

tl;dr | This is what this site does

  • Houses all league documentation (Constitution, awards/payouts history, FAQs, Facebook poll results, etc.)
  • Contains up-to-date roster information for each team
  • Contains up-to-date salary values for all players (contracted and free agent)
  • Manages player/team long-terms contracts
  • Handles yearly budgets
  • Handles yearly Super Bowl picks for $5 prize
  • Provides a lot of at-a-glance information for GMs to make decisions

To start with, the dynasty site is built using the same Rails 3.2.18 CMS core powering this site with a lot more added to it. The code is available on Github for perusal.

It’s hard to convey how complex this site is without knowing how complex this league is. The league is rather democratic, despite having a commissioner, and because of this, many rules come down to votes (as evidenced by the Facebook polls section). Some such rules that have come from this are the contract buyout clause, contract extension clause, and payouts/awards changes.

The main feature of a dynasty league is the contract aspect of players. Every player starts with an auction value and drafting players will count against a GM’s yearly salary cap. In addition to this, any drafted player may be signed to a long-term deal ranging from 2-20 years. Their salary increases yearly based on a function and each progression is outlined on the site.

Player/team contracts work in this fashion:

  • A player may be signed to any team for their current salary amount if they’re a free agent (haven’t been drafted or a previous contract has expired) or may be picked up from the waiver wires at any time.
  • Only drafted players may be signed to long-term contracts. Free agents may be franchised. More on that below.
    • If a contracted player has been dropped and picked up by another GM, the GM who now owns him is responsible for the remainder of that year’s contract unless the player is dropped and picked up by another GM, the original GM or is traded. At the end of the season, if the GM who picked up the contracted player still has him on his roster, he is allowed to decide if he would like to drop the player and have it revert to the original owner for the remainder of the contract or keep the player and his contract for any remaining years.
    • Any time a player (free agent or contracted) is picked up, their salary (determined by auction value if the player is a free agent or their current contracted amount if they’ve been cut and are in the free agent pool as dead money) counts against a GM’s yearly budget for the entire season until that player is dropped and picked up by another GM.
  • The contract extension clause may be used at any time before the final year of a player’s contract. It adds one more year at the next amount in the current salary progression. GMs are allowed one extension per player and one per year.
  • Players whose contracts have been extended and the extention is ending may be franchised. Franchising is more complex than extensions because the top 5 players of whatever position the player to be franchised is must be averaged and then compared to the next value in the current salary progression. Whichever value is higher is what the franchised player will cost for the next season. GMs are allowed one extension per player per year
    • For example: In 2013, Kansas City quarterback Alex Smith had an auction value of $0. He was drafted and signed to a 2 year deal so for 2014, his salary is $3. If he were to be franchised right now, the averaged salaries of Aaron Rodgers ($32), Drew Brees ($30) , Tom Brady ($27), Philip Rivers ($27), and Peyton Manning ($24) would be compared to the next step in the $0 progression. The average comes to $28 and the next step is $5. So if Alex Smith was franchised for 2015, he would cost $28.
  • Contracted players who are extremely expensive and/or not performing to their contracted value may be bought out. Buyouts nullify the existing contract and put the player back into the free agent pool. The GM buying the player out is then responsible for 60% of the remainder of the contract each year that’s left on the contract and may not pick up that player again until the contract has expired completely. GMs are allowed one buyout per year.

These things are somewhat easy—if cumbersome and tedious—to manage in Excel; it’s been quite a challenge to convert all that logic to methods to successfully process the clauses and deal with buyouts, but everything is working as it should be and once all of the 2013 standings and payouts information is added and the constitution is updated, the site will finally be the user-friendly end-all, be-all resource this league desperately needs.

It’s a constant work in progress as I continue to make updates to provide more/better information throughout.

Additional information

Projects Ruby on Rails Website Freelance

My projects


Front End Developer. Current job.

Top Floor Technologies is a small agency out of Milwaukee, specializing in web design & development, along with SEO optimization. Their primary client base is manufacturing companies in Wisconsin and northern Illinois.

I was hired to be a Front End Developer first and foremost, working on fully-responsive website (re)builds to bring our clients’ aging websites into the 21st century. Using Drupal and X-Cart as the backends and Foundation and Bootstrap for the front ends, I’ve been building elegant, responsive websites to meet client demands.

In addition, my email expertise has been used to land contracts with a number of large clients include Shorewest Realtors. By providing over five years’ worth of email marketing experience, I have helped clients redo their email to be engaging and usable on any device.

Additional information

Jobs Current

My work experience