Developer Diaries – Launch With Words and Other Projects

Words

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:

Launch With Words Mindmap

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.

Trello Planning
Trello Planning

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.

Launch With Words Exporter
Launch With Words Exporter

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:

  1. Creating the Custom Post Type and Taxonomy (easy peasy)
  2. Enabling the block editor for the post type
  3. Hiding the posts from the REST API
  4. Reordering the posts within each content pack (e.g., January, February…)
  5. 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.

Launch With Words Helper Plugin
Launch With Words Helper Plugin

With Bridget’s site being the source of truth for all the content, she got busy writing the content. I began writing the importer.

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.

Launch With Words Home Tab
Launch With Words Home Tab
Launch With Words Importer
Launch With Words Importer

Bridget’s Role

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.

Reception

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:

Next Steps

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 🙂

Ronald Huereca
Ronald Huereca

Ronald Huereca

Ronald has been part of the WordPress community since 2006, starting off writing and eventually diving into WordPress plugin development and writing tutorials and opinionated pieces.

No stranger to controversy and opinionated takes on tough topics, Ronald writes honestly when he covers a topic.

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.