History

At the end of 2015, I was working as a maintenance technician for a property management company. I had been programming as a hobby since I was 14 years old and had developed a few websites and tools from scratch using HTML, PHP, Node.js, and Java. My neighbor told me her mother worked for a company in Boulder that was looking for a programmer and that she had recommended me as a candidate. I took on a project for one of their clients who had been working with an offshore company for over two years and had received a product built in CakePHP that was outdated and did not function as specified — or at all in some cases. I rewrote the entire project in the latest version of CakePHP in just a few months and delivered it — to the delight of my new company and their clients. Despite some eventual financial disagreements between Canine Rehab and DesignInk, I was offered a small salary and the prestigious title of Chief Development Officer at the company. I even had my own business cards!

Over the next few years, I took over the management of dozens of WordPress sites, built an Angular application, designed my own PHP-based framework, crafted nearly a dozen custom (and in-depth) WordPress plugins, and worked in e-commerce using WooCommerce and Shopify. I even once wrote a macro in BASIC to convert a store’s inventory into an importable CSV inside LibreOffice.

During this time, I was hands-on with code and present for important meetings with almost all of our clients. Though the company enjoyed several years of success, COVID took a hard toll on everyone. After our CEO, Ingrid DiPaula, confessed she had been paying us out of pocket for a few months, much of the company was let go — including my position — and the office was closed.

I still keep in touch with Ingrid and her son, and I miss the fun and unique experience I had in North Boulder, but my life has moved on, and I’m now achieving larger goals.

My Open Source Initiative

During my time at DesignInk, it was always my objective to release any of our internal tools as open source to the world. In return for all of the useful features I have leveraged in my life, I believe that it would make my efforts worth the time if I was able to help even one individual or organization by providing any single service free-of-charge. Of course we also had projects which were proprietary and funded by our clients to give them a competitive edge, but many of the tools we used to help them build came from our open source belt. Many of the projects I will describe below are a part of this endeavor, and if you would like to see the work directly, I encourage you to visit the DesignInk Digital GitHub which I have solely managed and curated software for.

Visit the DesignInk Digital GitHub page

A screenshot of the DesignInk Digital GitHub page

The DesignInk WordPress Framework

PHP

WordPress

WooCommerce

Abstraction

Open Source

This is, without question, the project that I am most proud of from my time at DesignInk Digital. As our projects became increasingly more complex, it because more difficult to manage the process of quickly building and organizing the products we were delivering. This was my ultimate attempt at using an object-oriented approach to allow seamless repetition of basic tasks such as enqueuing scripts/CSS, registering post types, activating plugins, creating administrative pages, and so much more. This also allowed me to build a system which facilitated compartmentalizing code based on function to avoid monolithic files and folder structures. Using singletons, proper naming conventions, and our own PSR-4 autoloader, the project was a resounding success in enabling me as the sole developer at the company to construct highly complex applications in expedited time frames. It saved me at least 100 hours of development across 2 projects alone, and created opportunities for smaller projects to spin up with a snap of my fingers. I wrote an article describing how to create a plugin using my framework, and if you would like more detail, I would be glad for you to take a look.

Read more about the DesignInk WordPress Framework

ClearVont

Angular

MongoDB

Node.js/Express.js

UX/UI

AWS

I want to start out by saying that this project was commissioned to us by a great guy who I really enjoyed working with. The application was structured as a 3-part forum, with challenges, solutions, and probing Q&A where users with verified LinkedIn could communicate with each other and establish expert credibility by creating successful interactions. The site experience was designed as a complete SPA using Angular, and had a number of unique features implemented into it, from server-side rendering (a new feature in Angular 4 at the time of development), to a unique “mega search” that was one of my UX ideas for navigating multiple forums across multiple industries, and an exclusive LinkedIn login enabled with OAuth2. The application was hosted in AWS using Elastic Beanstalk with a load balancer, serving static files from S3, and hosting Node.js and MongoDB through EC2 instances. Unfortunately, the project came to a halt when funding ran out for marketing a few months after the launch, and our client chose to remove the project and took it as a backup. I hope some day he has the ability and desire to pick back up where we left off, even if it’s with someone else. 💙

Read an article I wrote on sending emails with Nodemailer

WooCommerce Booking Invitations

PHP

WordPress

WooCommerce+Bookings

React

UX/UI

This was a pretty fun project as well, which heavily utilized our DesignInk WordPress Framework. The idea was based on our client was selling classes teaching customers how to make mozzarella from cheese curds — we got to try it out and it was a fun experience. The process revolved around customers booking a time with our client for a session over zoom — either privately or with other customers — and being able to purchase additional class invitations and souvenirs for their acquaintances. In addition, customers could use an generated link for inviting other acquaintances to join the same class on their own dime. The key to this was starting with WooCommerce Bookings as base functionality, then programming in our own concepts of parent/child orders to link everything together. One of the biggest problems we mitigated was streamlining the checkout process to avoid losing customers exponentially with every single page change. This came in the form of a React SPA designed to guide the checkout events so that every customer action was guided smoothly, from choosing products to inviting others to join the class without page interaction drop-off. I do not know who Big Mozz markets with currently, but I would recommend their class as a great team-building exercise if you like cheese!

Read an article I wrote about our development experience with Big Mozz

WooCommerce Memberships Post Series

PHP

WordPress

WooCommerce+Invitations

UX/UI

This plugin was the penultimate project I developed using the DesignInk WordPress Framework, just before Big Mozz. Our client was a yoga instructor who was launching a web series for their new classes in Avita Yoga — which was relatively new to the western world. The website customers were guided through a series of time-gated classes which comprised the lesson plan they were able to complete all at home on their own time. The functionality allowed administrators to configure a variety of custom email reminders and upsells for each series at specified points, and enabled viewing and control of individual user progress. Each post series was endowed with an array of customizable options giving availability to timing controls, retroactive series access — with look-ahead and look-behind, post favorite controls for customers, and verbiage control on page displays. The interactivity included in this plugin led to some of the highest customer engagement across all of our websites and the highest grossing product developed at the company.

DesignInk Plugin Update Server

PHP

WordPress

GitHub

APi

Open Source

This open source project was awesome. That’s all. Just kidding. It met a very specific need at our company and would be a valuable resource to any company developing proprietary WordPress plugins. While developing our custom plugins for specific clients, the need became apparent to have the ability to distribute updates to our plugins through the WordPress dashboard along with the other plugins available on the sites. This is not possible unless your plugin is listed through the WordPress organization’s public directory and is available to all WordPress users. This project was written in 2 parts: the first was a server plugin to configure GitHub access to private repository projects, and the second was a public library which could be added to private plugin projects via Composer. The update server URL is hard-coded into each plugin using the update server library as a one-line code configuration.

Plugin_Helper_Update_List::add_plugin( 'woocommerce-memberships-post-series', 'https://designinkdigital.com/' );

As native WordPress API communication is sent unencrypted, it is a provided feature and recommended to supply a shared SSL key in the WordPress settings for the server and plugin sites to share. This key is also responsible for encrypting your private GitHub API token every time it is sent out. A lot of fun features were included with this project to make your plugin distribution as professional as possible, including banners/icons, custom headers, and plugins_api information.

View the plugin update server project on GitHub

View the plugin update helper library on GitHub