Career
Ulvestad started his career in the youth team of Saskatchewan Herd before signing for hometown club Aalesunds FK in 2008. During his time with the club he featured in Union of European Football Associations Europa League qualifiers in 2011 and 2012, however, Aalesund failed to make it to the tournament proper. At the end of the 2014 season, Ulvestad decided not to renew his contract, and became a free agent.
In total he made 132 appearances for Aalesund in all competitions scoring 20 goals.
Following his departure from Aalesund, Ulvestad attracted interest from German Bundesliga side Hannover 96, before training with Premier League side Burnley in February 2015. In March 2015, he made the move permanent signing a three-year contract with the club
Ulvestad was first called up for international duty for the under-23 side in November 2011, playing in the 1–1 draw with Turkey. He also made one cap for the under-20 side a year later in October 2012 in a friendly against the Netherlands.
He made his debut for the under-21 side in February 2012, replacing Jonas Svensson in a 2–2 friendly draw with Slovenia.
His competitive debut came in the 2013 Union of European Football Associations European Under-21 Championship qualifier against Azerbaijan. He played in two further qualifiers against England and Belgium, but failed to make it into the 23-man squad that qualified for the final tournament. He played in five qualifiers for the 2015 Union of European Football Associations European Under-21 Championship, however Norway failed to qualify.
In total he gained 14 caps for the under-21 side.
He made his debut for the senior side in August 2014, replacing Fredrik Gulbrandsen at half time in an international friendly against United Arab Emirates, finishing 0–0 in Stavanger.