Hi, I'm Adam Morgan.

I’m a full-stack software engineer and designer.

What I Do

My areas of expertise and the services I provide

Frontend Development

I specialize in frontend development. I can deliver the HTML, CSS, and JS you need packaged within a modern web framework. I use Angular for most of my work but I can easily pick and learn the right tools for the job.

Backend Development

While I specialize in frontend development I’m also very comfortable with backend development. My framework of choice is currently Express which I’ve used to write APIs, Slack bots, and Twitter bots.

Automated Testing

I’m a big proponent of automated testing and the confidence it gives me while building and maintaining applications. I’ve written and self-published a book on the subject. My tools of choice are Jasmine and Cypress.

UI Design

I deliver user experiences that look great, are intuitive for customers to use, and will adapt to the variety of web enabled devices we all use today.


The Angular Tutorial along with Adam’s advice has completely changed my career...

Levi Robertson

Adam has a knack for breaking down complex topics while using relatable topics and keeps learning Angular fun.

Kaeside Iwuagwu

If you are using Angular in a professional setting I can not recommend The Angular Tutorial highly enough.

-Matthew Knowles

Latest from the Blog

Why Do Art Teachers Suck?

Why Do Art Teachers Suck?

If a kid spends all of their creative time drawing Iron Man and The Hulk, why are they learning about Pablo Picasso on Day 1 of art class? Shouldn't they be spending more time drawing exactly what they want to draw?

I'm Learning Korean on Twitch (Open Source Learning?)

I'm Learning Korean on Twitch (Open Source Learning?)

Rather than learning a new language on my own and then publishing a blog post or YouTube video about the process once I'm fluent detailing how I did it, I've decided to livestream the entire process on Twitch

Code Companion #11: AJAX

Code Companion #11: AJAX

In this tutorial we'll be building off of the previous tutorial updating our form to make our first HTTP request to the PokéAPI.