Purple Turtle Creative
Custom WordPress Plugin API to Fulfill Downloads and Remote Updates
January 2021
After developing Completionist, I wanted to make it available for free download. Instead of listing it in the WordPress.org plugins directory as I had done with Grouped Content, I wanted to create my own resources server API.
To implement the client-side connection, I used YahnisElsts’s plugin-update-checker package on GitHub. This gave me a fantastic starting place to understand what API endpoints I needed to create.
I packaged the resources server code into a WordPress plugin which runs on Purple Turtle Creative. It includes custom WordPress REST API endpoints to dynamically deliver the plugin’s details from the requested release’s ZIP file.
The endpoints are secured with nonces to ensure the download link expires. Direct requests for the plugin ZIP file are also denied via NGINX rules, so the release package can only be downloaded via a valid request to the resources API. Lastly, I implemented Google Analytics’ Measurement Protocol API to monitor the API’s traffic and performance.
Purple Turtle Creative
January 2021
I wanted to track Asana assignments related to my WordPress website as I worked on it. To my amazement, a specialized solution had not been built yet, despite an obvious need in the market.
Ever since then, I have worked on my own solution to integrate Asana tasks with WordPress. Completionist is a WordPress plugin that I offer for free download which features a dashboard widget, post edit panel (aka “metabox”), and custom automations.
Despite being a pretty small project thus far with minimal efforts to make its presence known, Completionist has received some notable attention:
Purple Turtle Creative
December 2020
The Purple Turtle Creative website was originally created with the Elementor Pro plugin with Elementor’s Hello theme. Since the website no longer needed design changes, it was time to commit the design to custom code. The main goal of the conversion was to remove dependency on the Elementor plugin. This would ultimately optimize site performance, decrease expenses, and reduce upkeep.
Throughout development, Google Lighthouse reports were my main KPIs (key performance indicators). I optimized CSS code coverage by strategically using SCSS partials to compose single stylesheets per theme template. Additionally, I dequeue third-party scripts and stylesheets on templates not using them. My theme scripts use only vanilla JavaScript, so I could remove jQuery as a frontend dependency, as well. To efficiently load the site’s fonts, I limited the imported character sets and defined proper preconnect and preload link tags.
With many other optimizations implemented, the result is a blazing fast, custom Gutenberg WordPress website that loads in less than half a second. For more information, please read my blog post for a thorough report of the performance improvements.
Client Work
Facebook Messenger Bot to Register WordPress Users via ManyChat API
November 2019
A client of mine had a grand vision for their Black Friday marketing initiatives. They were having a lot of success with Facebook Messenger and used ManyChat to automate conversation flows. For Black Friday, they wanted to give their Facebook contacts an easy way to join their WordPress website.
With their marketing team, I configured a ManyChat flow with Dynamic Blocks to process API requests to their WordPress website. The flow collected various information from the user and then sent a request to a custom WordPress REST API endpoint that I developed. Depending on the information provided, the custom endpoint would register the user in WordPress, tag the user in Keap, reward Gamipress points, and then respond with a success message containing their generated password and a sign-in link.