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, create software, write about things, 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

I enjoy doing full-stack development:

View My Résumé

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

rnjeesus

rnjeesus is a random number generator (RNG) service built around a simple API.

Highlights & Challenges

Learn how to parse a URL with regular expressions in PHP to implement the API. Use the PHP random_int function to generate numbers. Work with NGINX location directives to handle API request routing server-side.

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!).

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!