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:
- eBay Australia
- US Auto Parts (and all of the MANY related sub-brands)
- Royal Caribbean International
- TGI Friday’s
- Golf Now
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.
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), players have salary values and may be signed to long-term contracts. Contracts may they be sold, bought-out, extended and/or franchised. Dynasty leagues try to simulate more closely how actual NFL football teams operate.
Version 2.0+ has launched as of 1/10/14. 2.0 includes many changes not limited to:
- Font Awesome icons throughout
- Consolidated navigation
- Fixes for Bootstrap because the navigation wasn’t working on mobile for a while there
- Contract manager platform for setting long-term player contracts for teams based on some complex logic involving numerous models to handle the information
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
- Will handle team budgets and trades (involving player, cap space, draft picks and more)
To start with, the dynasty site is built using the same Rails 3.2.16 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 (such as providing a chart that shows how much it would cost to franchise a player who’s signed to a contract to help better make that decision) throughout.
Web Developer. Current job.
Yesmail (owned by Infogroup) Web Developers build emails to the highest standard, free of rendering issues in a vast array of browsers/applications on a vast array of operating systems. I collaborate with the Creative Services and Account Management departments daily to complete goals and provide deliverables.
I work on a number of large clients including Hewlett-Packard (my primary focus), Intel, Warner Brothers and more.