Hi There, I'm Cathal & I’m The

Front End Developer

You’ve Been Searching For

8

Great Reasons

To Hire Me

8

Great Reasons

To Hire Me

#1

I'm a developer

& i speak fluent nerd :-)

I hold a 1st class honours degree in computer science from MTU. While I'm a qualified full stack engineer with experience in Laravel, Mobile app development and systems architecture, these days I focus on front-end, I love nothing more than building beautiful, engaging and efficient user experiences.

  • Strong fundamentals (HTML,CSS,SASS)
  • Passion for modern front-end development (Vue.js, JS ES5/ES6)
  • Full Stack PHP Engineer working with Laravel
var PageTransitions = (function() {

var $main = $( '#pt-main' ),
	$pages = $main.children( 'div.pt-page' ),
	pagesCount = $pages.length,
	current = 0,
	isAnimating = false,
	endCurrPage = false,
	endNextPage = false,
	animEndEventNames = {
		'WebkitAnimation' : 'webkitAnimationEnd',
		'OAnimation' : 'oAnimationEnd',
		'msAnimation' : 'MSAnimationEnd',
		'animation' : 'animationend'
	},
	// animation end event name
	animEndEventName = animEndEventNames[ Modernizr.prefixed( 'animation' ) ],
	// support css animations
	support = Modernizr.cssanimations,
	
	//audio tracks
	audiotracks = [
		{"track":0,"name":"James Brown - I Feel Good","length":"","file":"mp3/James Brown - I Feel Good.mp3"},
        {"track":1,"name":"Guns N Roses- Welcome To The Jungle","length":"","file":"mp3/WelcometheJungle.mp3"},
        {"track":2,"name":"Guns N Roses- Paradise City","length":"","file":"mp3/Paradise City.mp3"},
        {"track":3,"name":"Paul Simon - You Can Call Me Al","length":"","file":"mp3/Paul Simon - You Can Call Me Al.mp3"},
    ],
    audioindex=0;

function init() {

	$pages.each( function(index) {
		var $page = $( this );
		$page.data( 'originalClassList', $page.attr( 'class' ) );

		if(index!=0){);
		}

	} );

	$pages.eq( current ).addClass( 'pt-page-current' );

	//events
	$('.next-page').on( 'click', function(event) {
		if( isAnimating ) {
			return false;
		}
		event.preventDefault();
		nextPage('next');
	} );


	$('.prev-page').on( 'click', function(event) {
		if( isAnimating ) {
			return false;
		}
		event.preventDefault();
		nextPage('prev');
	} );

	$('.goto-page').on( 'click', function(event) {
		if( isAnimating ) {
			return false;
		}
		event.preventDefault();
		var pageindex = $(this).attr("data-page-index");
		nextPage(pageindex);
	} );

	//swipe touch event
	$('body').on("swipeleft",function(){
		nextPage('next');
	});

	//audio events
	
	$('#audio-play').on( 'click', function(event) {
		event.preventDefault();
 		toggleAudioPlay();
	} );

	$('#audio-next').on( 'click', function(event) {
		event.preventDefault();
		changeAudioTrack('next');
	} );

	$('#audio-prev').on( 'click', function(event) {
		event.preventDefault();
		changeAudioTrack('prev');
	} );

}

var PageTransitions = (function() {

var $main = $( '#pt-main' ),
	$pages = $main.children( 'div.pt-page' ),
	pagesCount = $pages.length,
	current = 0,
	isAnimating = false,
	endCurrPage = false,
	endNextPage = false,
	animEndEventNames = {
		'WebkitAnimation' : 'webkitAnimationEnd',
		'OAnimation' : 'oAnimationEnd',
		'msAnimation' : 'MSAnimationEnd',
		'animation' : 'animationend'
	},
	// animation end event name
	animEndEventName = animEndEventNames[ Modernizr.prefixed( 'animation' ) ],
	// support css animations
	support = Modernizr.cssanimations,
	
	//audio tracks
	audiotracks = [
		{"track":0,"name":"James Brown - I Feel Good","length":"","file":"mp3/James Brown - I Feel Good.mp3"},
        {"track":1,"name":"Guns N Roses- Welcome To The Jungle","length":"","file":"mp3/WelcometheJungle.mp3"},
        {"track":2,"name":"Guns N Roses- Paradise City","length":"","file":"mp3/Paradise City.mp3"},
        {"track":3,"name":"Paul Simon - You Can Call Me Al","length":"","file":"mp3/Paul Simon - You Can Call Me Al.mp3"},
    ],
    audioindex=0;

function init() {

	$pages.each( function(index) {
		var $page = $( this );
		$page.data( 'originalClassList', $page.attr( 'class' ) );

		if(index!=0){);
		}

	} );

	$pages.eq( current ).addClass( 'pt-page-current' );

	//events
	$('.next-page').on( 'click', function(event) {
		if( isAnimating ) {
			return false;
		}
		event.preventDefault();
		nextPage('next');
	} );


	$('.prev-page').on( 'click', function(event) {
		if( isAnimating ) {
			return false;
		}
		event.preventDefault();
		nextPage('prev');
	} );

	$('.goto-page').on( 'click', function(event) {
		if( isAnimating ) {
			return false;
		}
		event.preventDefault();
		var pageindex = $(this).attr("data-page-index");
		nextPage(pageindex);
	} );

	//swipe touch event
	$('body').on("swipeleft",function(){
		nextPage('next');
	});

	//audio events
	
	$('#audio-play').on( 'click', function(event) {
		event.preventDefault();
 		toggleAudioPlay();
	} );

	$('#audio-next').on( 'click', function(event) {
		event.preventDefault();
		changeAudioTrack('next');
	} );

	$('#audio-prev').on( 'click', function(event) {
		event.preventDefault();
		changeAudioTrack('prev');
	} );

}
									
var PageTransitions = (function() {

var $main = $( '#pt-main' ),
	$pages = $main.children( 'div.pt-page' ),
	pagesCount = $pages.length,
	current = 0,
	isAnimating = false,
	endCurrPage = false,
	endNextPage = false,
	animEndEventNames = {
		'WebkitAnimation' : 'webkitAnimationEnd',
		'OAnimation' : 'oAnimationEnd',
		'msAnimation' : 'MSAnimationEnd',
		'animation' : 'animationend'
	},
	// animation end event name
	animEndEventName = animEndEventNames[ Modernizr.prefixed( 'animation' ) ],
	// support css animations
	support = Modernizr.cssanimations,
	
	//audio tracks
	audiotracks = [
		{"track":0,"name":"James Brown - I Feel Good","length":"","file":"mp3/James Brown - I Feel Good.mp3"},
        {"track":1,"name":"Guns N Roses- Welcome To The Jungle","length":"","file":"mp3/WelcometheJungle.mp3"},
        {"track":2,"name":"Guns N Roses- Paradise City","length":"","file":"mp3/Paradise City.mp3"},
        {"track":3,"name":"Paul Simon - You Can Call Me Al","length":"","file":"mp3/Paul Simon - You Can Call Me Al.mp3"},
    ],
    audioindex=0;

function init() {

	$pages.each( function(index) {
		var $page = $( this );
		$page.data( 'originalClassList', $page.attr( 'class' ) );

		if(index!=0){);
		}

	} );

	$pages.eq( current ).addClass( 'pt-page-current' );

	//events
	$('.next-page').on( 'click', function(event) {
		if( isAnimating ) {
			return false;
		}
		event.preventDefault();
		nextPage('next');
	} );


	$('.prev-page').on( 'click', function(event) {
		if( isAnimating ) {
			return false;
		}
		event.preventDefault();
		nextPage('prev');
	} );

	$('.goto-page').on( 'click', function(event) {
		if( isAnimating ) {
			return false;
		}
		event.preventDefault();
		var pageindex = $(this).attr("data-page-index");
		nextPage(pageindex);
	} );

	//swipe touch event
	$('body').on("swipeleft",function(){
		nextPage('next');
	});

	//audio events
	
	$('#audio-play').on( 'click', function(event) {
		event.preventDefault();
 		toggleAudioPlay();
	} );

	$('#audio-next').on( 'click', function(event) {
		event.preventDefault();
		changeAudioTrack('next');
	} );

	$('#audio-prev').on( 'click', function(event) {
		event.preventDefault();
		changeAudioTrack('prev');
	} );

}

var PageTransitions = (function() {

var $main = $( '#pt-main' ),
	$pages = $main.children( 'div.pt-page' ),
	pagesCount = $pages.length,
	current = 0,
	isAnimating = false,
	endCurrPage = false,
	endNextPage = false,
	animEndEventNames = {
		'WebkitAnimation' : 'webkitAnimationEnd',
		'OAnimation' : 'oAnimationEnd',
		'msAnimation' : 'MSAnimationEnd',
		'animation' : 'animationend'
	},
	// animation end event name
	animEndEventName = animEndEventNames[ Modernizr.prefixed( 'animation' ) ],
	// support css animations
	support = Modernizr.cssanimations,
	
	//audio tracks
	audiotracks = [
		{"track":0,"name":"James Brown - I Feel Good","length":"","file":"mp3/James Brown - I Feel Good.mp3"},
        {"track":1,"name":"Guns N Roses- Welcome To The Jungle","length":"","file":"mp3/WelcometheJungle.mp3"},
        {"track":2,"name":"Guns N Roses- Paradise City","length":"","file":"mp3/Paradise City.mp3"},
        {"track":3,"name":"Paul Simon - You Can Call Me Al","length":"","file":"mp3/Paul Simon - You Can Call Me Al.mp3"},
    ],
    audioindex=0;

function init() {

	$pages.each( function(index) {
		var $page = $( this );
		$page.data( 'originalClassList', $page.attr( 'class' ) );

		if(index!=0){);
		}

	} );

	$pages.eq( current ).addClass( 'pt-page-current' );

	//events
	$('.next-page').on( 'click', function(event) {
		if( isAnimating ) {
			return false;
		}
		event.preventDefault();
		nextPage('next');
	} );


	$('.prev-page').on( 'click', function(event) {
		if( isAnimating ) {
			return false;
		}
		event.preventDefault();
		nextPage('prev');
	} );

	$('.goto-page').on( 'click', function(event) {
		if( isAnimating ) {
			return false;
		}
		event.preventDefault();
		var pageindex = $(this).attr("data-page-index");
		nextPage(pageindex);
	} );

	//swipe touch event
	$('body').on("swipeleft",function(){
		nextPage('next');
	});

	//audio events
	
	$('#audio-play').on( 'click', function(event) {
		event.preventDefault();
 		toggleAudioPlay();
	} );

	$('#audio-next').on( 'click', function(event) {
		event.preventDefault();
		changeAudioTrack('next');
	} );

	$('#audio-prev').on( 'click', function(event) {
		event.preventDefault();
		changeAudioTrack('prev');
	} );

}
									

#2

I'm a designer

1/16th hipster on my Dad's side...

That's right! I'm one of the rare breed of developers who loves to design, I've been lucky enough to have varied and extensive experience in product design encompassing everything from leading UX workshops, service delivery blueprints, high-fidelity prototypes, mockups & wireframes.

  • Extensive and varied design experience
  • Particular interest in UX/UI and interface design
  • Experience with Figma, Adobe Creative Suite, Invision & Zepplin

#3

I have evil powers

Ever feel like you're being watched?

Over the years I've accumulated a major arsenal of weaponry, from the standard implementation of cross-platform analytics software (Adobe Analytics, Google Analytics and Piwik) to behavioural lead scoring and marketing automation systems, to the execution of data-driven growth experiments.

  • Advanced analytics and user-behavior tracking
  • Sales & Marketing automation systems
  • Experience in Tableux, Google Data Studio, Gainsight PX

#4

I've got the Experience

I've seen stuff man :-)

Over the years I've worked on a wide range of projects from developing enterprise-level web applications, cross-platform mobile apps and developing sales & marketing tech. So whatever the project, I can bring some solid experience and a fresh perspective to your team.

  • Enterprise-level web applications
  • Freemium & low-touch SaaS products
  • Sales & Marketing technologies

#5

I've got Vision

Let's get disruptive...

Thanks to my experience in software engineering, design and product development I bring a unique skill-set to the table. Most recently I led the PMF (product-market-fit) team for a Sequoia backed scale-up - rapidly developing MVPs, testing new product ideas in market and analysing key metrics to determine potential for scale and market viability.

  • MVP Development
  • Lean Development Principles
  • Product Market Fit Specialist

#6

I'm a team player

I've worked with professionals from all over the world

I love what I do and what I love even more is working with creative, talented and passionate people. Over the years I've had the pleasure of working with some amazing professionals, from remote teams to tightly-knit groups of creatives.

  • Solid management experience
  • Experience in remote teams
  • Energetic and passionate attitude to teamwork

#7

I'm An Irishman!

Cathal (pronounced: Alcohol)

If you only focus on the positive stereotypes that's a good thing... right? I was born in Sligo on the west coast of Ireland, though I'm now a permanent Australian resident and currently living in Perth WA (I've recently moved back to the 'ol country after 11 years and I'm now based in Killorglin co. Kerry!)

  • Embodiment of good Irish stereotypes
  • Irish accent for you to enjoy / imitate
  • Expert at Irish dancing (sitting down)

#8

Cheer my dog up

I've tried nothing and i'm all out of ideas

Well that's not quite true, I did try the ball pit. This one's for the dog people, you see Bowser here has had a rough few weeks. He had to go to the vets for a 'procedure' and let's just say he wasn't quite 'all' dog when he came back if you catch my drift. As you can see I haven't been able to remove the look of trauma that's been fixed on his face ever since. So I think the only thing left to do is to try and cheer him up with some new career opportunities for his best buddy, what do you think?

Have an opportunity?

Fill in the form and Let's talk!

Thanks for taking the time to check out my shameless self-promotion! If you have a position, project or company that you think I’d be perfect for then feel free to get in touch! Fill in the form and let’s talk.

PS: Don’t forget to connect with me on





UH OH, Your browser doesn't support CSS animations.