Whalen made the Stanford football team as a walk-on and was one of eight true freshmen to see playing time in the 2008 season. He appeared in the Washington State game, earning a varsity letter.
In 2009, Whalen worked his way into the wide receiver rotation. He appeared in 12 games and made two starts (Oregon and USC). His first career reception was in the season opener against Washington State. For the season, Whalen caught seven passes for 60 yards (8.6 average).
In 2010, Whalen caught 17 passes for 249 yards and one touchdown in 13 games (one start). He caught one pass for 19 yards against UCLA before catching 11 passes for 154 yards and one touchdown in the next three games against Wake Forest (3 for 39), Notre Dame (3 for 37), and Oregon (5 for 78). He provided much-needed depth to the receiving corps in the early going, when Ryan Whalen and Chris Owusu were slowed with injuries. He caught a career-high five passes for 78 yards at Oregon, including his first career touchdown at the 5:06 mark of the first quarter on an 18-yard corner route from Luck.
The 2011 season was Whalen's best statistical year at Stanford. He finished the 2011 season with 56 receptions for 749 yards and 4 touchdowns. His best statistical game came in a loss to Oregon. He finished with 9 receptions for 107 yards and 2 touchdowns. During the Fiesta Bowl against Oklahoma State, he had 7 receptions for 85 yards. Stanford lost 38-41. He was a finalist for the Burlsworth Trophy.
Whalen was signed by the Indianapolis Colts as an undrafted free agent following the 2012 NFL Draft on April 28, 2012, joining fellow Stanford players Andrew Luck and Coby Fleener. On August 28, 2012, he was put on the injured reserve list for a broken foot, which occurred against the Pittsburgh Steelers.
More hurdles were thrown Whalen’s way in 2013. His position on the active roster at the beginning of the season was due to second year wide-out LaVon Brazill's four-game suspension due to a violation of the league’s substance abuse policy. Whalen was cut following Brazill’s return, but was quickly signed to the practice squad after impressing the Colts’ coaching staff. He was activated once again after Reggie Wayne’s season-ending ACL injury during the Week 7 victory over the Denver Broncos.
Following a second spell on the practice squad, Whalen returned to the active roster in Week 15 against the Houston Texans and started to offer a glimpse of the potential at his disposal. A career high 45 receiving yards and first touchdown catch against the Texans was followed by an 80-yard day in the impressive 23-7 road victory over the Kansas City Chiefs, a game in which Whalen led the Colts in receiving yards and receptions. His fine run of form continued in the 30-10 victory over the Jacksonville Jaguars in Week 17, adding a second touchdown catch in three weeks.
He ended the year as starter with 24 receptions for 259 yards and 2 touchdowns.
On November 22, 2014, the Colts promoted running back Zurlon Tipton to the active roster and waived Whalen. Up to that point, he had been used mostly as a kickoff and punt returner, and made just 2 receptions for 23 yards. On November 25 Whalen was signed to the practice squad by the Colts. On January 15, 2015, Whalen was promoted to the active roster when Josh McNary was placed on the Commissioner's Exempt list.
On October 18, 2015 against the New England Patriots, Indianapolis coach Chuck Pagano called for a fake punt on 4th and 3 late in the third quarter with the Colts trailing 27-21. The play left Whalen snapping the ball to Colt Anderson with no Colts teammates blocking and two Patriots players standing over the ball. The play was stopped for a loss, the Patriots took over on downs and scored a touchdown en route to a 34-27 victory. The play was questioned by numerous NFL experts and players from around the league. Just a week later, Whalen created a second disastrous special teams play, when he fumbled on a kick return which led to a touchdown in a game against the New Orleans Saints. Whalen redeemed himself the following week against the Carolina Panthers by catching all five of his targets that came in the fourth quarter, helping send the game into overtime. Against the Denver Broncos, Whalen had 5 receptions for 73 yards, and was a crucial part to the Colts beating the then-undefeated Broncos. On December 21, 2015, Whalen was placed on season-ending injured reserve. On January 1, 2016, Whalen was waived by the Colts.
On March 18, 2016, Whalen signed with the Miami Dolphins, but was waived on September 4, 2016 during final roster cuts.
On September 19, 2016, Whalen signed with the San Diego Chargers. He was released by the Chargers on November 22, 2016.
On December 9, 2016, Whalen was signed by the New England Patriots. He was released by the Patriots on December 15, 2016.
On July 15, 2017, Whalen participated in a developmental league game to provide additional film for NFL teams and scouts. During Spring League Summer Showcase, Whalen was the leading receiver of the game, recording 4 catches for 73 yards. On July 21, 2017, Whalen signed with the Baltimore Ravens. On September 1, 2017, he was released by the Ravens during final roster cuts.