I Developed And Successfully Launched Siren Affiliates

I conceptualized, researched, and developed Siren Affiliates, a commercial WordPress plugin with a robust feature set that allows people to create incentive programs. This plugin was a real doozie to build, requiring a significant amount of research, and forcing myself to sit back and completely re-imagine what a good affiliate solution is for WordPress.

Researching the Product

For me, the challenge with Siren wasn’t a lack of understanding, it was broadening my mind on what an affiliate plugin could be. I previously worked on the AffiliateWP team, and as a result already had a lot of experience with how these plugins work, but it also gave me some insight on the limitations that personally frustrated me as a user.

So, in-order to be able to effectively build Siren, I had to start far, far away from code. I started by reaching out to some plugin owners, and began to initiate conversations with them about this solution, and some of them even spent some time in 1:1 meetings with me to help me brainstorm the things their customers wish they had in-relation to affiliate programs.

I spent a lot of time taking lots, and lots of notes. I generated so many ideas on the things that an ideal solution could create. It took at least a full week of taking notes, coming up with ideas, and considering my options before I finally decided I had exhausted the possible ways a partnership program can be done online.

Mapping The Entity Relationship Diagram

Once I got a clear sense of all of the possible use-cases that fall within the very broad umbrella that I wanted Siren to cover, I set out to build a data structure that could encapsulate all of the individual pieces of data needed to be able to cover all of these different cases in as elegant of a fashion as I could. This diagram, and the flowcharts helped me understand how everything would work when Siren is “finished” as far into the future as I could.

This took a lot of time, and I didn’t necessarily build all of this for launch, but by the time I was done with this, I had a very clear map of where Siren was heading, and this clarity allowed me to figure out how to build Siren as I go along.

Picking the MVP

With this chart in-place, I looked through all of the details, and determined that I would start with the most-basic program that I could build, that is also immediately going to help people see a familiar use-case of Siren while also showcasing what the future looks like.

So, I opted to go with WooCommerce, and enough functionality to build a basic affiliate program with Siren. With that in-mind, I went back to my chart and selected the key pieces that were necessary to accomplish that task.

What’s great about this approach is that I’m able to get the visibility on how to build Siren, but I don’t have to build all of it now. I know what it will look like well-enough that I can make informed decisions, and ensure that the amount of refactoring I have to do over time is minimized.

Building Siren

When designing and planning Siren, one thing I wanted to make sure I could actually use Siren outside of WordPress in the future if I wanted to. I admit, this is probably overkill, but I wanted to make sure that if I ever needed to pivot Siren into a different platform (maybe as a SaaS, or something) I would be able to make that adjustment quickly.

So, before I got too far, I started by building out PHPNomad, an open-source library that makes it possible to do exactly that. For example, PHPNomad has an ORM with abstractions built in such a way that if the data sources ever needed to change from a database to, say, a REST API, in the future, it can.

With a solid foundation in-place, I moved on to building the actual MVP of Siren, and by the time Siren launched, there was nearly 1,000 PHP files added to the plugin. Integrations, abstractions, traits, strategies, database classes, everything. You name it, I’ve probably employed it somewhere in this plugin. All built in a way that can work as a single WordPress plugin or potentially as a micro-service architecture if I ever decided to break it up in that fashion.

It was a big push, and I would argue that some people would say this might have been overkill, and you’d definitely be right in some respects. If I were going to do this again, I would have probably simplified this even further than I did, but the good news is now that this is all set up, I am capable of building out new integrations for Siren with minimal effort, and am in a great position to do just that.

Launching, and Documentation

Once Siren 1.0.0 was ready to go, I gave myself a few weeks to work on the documentation for the site. I felt that documentation was particularly important for Siren because it introduces a lot of novel concepts that have never been seen before, especially if you’re coming from something like AffiliateWP. Explaining all of the numerous concepts, and how to use the software was as critical to the success of the launch as the actual product itself, so I made a point to give myself time to do this before launching.

This also gave me the time needed to schedule several podcast interviews, and do demos of Siren in the weeks leading up to the launch without losing focus on building Siren while I was at it.

In the months leading up to the launch, I started promoting the product a little bit here and there, and then once the code for the initial release was ready I started promoting it heavier, and worked on developing my email list. On launch day, I sold many copies, and the distribution worked without a hitch. I ran into a couple very minor bugs that I was able to patch up quickly, but other than that the plugin has been working without any major issues.

Conclusion

Overall, I don’t think I could be happier with the results of the launch of Siren. In the discovery phase, I got a deep understanding of the problems I’m solving, I put together a comprehensive map on how I can solve those problems, and from there I built the key pieces needed to make the MVP version of the product. My comprehensive documentation, combined with rigorous testing, good development practices, and solid documentation ensured that my launch was a success, kickstarting Siren into existence without any major hiccups post launch.

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *