Host, CMS is hosted on Squarespace. I have a long and interesting history with custom Squarespace development. To say the least, I’ve signed NDAs about this stuff before ( ask me about it sometime ).

As a developer I’ve always gone against the grain — Squarespace is at the top of that list. Before they had dev tools I ran an open-source organization on Github and npm called NodeSquarespace. I single handedly built and maintained the first tools for local Squarespace development for about two years.

Actually, that’s not entirely true. The Squarespace developer community at the time was pretty awesome. One person in particular, Jason Barone, was a dear and invaluable colleague via Slack. For most of those two years, Jason and I spoke at length Monday through Friday as I feverishly worked on the node tools.

Eventually, the engineers at Squarespace caught word and sent someone out to Portland, Oregon to “interview” me at Instrument, the agency where I worked at the time. I signed an NDA and unpacked how I managed to develop the local server as much as I had. Squarespace continued to consult a bit with me while they began developing real dev tools for the platform in-house.

Eventually they released their dev tools and I deprecated the open-source tools I had been maintaining that last two years. I was happy to do so seeing as NodeSquarespace was a lot of work for a “side project”. To this day I use the official dev tools for the platform but with my own template SDK lovingly named Boxen.

Domain, DNS

For this I use Namecheap. I found their service to be the most simple and easy to use, so I stuck with it. I keep all my domains here and that makes things really easy. For this site in particular, I have the domain connected to Squarespace, verified with Google and email is configured for Gsuite.


I’m in love with Sketch. I’ve really come to enjoy Sketch for this type of design work and highly recommend it. As for my history with design, I went to Lane Community College in Eugene, OR. There I received an Associate of Applied Science degree in Graphic Design. That doesn’t mean much, but what I really got out of my experience at LCC was one odd phrase, “It’s all about the fishness”. Don’t ask… or do. There’s a story there and you may persuade me to tell it to you.

I moved to Portland, Oregon the summer after I graduated LCC. I was working full-time on the island of a gas station in Springfield, OR and quickly saw my life slipping away from me. I transferred credits and continued Graphic Design education at the now defunct Art Institute of Portland. There was a lawsuit there and a lot of shady financial stuff that you can read about yourself online. Needless to say, I quickly bored of the student body in the Graphic Design program at the school.

Luckily I had been teaching myself web development, I needed a portfolio site for my Graphic Design work after all. I had read designing with web standards by Jeffrey Zeldman ( yes this was that long ago ) and decided to change my major. I walked out of my portfolio class, straight up to my program director and quit the Graphic Design program. Soon I was a clueless new addition to the Web Design and Interactive Media program ( WDIM for short, wid-uhm ). Thus began my dive into the world of web development and technologies.


This website is developed by yours truly. It’s a fully custom Squarespace template and the source code is public and available to pour over on Github. As with all the Squarespace sites I dev, this one is derived from my Boxen scaffold. There is a lot more going on, however, and it’s also worth noting that the client-side application is of my own design: ProperJS. I recently met someone who works with a close friend of mine and had just finished checking out my Github profile. We exchanged hello’s and then she casually stated, “I like your minimalist approach to Javascript”. This is true.

I’ve been developing professionally for a decade at least and one thing has never changed about my approach — it’s personal. To be clear, I fundamentally believe that less is more in this world. I forged a path as a custom developer, avoiding jumping on the bandwagon of any hot libraries or frameworks. Well, aside from jQuery, but that’s a deep cut and we’re all guilty of that practice. But the difference is that I studied jQuery deeply. Then I made my own version with only the essentials in 7-11k minified depending on feature sets. I now use Hobo.js on all my projects.

I manage ProperJS, an organization dedicated to pure Javascript modules that are functional, reusable and pluggable. Many useful things in ProperJS are built of several other things in ProperJS. I approach development with a “blank canvas” mentality. As blank as a dev canvas can be realistically. I don’t want to re-invent each time. Because of this I was an early adopter of things like Ender.js ( RIP ) and developed my own Grunt.js plugin to manage JS apps the way I wanted it done. For awhile I switched to pure npm scripts in a rebellious effort to wash my hands clean of the bloated task runners of the time. Eventually, Webpack was easy and functional enough that I pulled that back into my sandbox workflow.

I write object oriented Javascript applications and I’m addicted to Node.js. I develop and use my own Javascript libraries and have over forty packages published on npm. I’m a self-proclaimed Javascript ninja and something of a maverick of my generation and time in the industry. That’s not ego, its just the truth. Because that’s me — an honest developer, working with integrity and never sacrificing on my standards and values in what I do.