Current Work Situation
The months of December/January were pretty intense for me. Two client contracts I desperately needed fell through. I filed for unemployment for the first time ever.
I reached out on Twitter regarding any openings, and have several promising leads, but alas, nothing concrete has formed. Right now it’s a wait and see game.
That being said, if you’re looking for a WordPress freelancer, please check out my ever-changing services menu.
Let’s move on to Launch With Words.
Launch With Words – The Idea
Bridget Willard, whom I have hired several times to manage my Twitter account, DM’d me out of the blue with an idea for a WordPress plugin.
I have reached out to her before via Twitter DM and asked her, “Is there something I can program that will make your life easier?”
At the time, she didn’t have anything in mind, which was fine.
As time flew by, Bridget DM’d me and said (paraphrasing): “I have an idea. And I want you to build it.”
Enter panic mode. My first internal question (damn you imposter syndrome) was, “Why me?” The next internal question was: “Okay, what can I possibly offer Bridget in terms of value.”
Can you build a plugin that once activated creates 12 draft blog posts?Bridget Willard (paraphrasing)
I’ve known Bridget for some time, but I could feel her excitement around the project.
After pondering for a bit, I asked Bridget my main question: “What is the difference between this plugin and a regular WordPress importer?” She agreed it was an importer plugin, but wanted to build a business idea around it.
From there on out, I ran Bridget through my engineering process.
I tend to over-engineer, so you’ll have to hold me back if I go out-of-bounds.Me (Ronald Huereca)
In a sense, Bridget wanted an importer that would create 12 draft posts once installed.
Launch With Words – Planning
When it comes down to brainstorming a plugin, my favorite method is mind-mapping. I began to think in my head how to create an importer with value and this is the mindmap that I created based on the idea of having 12 blog posts upon activation:
Bridget LOVED the mindmap. There were so many ways to go about this plugin: we could make it simple, or super-super complicated.
The question in my head at the time was, “Where are these posts coming from?” In other words, there had to be a source. Would the posts be embedded in the plugin? Where would I grab them from?
After discussing with Bridget my ideas, we agreed on a JSON format that someone could upload after the plugin installation (I didn’t like the idea of auto-installing the posts).
Since she planned for more “content packs”, the goal for me was clear: I had to build a tool that would help Bridget export her blog posts as a JSON file.
I invited her to the Trello board I created for the project, and we planned out an MVP with room to grow.
The Helper (Export) Plugin
Since we weren’t going to do anything fancy like pinging her REST API for content, there had to be a way to get this content out of her site. And since she was planning on releasing more content packs, I told her that we’d need a source of truth and a way for her to write the posts inside WordPress with the goal of exporting out the content packs at whim.
Enter the helper plugin, which was made completely custom for Bridget.
The plugin did the following:
- Set up a post type she could write content into
- Each content pack was a category
- Can re-order posts within that category
- Can export the posts within that category as a JSON file
Rather than reinvent the wheel, I decided to use a tool I built previously to reorder the posts within each content pack (i.e., category).
From there, it was testing content and building the exporter for Bridget to use on her site so that she could create as many content packs as needed.
By this point, Bridget was super excited and began publishing on social her plans. I was like, “Oh crap, I better start building something!”
She had no idea I was building her this helper plugin, but she trusted me with the implementation. In my head, there had to be something to get the content out of her site.
I customized the exporter for Bridget’s eyes only, but it was fairly involved:
- Creating the Custom Post Type and Taxonomy (easy peasy)
- Enabling the block editor for the post type
- Hiding the posts from the REST API
- Reordering the posts within each content pack (e.g., January, February…)
- Exporting the posts within each category (content pack) for consumption
We had a Zoom call and I helped Bridget install the helper plugin. It took a bit to click on her end that each category was a content pack and that she could just write them all inside WordPress.
By this point, Bridget was really excited. While there was no way in hell I could match Bridget’s enthusiasm, I was happy to help her build her dream plugin, which had yet to be built by that point.
With Bridget’s site being the source of truth for all the content, she got busy writing the content. I began writing the importer.
I began the process of writing the plugin foundation with the expectation that it would land on WordPress.org. As I was writing the plugin, I started having a huge anxiety attack, which I told Bridget about.
She wrote back, “Take care of yourself first. It’s done when it’s done.”
After a med adjustment from my doctor, I steamed ahead.
I asked Bridget if I could have a little bit of creative freedom creating the WordPress admin appearance. She replied, “Of course. I trust you.”
I wrote the basic importer for the JSON parsing and prettied up the admin to match her brand. It was a hybrid of the default WordPress UI with a hint of purple to match her branding.
I decided on two tabs: one as a plugin introduction and another for the actual importer plugin.
With the importer and exporter coded out, it was up to Bridget to fill in the blanks as far as content goes. She liked the idea of creating her posts in Google Docs, placing them inside the block editor, and finally exporting the JSON file so I could do some QA.
Surprisingly (from my end), the exported JSON imported perfectly on the first try. Woot!
Bridget now had to set up her site for the content packs and she began recording YouTube videos and building her landing page.
Thankfully, the plugin team accepted the Launch With Words plugin on the first go.
The plugin and idea behind it was featured on WP Tavern.
Folks on Facebook deemed that the idea was genius.
Twitter folks began praising the plugin:
I appreciate the trust Bridget placed in me with creating the Launch With Words plugin. It wasn’t the biggest project I’ve ever tackled, but was likely the most visible launch in recent memory.
She plans on releasing more content packs as a premium service, and is tying it with her book while also leaving the door open for other content marketers to curate/create the content packs on customer sites.
Thank you for reading and go try out the plugin 🙂