Creating a Hosted Events Platform with Zach Tirrell and Loxi

Sponsored by:

Today we’re talking to Zach Tirrell from Modern Tribe. We talk all about how they re-imagined that plug-in as Software as a Service called Loxi. We go over how they decided on which features to support, the importance of good design, and the tech stack, like using React. Speaking of React, We also talk a bit about Gutenberg.

Show Notes

Pre-Intro: Hey everybody – before we get into today’s episode I want to tell you about my new podcast, Creator Toolkit, It’s a show where I take you through building specific projects on the web, or help you make important decisions. The current episode is about self-hosted vs. hosted. I’d love if you checked it out at creatortoolkit.com or wherever you get your podcasts.

Intro: Hey everybody and welcome to episode 89 of How I Built It. Today we’re talking to Zach Tirrell from Modern Tribe. Modern Tribe is a supporter of this show through their WordPress plugin, The Events calendar. In this episode we talk all about how they reimagined that plug as Software as a Service called Loxi. We go over how they decided on which features to support, the importance of good design, and the tech stack, like using React. Speaking of React, We also talk a bit about Gutenberg.

Sponsors: This week’s episode is brought to you by Traitware and Pantheon. We’ll hear about them a little later on, so for now…on with the show.

 

Joe Casabona: Hey everybody. Welcome to another episode of How I Built It, the podcast that asks, “How did you build that?” Today my guest is Zach Tirrell, director of product for Modern Tribe. Zach, how are you?

Zach Tirrell: I’m doing great. How are you?

Joe: I am fantastic. It is the end of June as we record this, so summer is going by a little bit fast. But I’m enjoying the nice weather and I got to enjoy a Yankee game yesterday. So I’m all excited.

Zach: Wow, that’s fantastic.

Joe: Yes. So I’m very excited to talk to you today. Modern Tribe has been a supporter of the show, but aside from that they are doing some very cool things. Zach, why don’t you tell us a little bit about who you are and what you do?

Zach: I oversee all the products work for Modern Tribe on that side of our business. That means primarily The Events Calendar plugin and the various add-ons that folks are familiar with there. We have a few other smaller plugins, like Image Widget, for example. But mostly it’s events based, The Events Calendar event tickets, a lot of event based plugin work. And our newest offering which is a SaaS based solution called Loxi.

Joe: Nice. And Loxi is going to be primarily what we’re talking about today, but just to touch on something that you mentioned. Modern Tribe does both product and service work. Is that right? You guys do agency work?

Zach: That’s right. We have a we have a very large agency business here, that’s about 70% of our business and then our product side is about 30%. Almost 40%.

Joe: Nice. Very nice. So let’s jump right into it then. Why don’t you tell us about Loxi?

Zach: Sure. Loxi is a SaaS based calendar, like the WuFoo Form equivalent for calendars. Where you don’t have to have any infrastructure to set it up, you create an account you get an embed code and you can drop it on any site. A no-fuss based calendar. For this particular audience, it’s interesting to know that we built Loxi on top of The Events Calendar and the WordPress REST API.

It’s a product that leans into our existing codebase and experience in WordPress, but has an entirely brand-new fresh user interface, and no need for folks to worry about their own scaling or uptime or plugin updates or any of those things. Suddenly they go away and you just get a nice, easy, beautiful calendar to work with and put on any website. It’s not limited only to WordPress. You can put it anywhere.

Joe: That’s fantastic. Because essentially The Events Calendar is a WordPress only plugin.

Zach: Correct. The Events Calendar is a WordPress plugin. We’ve got a lot of reach there with 600,000 active installs, but Loxi opens up the ability for us to take that into a whole lot more corners of the internet.

Joe: Nice. When did this idea come into fruition? Where you’re like, “Let’s take The Events Calendar and turn it into a stat so we can reach that wider audience.”

Zach: we were talking about that right on day one when I joined Modern Tribe. Which was just over three years ago. That was the vision when I joined the team.we really wanted to take The Events Calendar and move it to a broader audience and to pivot it into SaaS.

And not entirely pivot, because we totally still plan to enhance and release The Events Calendar. It is the underlying core here of the SaaS. So both benefit at the same time. But the goal was definitely, from day one as far back as three years ago, to get us there. There was a lot of work we had to do first. But one of the interesting things that happened is just over a year ago, Jeff Graham who ran our support team here, was looking for a new opportunity.

He said, “I love managing support, my passion is support. But I want the opportunity to maybe build something. Like run it, do the strategy on it. Coordinate, design,” all those sorts of things. So Jeff came to us with that and then simultaneously we were thinking, “It’s finally opportunity for us to add another team to the product side, and have them build something new.

