Hunter Perrin

Over two decades of programming experience,
one lifelong passion for open source.

The people who know me know my passion for code. My father gave me a computer when I was eight years old. Within a year, I had made it my goal to learn how to make it do what I wanted it to. That was the beginning of my immersion into coding. I didn't even realize until my first programming class in high school that I could make a living by writing code.

Coding is more than a career for me. Coding is a hobby, a passion, and a living. They say when you have a hammer, every problem looks like a nail. When computers were first being developed, they were called the universal machine. So when you have a universal machine, maybe every problem really is solvable.

Things I Can Do

I'm an expert in JavaScript/ECMAScript (for the browser and for Node.js), HTML, and CSS. I have been using Git in team based environments for over 12 years, and I used Perforce at Google for 1 year. I'm proficient in Electron, PHP, Bash scripting, and SQL. I have a working knowledge of Java.

I've used a number of frontend and backend libraries. I'm proficient in Express, React, Svelte, SvelteKit, Electron, SMUI (my own library), and Nymph.js (my own library).

I specialize in web technologies, and have a strong understanding of the systems upon which they are built, such as HTTP/HTTPS, TCP/UDP, and IP. I have a strong background in database architecture, API design, and data structures.

  • JavaScript, Node.js
  • SQL (MySQL, PostgreSQL, SQLite3)
  • Writing API docs
  • Git, Mercurial, Perforce

Open Source Projects

My passion for open source led me to start SciActive Inc. It is the name under which most of my copyrighted code is held. Here are just a few examples of the projects I started and maintain.

Svelte Material UI

SMUI is a Material UI library for Svelte. It is one of the most popular UI libraries available for Svelte. In addition to implementing Google's MDC-Web library, I have made multiple additional complex UI elements.

Nymph.js

Nymph.js is an object relational mapper for Node.js, designed to bring all the power of database querying to the client side. From the browser, Nymph allows you to essentially write DB queries, save data objects to the backend, and run server side methods on your data objects, all while providing powerful access control.

Nephele

Nephele is a pluggable WebDAV server for Node.js. It strictly follows the WebDAV spec, and can be extended to use any data and authentication backends available to Node.js.

PNotify

PNotify is a notification library for JavaScript. It can show in browser notifications, or Web Notifications that fallback to in browser. It has become a quite popular solution in the open source community, due to its modularity, beauty, and reliability.

You can find many more of my open source projects on the SciActive GitHub page.

Port87

I created and maintain an email service called Port87. It has a novel and unique delivery system that keeps your email organized and your inbox spam free.

The Port87 delivery system was born out of necessity. While I was working as an engineer at LinkedIn, I would get about 10 to 15 spam messages in my Gmail inbox every day. Every single time, my watch would buzz, I'd look down at it, and I'd sigh that spam just cost me yet another interruption.

Eventually I decided that I had to tackle this problem. I started by moving my account emails into a separate email through ProtonMail, where I could use "Sieve scripts" (a type of programming language run on incoming mail) to organize them all into their own categories. That solved the issue of spam mixed in with all my account mail, but I was still getting spam.

Next, I developed a sort of "screening" system for my Gmail account through complicated filters and autoreplies. Since I wasn't getting account email there anymore, it was fine to block all automated email.

In June of 2021, I formed SciActive Inc, and in August, I left LinkedIn and started working on Port87, where all of this functionality would be easy and automated. The clunky system of Sieve scripts and filters that I now call the prototype paved the way for a brand new kind of email.