Hi, I'm Paul.

I like to push pixels.

It looks like you're browsing with JavaScript disabled.

That's fine–this website should function perfectly fine without, but if you encounter any bugs or issues, please let me know.

Hello, world!

Photo of myself

Hi, my name is Paul Esch-Laurent. I'm an undergraduate student at Michigan Technological University studying Computer Engineering.

I love playing around in pixelated environments creating digital goodies, developing and designing for the web, and working with modern, bleeding-edge technologies. In my spare time I like to take photographs, write code (here, too!), jam out, and fuel my love for mechanical keyboards.

Feel free to take a peek at my portfolio or shoot me a message if you'd like to get in touch.

Photo of myself

Projects & Experience

Most of my developing is done on the front-end using modern technologies like Flexbox, <canvas>, Autoprefixer, and Gulp. I'm also capable on the back-end using PHP and Node.js coupled with intermediate server-administration skills. In fact, the server powering this site is a DigitalOcean droplet running Ubuntu with NGINX and Let's Encrypt.

View My Résumé

I've selected a few projects that are particularly diverse and represent my experience & skills.

templater.js

templater.js is a minimal string-based templating engine written in JavaScript that runs in the browser or in Node.js.

Highlights & Challenges

Experience working with more complex regular expressions and setting up unit testing with Mocha & Chai. Continuous integration was setup with GitHub and Travis CI. First-time publishing packages on npm and Bower.

gulp-update-humanstxt-date

gulp-update-humanstxt-date is a Gulp plugin that updates the "last updated" date in a humans.txt file. Yep, just like the name.

Highlights & Challenges

Learned Gulp plugin best-practices along with Node.js stream basics. Set up continuous integration with Travis CI and unit testing with Mocha & Chai. Published to npm with yarn. Exposure to Git tags for semver releases.

portfolio

The site you are viewing. Initially created for my college web design class.

Highlights & Challenges

Setting up Gulp to handle local development as well as building all the assets for deploying the site. Spun up a VPS through DigitalOcean and installed NGINX and Let's Encrypt. Uses SVG icons packed into a spritesheet. Flexbox is used for layout for certain components (like this element!).

nudge

nudge is a simple shell script to write your buddies random messages over SSH.

Highlights & Challenges

Working with common Linux commands like grep and sed. Using bash here docs to pipe a string to write. Setting up cron to run the script automatically. Majority of messages created via pull requests on GitHub.

NicCageIt

NicCageIt is a hackathon-created web app where users upload an image and Nicolas Cage's face is super imposed on it. I think it's pretty cool.

Highlights & Challenges

Hands-on experience working with HTML5 <input> and <canvas> to upload and render. Utilized jQuery plugins for face recognition. Learned the hard way about JavaScript closures and their implications.

Get in Touch

Go ahead and fill out this form with anything you'd like to say and I'll get back to you as soon as possible.

I'll be in touch shortly. Thanks!