Some completely new solution. And we said, “The stars are lining up.” We had three options on the table. Jeff with his passion for support and our customer audience, one of the things he looked at was he said the opportunity to rebuild The Events Calendar Calendar’s user interface and also serve this need of expanding beyond WordPress sounded like an exciting journey for him.

So he took a lot of his customer experience and knowledge about what they wanted out of a solution, and brought that into this new role for himself. And he’s been the strategic leader on this. I clear a lot of hurdles for him and try to keep him protected, But Jeff very much was the strategy leader on Loxi and was able to come at it.

And I think anybody who uses that product can see that customer centric vision there. The interface is as minimal as we could make it, it tries to be really easy. We want it to be quick to create an event and also beautiful to do that, and to experience that. Versus WordPress, which we all love, But the WordPress admin UI is not the pinnacle of user interface design.

Joe: Absolutely. So there’s a couple of things that I want to mention there. First is, you’re absolutely right. People say that WordPress is very easy but it’s mostly people within the WordPress community. And we’re hoping that Gutenberg will make that better, and we’ll touch on maybe Gutenberg development a little bit later.

But the WordPress interface is rightfully going through some changes right now, which is good. The other thing that I want to mention is that it’s something that I hear more frequently on this show than is the perception. But you basically used your customer support knowledge to build a better product.

Zach: Absolutely.

Joe: That’s great. We touched on that a little bit with the GiveWP or the Give guys, GiveWP.com when they were on the show. And it’s been a reoccurring theme, “Listen to your customers. Listen to your customer support. Make sure the customer support guys are talking to the developer folks and you’ll end up with a better product.” I’m very glad to hear that echoed again here with Loxi.

Zach: Yeah absolutely. I think it’s expensive honestly to do a bunch of user testing and detailed UI work with groups and audiences, and do all of those kinds of usability tests. And we’ve certainly done some of that stuff. But being able to take someone who has been on the frontlines and has heard about all the rough edges, and have them come in and be like, “Here. Try to build this thing from scratch with all of that in mind.” it gives you a lot more implicit understanding about what customers want.

Joe: That’s fantastic. Very cool. Aside from that was there other research that you guys did? Did you guys look that competition, or you said that this was the plan basically from the day you came on. So what was that process like?

Sponsor: This episode is brought to you by Pantheon. WordPress 5.0 and the new editor, Gutenberg, are coming. Are you prepared? Do you want to learn about the changes in advance? Pantheon has gathered resources to help you prepare including webinars and tutorials. Pantheon has also made it easy and free to try Gutenberg with your site before the official launch. Visit pantheon.io/gutenberg. Let them how How I Built It sent you!

Zach: We did. Yeah. We’ve been we’ve been looking at this for a long time. The SaaS based calendar space is not empty. There’s plenty of folks who exist in there and there are people doing some really great stuff. And honestly one of the things we did early on was we reached out to a bunch of the existing players and said, “Is anybody tired? Does anybody just want to want to move to an acquisition?” which honestly wasn’t exactly what we wanted to do, because we wanted to leverage The Events Calendar. We wanted to take our plugin and put a new UI on top of that.

But if we could have taken a shortcut and snatch somebody up We would’ve. We talked to a half dozen different folks in the space to see if anybody was interested in going that route. Nothing really emerged from that, but honestly I had a lot of great conversations with a lot of players in the space.

So we’ve been thinking about it. One of the other things we did way back, and if You look back at our road map you can see some of this stuff. Where we’ve said, “If we’re eventually going to build this SaaS we need full support for the WordPress REST API. We’ve got to do that.” So we added REST API support into the plugin and we released that publicly, and there was a handful of other things we did.

We have actually not yet released this in our plugins, but we rewrote the whole way our backend recurring events infrastructure works. Which is a deceptively complicated feature. And Loxi is actually running on a new iteration of that backend. We haven’t yet released it publicly, we’re intending to but we’re just trying to work out all the backwards compatibility bugs, and make sure that everybody gets a smooth migration there. So that was fun.

But honestly, one of the things that I think is really interesting about what we did here, is since we were able to build a completely parallel team to support and build Loxi, we had this opportunity to hand pick a group and say, “These are the particular skills we want to build this thing from the ground up.” I don’t know if you’re familiar with Scott Kingsley Clark, who is famous for Pods?

