Matt
Chestnut

I'm busy. You're busy. Here's the short version.

For the last 10 years, I've been working as a graphic designer and web developer for a small medical device manufacturer in Scottsdale. I do full-stack development, but my real passion is working with front-end technologies. I love learning new things and marrying the art of design with the logic of code.

Hiring? We're a good match if:

  • You're looking for a mid-level front-end developer
  • You want someone that can solve problems and get the job done
  • You need a team player who can also work well on their own
  • You're located in the PHX East Valley (sorry, but I'm burned out on long commutes)
  • You care about work-life balance, doing things right, and employee/company growth

If that all sounds great, hit me up through Twitter or LinkedIn. I'd love to talk!

Technical skillset

  • HTML
  • CSS /* Sass */ BEM
  • JavaScript (Vue2 && React && AngularJS && jQuery)
  • {webpack, Grunt, Gulp, Git}
  • WordPress + Gutenberg
  • [Sublime_Text, Figma]
  • [Photoshop, Illustrator, InDesign]
  • Now learning! Nuxt + GraphQL

Sample projects

Orthoscan site: 2019 redesign

https://www.orthoscan.com
The Project

Redesign of our company website to launch with a corporate rebranding and new product line. Built with a bespoke WordPress theme using WooCommerce to handle customer supply orders. Features custom Gutenberg blocks in the WordPress admin.

I was the sole designer and developer on this project.

The Tech
  • HTML
  • CSS
  • Sass
  • BEM
  • Vue
  • PHP
  • WordPress
  • WordPress Block API
  • WooCommerce
  • Webpack
  • Gulp
  • Git
  • Figma
The Level-up

In spite of the negative community reaction to Gutenberg, I loved the idea of the new block editor. Being able to create an admin editing experience that looked 90% the same as the user-facing site was of huge appeal to me. This redesign was the perfect opportunity for me to try it out. I utilized the create-guten-block toolkit and built custom blocks from scratch.

Custom blocks in admin area

Because I started development right after Gutenberg launched in WordPress core, it was rather difficult finding good documentation and information about creating custom blocks. However, I learned a lot through trial and error and by digging into the source code. Since the Block API is built upon React, this gave me a roundabout introduction to that library (which is something I've been meaning to pick up for a while).

For this redesign, I also wanted to make the site more visually dynamic. I used Vue to sprinkle in interactive components, handle scroll events, and do some basic CSS and SVG animations.

If I were to build this site over again, I might swap Vue with React to reuse some of the code and tooling for the admin editor. But I'd have to weigh that against the advantage that Vue has in size and simplicity for single components.

Overall, this was a blast to work on and a great exercise for learning new skills.

Lifekeeper web app

https://magic.mattchestnut.com
The Project

Personal project to create a web app for tracking life totals for a multiplayer card game.

The Tech
  • CSS3
  • Sass
  • AngularJS
  • Vue
  • webpack
  • Git
The Level-up

I began this project using AngularJS, but switched earlier on to Vue. I had a project coming up at work that was going to need a robust JS framework. After comparing Angular 4, Vue, and React, I settled on Vue because I liked the coding conventions and single file components. I also used SVG graphics extensively to keep the interface responsive and dynamic.

MTG Stats web app

https://mtgstats.mattchestnut.com
The Project

Personal project to create a web app for analyzing the distribution of cards in a card game.

The Tech
  • HTML5
  • CSS3
  • Sass
  • Bootstrap
  • AngularJS
  • TaffyDB
  • Grunt
  • Bower
  • Git
The Level-up

I worked on this project partly because of my interest in Magic: The Gathering and partly because I wanted to learn AngularJS. This was my first experience working with a JavaScript MVC library, as well as my first time using Bootstrap, Grunt, or Bower. Due to the complex filters I needed to run for the analysis, I also learned a lot about regular expressions.

for more...