Mackin played for Blacon Youth in their under-12 team and in the 1997–98 season was named League Player of the Year. He played for hometown club Chester City as a schoolboy before moving to Wrexham on the same basis at the age of 15. He progressed through their youth system and captained them in an FA Youth Cup match against Watford. He helped the youth team win a league championship, which resulted in him being given a squad number with the first team. He made his first-team debut at the age of 18 after starting in a 1–1 draw away to Wycombe Wanderers on 1 May 2004, the final match of 2003–04. His first appearance of 2004–05 came as a 50th-minute substitute in a 2–2 away draw with Hull City in the League Cup on 24 August 2004, which Wrexham won 3–1 in a penalty shoot-out. Mackin made his first league appearance of the season in a 5–1 defeat away to Luton Town as a 63rd-minute substitute on 6 November 2005 and his first start came on 11 December in a 3–0 away defeat against Milton Keynes Dons (MK Dons) as a replacement for the suspended Darren Ferguson. He suffered from a sore thigh in January 2005 and made his return as an 88th-minute substitute in a 0–0 home draw with MK Dons on 26 February. He fouled Steve Jenkins inside the penalty area during stoppage time away to Swindon Town on 19 March, which led to Sam Parkin scoring a penalty kick, the final goal in a 4–2 defeat for Wrexham. He finished the season with 11 appearances and signed his first professional contract on 11 July 2005.