We brought him in full time. He’s been working on Loxi for the past year. So we had some pretty strong technical chops that were able to come in and help us do a lot of the infrastructure, and keep contributing back to our core plugin. So he was constantly trying to think about, “How do we scale it? How do we build many, many calendars on top of this plugin?” So that was really fun to have him join the team and lend his expertise.

The other one is David Hickox who is a really great designer. He had been working on our agency side for a long time, and was also really interested in this challenge. Jeff and I got him real excited about it. So he was able to come in with almost a blue sky, thinking about, “How would I design the interface for a plugin?” He and Jeff just went back and forth on it for many months. Lots of prototypes. Lots and lots of prep work before we ever started writing a lot of a lot of code directly related to Loxi, but there was lots of infrastructural stuff we were working through.

Joe: That sounds fantastic. And this perfectly moves us into the title question, which is, “How did you build it?” You’ve assembled a great team of talent, you are working off of a preexisting codebase with The Events Calendar and working with the WordPress REST API.

How did you put that all together? How much of The Events Calendar needed to be rebuilt in order for this to work properly? You alluded to that, but just the overall process of converting a plugin to a SaaS.

Zach: The big things with the existing Events Calendar plugin that we needed to address was first getting it base-compatible fully with the REST API for updates, edits, deletes. The whole gamut. And while we were doing it, we knew we were going to be moving into a SaaS and we wanted to be able to move quickly. So we added a lot of testing. There’s lots and lots of testing that was added through this process.

We’re not at a point where we’ve got full coverage or anything like that. As far as The Events Calendar goes. But as part of this effort we did add a lot of testing to the base plugging. The bigger thing we had to do around The Events Calendar was address how to handle what we perceive eventually as reality, which is large data sets.

We knew that it needs to be very fast. The Events Calendar itself is always optimized for the absolute fastest way to retrieve data. Now we’re using the WordPress data structures with custom post types and all this, and post meta. So it’s not always the fastest. So we have to figure out, “How are we going to scale that aspect of it? How are we going to be able to do that?”

And Scott wrote an Events Calendar integration for ElasticSearch. I think we call it Elastic Events, which we wrote as an ElasticSearch, ElasticPress plugin. That was a big piece we had to build to make sure that this was all going to be fast. We actually just released that plugin for free last week. And we were excited about that. It was another piece where we were like, “Well we had to build this for ourselves. But anybody else doing this at scale should benefit from the work we did.” So we released that.

The piece where we had to do a lot of full rebuild work was around the interface. Loxi, the application is entirely React based. So we had to we had to rewrite everything. We brought on a React dev who’s crazy ridiculously good at his job. He pretty much all by himself rewrote all of these interfaces and views and stuff, purely in React.

We’ve got this snappy interface that’s real tight and feels modern, and it was a nice chance to reimagine that stuff. That was also a very costly endeavor, it took a lot of time and it took a lot of effort. We probably could have built things a lot cheaper if we hadn’t gone that route. But it’s what we wanted to do. It was our vision of what of what the product was going to be.

Something where that interface felt like it was getting out of your way, instead of getting in your way. And then it was very easy, and friendly and light to use, airy almost. And React gives us much more of that experience. Where you don’t have full page reloads happening. The interface just clicks right along.

Joe: that’s very interesting to me. I’m just getting into React development now, because I’m very late to every party. There’s a million JavaScript frameworks out there so I try to see which one is going to be the winner before I sink a lot of time into it. And it looks like you, maybe clairvoyantly, picked the winner. When you chose to use React, had Gutenberg been announced yet? Did you know? Or were you just like, “This is something backed by Facebook. It’s probably going to be around awhile.”

Sponsor: Are you as frustrated with usernames and passwords as I am? We believe you are and we created TraitWare Secure Login as the solution for all of us. TraitWare enables you, your staff and your customers and members a secure way to sign in that replaces usernames and passwords. With a simple, mobile-app or PC login, you can provide a better experience, increased security and reduce the risk of lost or stolen passwords.   TraitWare is the Secure Login you have been looking for. Check out a quick video on how to sign in with TraitWare and register to receive a How I built it coupon code at: https://www.secureloginapp.com/wordpressSay Goodbye to Usernames and Passwords. Say goodbye to Phishing, Man In the Middle or Brute Force attacks. Never again create, forget, share, or lose a password for your WordPress site.

Zach: No, it had not been announced yet. If we go a little bit further back in our history. We, Modern Tribe, not the product side but the agency side. We decided that we were going to add React to our tool belt about two years ago now, and we relaunched our Try.b, our Modern Tribe company website, as a fully React based website on top of WordPress.

And one of our very strong JavaScript developers, Sam, wrote a fantastic article that got us a bunch of attention Two years ago about how we built that, and all of the details. And that’s a pretty great article. So that got us a bunch of attention and It also gave us some internal skills around it. We’ve then worked on a couple of agency projects that were really heavily React based, and so internal to Modern Tribe, that was the toolset we’d started to build.

We weren’t doing anything necessarily on the product side with it yet, but we said, “That’s what agency is doing. Those are the skill sets we have. If we hire somebody we actually know how to evaluate the skills. We could bring this guy in, and if he needs mentorship or starts to go off the reservation, we’ve got somebody who can help.” thankfully that wasn’t the case. Neale’s just ridiculously good.

He actually has helped even move some of the agency thinking forward in ways that are just a fun giving back, and that’s a common thing for our organization to do. They make an innovation and we grab a hold of it, and then we go a little further, and then shoot it back over the fence. There’s some give and take there.

But yes. So all that happened and then Gutenberg got announced and we were like, “It looks like we chose the right technology,” which was helpful. And then that’s helped us to start getting into some of that work. And honestly I feel like we are in a position to jump on that maybe a little bit more with both feet than some of the other folks in the space.

Joe: And another thing that you mentioned is that you wanted to make your plugin REST API ready, fully. And that’s also something that you need to do in order to support Gutenberg. You need to have that turned on when you define your custom post types, for example. So did you guys just jump feet first into Gutenberg development as soon as you thought it was stable enough to do so?

Zach: Yes. So what we did with Gutenberg is actually we had mostly held off. We were talking about it a lot, holding and circling it, but not 100% sure what we were going to do. And then I went to WordCamp US last December, and while I was there I was like, “This thing’s actually ready to go now. It’s still moving, there’s still a lot to be done here, but I can I can see it.” And so when I came back from WordCamp US I met with our strategists on the plugin side.

Her name is Leah. And actually, maybe not coincidentally, maybe it’s company structure. She also worked on our support team for a long time. She was in support, did a lot of company swag work and some of those kinds of things. But also had this passion for the user experience within our plugins, because she really understood that that user mindset. And so she quickly grew into the strategist role and has done a bang up job doing strategy for our plugins overall.

But I came back and met with Leah and I was like, “This Gutenberg thing has become real. I need you to go into a cave and figure out how we’re going to do this.” And actually our first real decision point there was, “Gutenberg’s a big deal. We’re going to have to invest a lot to really become compatible with it.” We had to decide, “Are we going to just survive the Gutenberg transition? Do the absolute minimum that we can do in order to have a functional product after it releases?” Which would have been a fine approach, and would have allowed us to continue to focus on a regular roadmap and some of the things that our customers are actively asking for.

Or do we say, “Gutenberg’s the future of WordPress. If we’re going to be on this train, not only do we need to participate in the discussions from here to release on what’s actually happening, but we need to push the edges of this and make our plugin a cornerstone of what that experience is going to be.” And I was right on the fence between these two options. There was lots of stuff on the roadmap that was really exciting.

And we had just built Loxi. We’d just spent a year building a new interface to a calendar. And so I went to the team and I said, “What do you guys want to do? Which way do you feel like you want to go on this? Are you up for this journey?” And it was a different team. Gustavo, who was our lead plugins developer, and Leah and the partners at Modern Tribe, Shane and Peter and Reed. I went to all of them individually and said, “These are the options. What do you want to do?”

And every single person said, “We want to invest in the in the future here. We want to do the big thing. We know it’s harder and we know it’s going to take a lot of attention.” But every single person said, “We want to do the big thing because this is only going to happen once.” So what we actually did to help take advantage of some of the work we did, was we grabbed David who was the designer on Loxi.

And we said, “David you just spent a year designing an interface that’s React based and highly responsive and is very user centric. Want to do it again? Want to take another shot at that pal?” And so him and another designer, Rachel, we actually added a second designer because there are so many details for Gutenberg. The two of them jumped off of Loxi and came over to The Events Calendar and they’ve been every week iterating on these designs and these prototypes, and doing a bang up job with it.

Joe: I realized that I say, “Man. That’s great,” a lot. Especially in this interview. But I like everything you’re saying. Everything you’re saying is fantastic. After WordCamp US is when I talked to Zack Gordon and we decided to release our Gutenberg courses. His developer course and my user course, like super early in January. Even though it meant that we were probably going to have to iterate on that course a lot.

We just wanted to get the educational components out there because, like you said. It’s not going away. It’s going to become a bigger part of WordPress moving forward.

Zach: we immediately purchased that Zack Gordon course for Gustavo. We were like, “Here you go, man. Here’s what you’re going to do. Go read this, go dig into code.”

 

Joe: And it’s great. I mean I’m working through the course, learning React. And so I think that’s a very forward thinking approach. There are a lot of different opinions on that, and it’s whatever works best for your team, or yourself, or your organization. But it’s very cool to see you guys jumping on top of that.

So with the last few minutes I always like to ask these three rapid fire questions. The first is changes since launch, and you just recently launched. So maybe we can go right to, what are your plans for the future of Loxi?

Zach: Yeah. We launched to a very small audience, so it’s not it’s not like a public or big global launch. We haven’t started doing any real serious marketing outside the WordPress space, or doing any ad-buys or any of that stuff. It’s mostly quiet. We’ve been marketing to our internal audience. So we’ve got a lot of stuff still to do.

What we’ve been doing is just listening to customers and making small iterative changes. We’re trying to get to the point where a single user can have multiple calendars. We’ve worked to improve the embed, what we thought was fast in our labs Still doesn’t feel fast to us on customer websites, so we’re try to speed it up. And we’re going to continue to do some of that work. More scaling and performance and really make this thing roar. But it’s mostly that kind of stuff. There’s going to be tons and tons of little features coming every two week cycle right now.

Joe: Wow. Impressive and very cool to see you’re focusing on customer centric stuff. It seems to be the overarching theme of this episode, and a lot of other folks that I’ve talked to. So like I said I’m very glad to see that, being in the education space I try to think about the customers. I’m a front end developer too, so I try to focus on user experience. But the easier something is to use, the easier it is for me to educate on that.

Zach: yeah. The one challenge we do have there though is, and my marketing director keeps reminding me of this, is we can’t just build everything that The Events Calendar customers ask us for, because we’re not trying to recreate The Events Calendar. There is a slightly different experience. And if we just gum up the UI with all of the robust features that are built into The Events Calendar, that’s not actually the mission of Loxi. So there’s that temptation. We have to listen to our customers but also be sure not to take everything they say as gospel. That is an interesting bit of this to walk.

Joe: Totally. There’s the balancing act between somebody who wants all the features and everything, and then making that jive with your mission, the “Why you started” Loxi. I know that Jason Fried at Basecamp always says, “It’s okay to say no,” and that they “Try to say no as often as possible, except when it makes sense.” Definitely the takeaway here is listen to your customers, but don’t just take everything they say as gospel.

Zach: Yeah. Exactly.

Joe: The last question I always like to ask is, do you have any trade secrets for us?

Zach: Trade secrets. I don’t know if there is any, other than one of the things I think we have done really well is just continue to lean into the things we’re good at. With Loxi it’s basing it on The Events Calendar and making sure that even if Loxi ends up being a complete failure, the journey of building it has strengthened the core products.

Even at that point it’s not a failure because the core product has benefitted. And things like learning React and then reusing it, or building designs and then reusing them. It’s not to throw that stuff away. Build on top of the things that you have as skills and that kind of thing.

Joe: Awesome. “Continue to lean into the things we’re good at.” Love that. Zach, thanks so much for joining me today. Where can people find you?

Zach: You can find me on Twitter at my handle is @Tirrell. Just my last name. I apparently got in there early enough. Or you certainly can hit me up through The Events Calendar Twitter as well, which is @TheEventsCal.

Joe: I will link all that and more, everything we talked about, including that great React article that Sam wrote two years ago in the show notes. So be sure to keep an eye out for that over at HowIBuilt.It. Zach, thanks again for joining me today. I really appreciate it.

Zach: Thanks Joe, this was great.

Outro: Lots of great stuff here, especially if you want to get into Software as a Service. I want to thank Zach again for his time, and Modern Tribe for their support of this show.

And be sure to check out this week’s sponsors, Traitware and Pantheon.

For all of the show notes, head over to streamlined.fm/89/. If you like the show, head over to Apple Podcasts and leaving us a rating and review. It helps people discover us! You can also join the Facebook community over at streamlined.fm/facebook/. I want to build a strong community for this podcast, and Facebook is the place to do it. You’ll even find a link this week to a giveaway I’m doing where you can win my 4 favorite business books.

Finally, if you haven’t heard it yet, I’d love if you checked out my new podcast, Creator Toolkit, where we put together all the tools you need to build great things on the web. It’s on Apple Podcasts or wherever you get your podcasts now.

Thanks for joining me and until next time, get out there and build something.

Leave a Reply

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