72: Moving from Legacy Software to a New Tech Platform with Ann Pifer and Ryan Jordan of Adopt A ClassroomPublished April 6, 2021
Run time: 01:00:27
Custom software isn’t always the right solution, particularly for a nimble non-profit. Adopt A Classroom’s Technology Project Manager, Ryan Jordan, and Executive Director, Ann Pifer, join the show to chat about how to make a massive transition from a legacy platform over to Salesforce, how to adjust an organization’s mindset to be agile, and how to work with users to make sure you are continuing to invest in features that provide the best return on investment.
In this episode, you will learn:
- The impetus and tradeoffs behind moving an entire software stack to a Salesforce platform
- How to transition from an old platform to a new platform
- How to use usability testing and surveys for preparing users for upcoming changes
- How to pick which features make the transition (and which get left out)
- How to adjust an organization’s mindset to be agile
This episode is brought to you by The Jed Mahonis Group, where we make sense of mobile app development with our non-technical approach to building custom mobile software solutions. Learn more at https://jmg.mn.
Recorded April 2, 2020 | Edited by Jordan Daoust | Produced by Jenny Karkowski
Adopt a Classroom website
Tim Bornholdt 0:00
Welcome to Constant Variables, a podcast where we take a non-technical look at all things technical. I'm Tim Bornholdt. Let's get nerdy.
Before we get into this week's episode, I have a quick favor to ask. We are conducting a survey of you, our listeners, to hear your thoughts on the show and to help us plan content and choose guests that matter to you. Now, I can tell you so far, we've only had, I think, three people fill out this survey. So if you are not one of those three people, this message is for you. Head to ConstantVariables.co/survey. You can even fill it out while you're listening to this episode. That's constantvariables.co/survey.
Today we are chatting with Ryan Jordan and Anne Pifer from ADopt A Classroom. Adopt A Classroom is a small but mighty nonprofit team making waves in the education space by providing flexible and accountable funding for teachers and schools through its proprietary easy to use fundraising platform. We had the pleasure of working with Adopt A Classroom on a project recently to help make their daily operations more seamless. So I wanted to bring them on the show to talk about that project just a little bit. We also talk about how to make a massive transition from a legacy platform over to Salesforce, adjusting an organization's mindset to be more agile, and how you can work with your users to make sure you're continuing to invest in features that will provide the best return on that investment. So without further ado, here is my interview with Anne Pifer and Ryan Jordan.
Ann and Ryan, welcome to the show.
Ann Pifer 1:54
Thanks so much.
Ryan Jordan 1:55
Thanks for having us.
Tim Bornholdt 1:56
Really excited to have you two on to talk about Adopt A Classroom. Why don't you start and just tell us a little bit about yourself and what you do at Adopt A Classroom?
Ann Pifer 2:06
Sure. I'm the executive director of Adopt A Classroom and have been here since 2013. In my prior career, I was in banking for 15 years, corporate lending, worked with airlines and some asset based lending. So a wide variety of things. And 15 years was kind of enough in the banking world. And since then, I've been involved in arts and education in various capacities. And really enjoy both of those causes and feel passionate about them. So I feel lucky to be in a job that I can work in one of my areas that I'm passionate about.
Tim Bornholdt 2:43
Right on, and, Ryan, tell us a little bit about yourself.
Ryan Jordan 2:47
Certainly, so I'm currently the technology project manager with Adopt A Classroom and before I came to Adopt A Classroom dot org, also in 2013, a little bit after Ann, I had worked in education in both a special ed setting and then as a SAT tutor, a substitute teacher in New York, and so had a lot of background in the ed world and certainly point of passion for me as well. And that was a great privilege to come to Adopt A Classroom at the juncture I did, where the organization was sort of in transition and growing. And so as part of that, kind of switched over a lot of our platforms around 2017, which was a pretty major project. I know we'll probably get into some details on that later on. And got to see that that project through. And then in 2019, I actually moved down to Austin, Texas, where I now work as the lead of a junior high program at a school here. So back in the education world full time and then still lending some help to Adopt A Classroom on the technology front as we continue to develop those platforms and the technology and try to ultimately provide a better experience for donors, teachers and schools that use the site.
Tim Bornholdt 4:02
That's awesome. And it's probably nice having some of that background that you can then lend to some of the things that you're doing at Adopt A Classroom cause you have that frontline kind of experience in the classroom. I'm sure that helps tremendously for the job that you're doing.
Ryan Jordan 4:15
Yeah, certainly. So I'm really lucky to work at a private school where I don't have to spend a lot of my own money on classroom materials. But of course, I know from prior education experience and my time with Adopt A Classroom that that's not the story for most teachers and I have friends who teach in public school districts, including in Minneapolis and know what they do to help their classrooms. But being at a school and being more connected to the ed world, in K12, day to day and seeing the conversations online and reading about the things that are issues facing educators and school administrators, particularly over the last year and this transition to distance learning and some of that being temporary, some of those solutions that will end up being long term and understanding that the underlying need there will be for technology to support that. And that's something that ultimately a lot of districts are not able to fully support. And so a lot of educators and administrative staff stepping in to fill the gaps. And ultimately, that's what an organization like Adopt A Classroom dot org is around to support and help.
Tim Bornholdt 5:27
I love it. Ann, speaking of Adopt A Classroom, you know, explain to our audience how it works and what the team looks like from your end.
Ann Pifer 5:35
Yeah, Adopt A Classroom was one of the first crowdfunding sites on the internet started back in 1998. And when I describe it, in kind of shorthand analogy terms, I say, it's sort of like a GoFundMe for teachers up front. And behind that it's like a system of PayPal accounts, virtual online credit system. And then behind that is like a mini Amazon just for teachers, private ecommerce marketplace. And that is all one integrated system that is interconnected. And as Ryan said, we did essentially an entire rebuild of our tech platform a few years ago. So the beauty of it is that teachers flex get funding that is flexible. They have 12 months to spend whatever donations they receive. And then when they do decide what they need, they go in, they can shop on our marketplace of more than 30 educational product vendors. And whatever they pick is drop shipped directly to them at their school. So the teachers, it gives them a discretion in their daily lives that they don't have a lot of and enables them to respond to changing needs of students in the classroom in almost real time.
Tim Bornholdt 6:50
That's so awesome. One thing you picked out and I don't know if we were intending on getting to this, but I always like to bounce around when the inspiration strikes. You had you had mentioned this, and, Ryan, you mentioned as well, having a big redesign done to the whole platform. Could you talk a little bit about, you know, what led to the need for what you had before and and getting rid of that and moving into something different? What was kind of the impetus for all of that?
Ann Pifer 7:20
I can start out and then I'm gonna pass it to Ryan who has more of the technical language around it. But when I came in 2013, the platform was 16 years old, and in the technology world, that's ancient. And whenever we tried to make any small fixes or upgrades to make it a better experience for donors and for teachers, we would break things. And we tried kind of patching, and came to the realization that that was like trying to build a new or renovate an old house on a bad foundation. And after trying that over an extended period of time, we finally realized together with some of our technology consultants that the only solution really was to replace the whole thing. And I'll pass it off to Ryan for more of the detailed description of what it was and what it became.
Ryan Jordan 8:13
So when we looked at kind of the whole tech infrastructure of the organization, and realized that everything that we were needing to do, I think it was kind of overwhelming, and to realize that what we had built was very customized, and there wasn't necessarily going to be one solution of something that could just come in and replace it. So we're a nonprofit organization. So of course, we have to be able to take donations online, and then those donors when they visit our site, they can select this particular teacher or school in order to direct those funds to. And so as I mentioned before, you know, there's a whole system of accounts and balances we have to keep track of, really complex on the accounting side. And then when those teachers have those funds available, they can spend them in our network of vendors that Ann mentioned before. So there's also this B2B component there where we're interfacing with the technology, have other outside vendors who we, of course, don't have control over. And there's some communications that happens when that order is placed, the donor gets a message, showing them what the teacher purchased. They also get thank you notes from teachers. So there's all these email communications that happened as well.
And so when we looked at everything that our system was currently doing, and then that we had other software solutions to support outside of it, and tried to look at, you know, how can we replace this whole cloth? It wasn't as easy as, you know, saying, Okay, well, we have this ecom site. So let's just use Ariba or something, like it wasn't like we could say, Oh, we have a, you know, website that has these communication functions. So you know, let's implement a simple WordPress site with a builtin mass market email tool. It needed to be something much more comprehensive and interconnected. And so the digital agency that we worked with at the time had made the recommendation that we consider a Salesforce based platform, primarily because the customization available of Salesforce nonprofit success pack that we use was high, there's a high level of customization available. And it offered both some external customer facing, in Salesforce parlance, but for us, that'd be donor and teacher facing elements where those users can log in and manage accounts. And it also allowed us to have an interconnected accounting system and all these other components that are enabled by the Salesforce ecosystem. Of course, they have lots of software that is built to run on the Salesforce platform.
And so that was, for us, a decision and a really important juncture, I think, for the organization where we decided, you know, I remember the agency putting up to us this way, Do we want to be a technology company that's focusing on our product, our tech, our software, and then we have this nonprofit mission that we're trying to achieve? But it's ultimately relying on the tech. Or do we want to be really a nonprofit with a teacher forward mission that just finds whatever tech solution is out there, best in class that can support what we're doing and rely on those services that are constantly updated and upgraded? And so we can focus more on what we do best, which is connecting those donors and corporate sponsors with the teachers and classrooms and, ultimately, students who need the support. And so that was the direction that we of course went.
Tim Bornholdt 12:00
It seems like there's always like somewhat of a challenge that businesses have, and especially nonprofit organizations like yours, like you identified where you either need to decide whether you're in this for building out software, or whether you're in this for technology, but even at the same time, it's like, when you choose, you were kind of talking before there wasn't really one thing that fit exactly what you were looking for. But it turned out, Salesforce, you could kind of adapt it and mold it into what you wanted. Are there things about Salesforce or like, I'm trying to think of like the pros and cons of going with either of these solutions. So I think like with Salesforce specifically, it's like kind of this you know, 800 pound gorilla that can literally do everything. But it's like, if you wanted an 800 pound gorilla to do cartwheels and jumping jacks, it might take a little bit of effort to convince that to do it. So what have been some of the trade offs of going that route, instead of having like a fully custom solution?
Ann Pifer 13:00
I think it gave us much greater flexibility and enabled us to not have to take on internally the cost and staffing required to be individually responsible for all the updates and upgrades and evolution of a tech platform. So with Salesforce as a basis, it enables us to kind of bolt on in a modular fashion, specialized software providers that are compatible with Salesforce to fill specific needs. As Ryan very eloquently said, we needed our system to do such a diversity of functions, that all had to interrelate that there was no one solution out there that was going to work. And if we built it ourselves, we were going to be back in the same situation that we were just getting out of, a very highly customized, custom built complex piece of software that nobody but the individuals who created it know how to do anything with or upgrade or update. So Salesforce, I think, gave us that freedom to say, Okay, here's our platform. And right now we have this vendor as an ecommerce provider. But in the future, we could say, you know, that doesn't meet our needs anymore, we might look at a different one. And same thing for some of our fundraising tools. There are some that are right within Salesforce and some that are outside Salesforce compatible modules. Now we kind of have the ability to be more nimble and switch those out over time as needed. While we're relying on the vendors of those packages, they're responsible for the upgrades and updates and it's not sitting totally on our shoulders and on our nickel.
Ryan Jordan 14:43
Yeah. Additionally, I think one of the things that a platform like Salesforce allows us to do is be quick and agile with solutions that otherwise, you know, would be out of scope for us if we were doing everything in house. As a midsize nonprofit, we, you know, rely on foundation grants and corporate sponsors often to make the biggest impact and to support our organization. And so if a potential sponsor comes in the door and says, Hey, can you do this? You know, our answer is almost always, Yes. And then under the table, like, Okay, how are we going to figure out how to do that? Right? And so, with a platform like Salesforce, we can confidently say, yes, and know there's a solution out there that we'll be able to implement into this ecosystem, or there's someone else who has done it. And, you know, we can work with our developers to find a solution. And we don't have to build code from scratch every time which, of course, would make it cost prohibitive to do something every time a particular sponsor, or even in some case a school district, had a particular need or desire. So this allows us to be much more responsive.
And at the same time, to Ann's point, we're not committing to something for the long term. If we build a tool on our own, and it's all our own code, and, you know, all this capital expense to develop, and then we realize, Boy, this isn't really serving teacher. Let's ditch it. We've wasted a lot of development hours and staff resource and that that's just sunk cost. And with a platform like Salesforce, you know, we're maybe paying a licensing fee for a piece of software for a period of time. And once it stops meeting our needs, then we can let go of that and find something else. And we're not tied to it. So I think that agility offered to us by the platform is a huge benefit to how we operate.
Tim Bornholdt 16:44
Yeah, that makes total sense to me. Because being in the custom software space myself, I know how expensive this stuff can be. And just thinking about if I had to spec out and deliver, you know, Adopt A Classroom's entire back end and the whole infrastructure, you know, it would be a pretty staggering price. And maybe you don't want to invest that amount of money into it right upfront. But that is, like you said, the joy of using something like Salesforce is they'll get you 95% of the way there or 99% of the way there. And they might have one or two things that bug you about it. But you know, over time, if you start to uncover those little things that are bugging you, and those little things start to become bigger and bigger and bigger things, then you can take the stuff that you learned from Salesforce and pour it into your own thing and do your own thing. And it's so much easier too. It's so much easier to iterate on software like that, because a lot of times organizations come to us with problems and they do want to spend massive amounts of money. But it makes a lot more sense where you're like, why don't you just use a pen and paper to start, like, just start with writing something down, and then you know, maybe move it into a Google Sheet and then move it into something else. And you do those slow iterations so that you find out where those pain points are. And then you move into, you know, doing the whole big thing.
Ann Pifer 18:03
Yeah, that was really helpful for us to it to be able to test and do that kind of iterative development process upfront. Also, then knowing on an ongoing basis, you know, once we built and developed something that was working and functioning well for us, we don't have an internal staff of 20 developers. That's what it would take to maintain and continue to evolve something like that. We have two people who are focused to different degrees and in different ways on our technology. But they're not developers. All of our developers are external. So as a nonprofit, it helps us to control our overhead costs and be nimble and use the dollars that are donated to us for mission purposes, rather than for creating an engine to just support the means.
Tim Bornholdt 19:01
One thing that's really interesting about this whole topic is you already had this existing 16 year old infrastructure that you were currently, you know, running your operations on. And then at the same time, you have this other engine that you're building up under Salesforce. How do you make that transition happen? Like, can you talk to some of the the difficulties or any of the challenges that you faced of trying to get your data from the old system into the new system and getting your operations moved from old to new?
Ann Pifer 19:33
That was a really interesting quandary, in that, as we were talking to our tech advisors at that time, we were all looking for ways of how we could do an incremental build, like first we'll build this part of it. And then we'll keep all the existing stuff running, and then we'll do this other part of it. And every time we tried to do that, we realized we couldn't and finally our advisors came back to us and they said, You know what, this is really just a big tinfoil ball. You can't pull it apart and do it in a, you know, component way. We're going to have to do, and I remember one of our advisors saying, he goes, I hate to use this term, he goes, But we're gonna have to do a forklift, where we're gonna have to build the whole thing new, and then put it all in. The only part that was not fully integrated and kind of enmeshed with all the other system components was our accounting and finance system. That was separate at that time. It was on QuickBooks. And one of our challenges was then reconciling the data in QuickBooks with what was in our system. And there were always issues and it was very difficult. It was like a whack a mole, once you solved one another, you know, discrepancy, source would pop up. So we wanted them integrated. So we actually did the conversion first with our accounting and finance system. So we went with a Salesforce accounting package, that's called Accounting Seed. And we first got our finances up and running on that, because that was what the rest of our systems were going to have to plug into and feed data into. So that was how we staged it was, first, the accounting finance conversion. And then secondly, all of the remaining operating pieces as one lift. So we continued operating while we were working on this build off on the side. And Ryan and I lived through that very challenging time. And I'm sure Ryan has lots to add to how we pulled that off.
Ryan Jordan 21:30
Yeah, you know, I think for us that we do have a, for a project of this magnitude, we have some advantage, I suppose, over other organizations in that we have the seasonality of the academic year that allows us to pretty easily predict with high level of confidence what are going to be our busiest times for our donors, for our teachers, for our corporate sponsors. And so we kind of have that flow of the year down. And so we were able to time this big transfer, so that it would happen in late June, early July, which, of course, you know, most of the country, schools are getting out for the year. And so for a lot of teachers, maybe they're like trying to purchase a few things at the end of the year to get ready for the following year. But it tends to be a really low volume time for us from a teacher standpoint. And so it seemed like the most logical time to make a big switchover and know that, you know, we could deal with the number of daily active users we would have at that time.
And, of course, one of the challenges of porting over a system, not only do you have in our case, users who are getting up to speed on a new interface, a new way it looks, a new URL for the login, it's ultimately really difficult for us because we're moving over a balance of funds, right? And so for people it's like a bank account, right? Someone has donated $400 to you and you've spent 150. And so you expect then to log in to the site and see my $250 there to spend. And if there's two days where you can't access the site, because they're moving something over, it feels like you don't have access to money that you need for something for your classroom, right? And so that is a highly sensitive thing. And that could of course cause us to lose teachers, which in turn, would cause us to lose donors, and so a real threat to the organization. So it was really important that we chose a time of year that we knew we could handle this from a staffing component, but also that we, again, going back to having kind of a flexible and agile team, honestly, it was throwing a lot of staff support at it, knd knowing that the couple weeks after this transition, when we sort of flipped the switch on the URLs and redirected people to a new donation system, a new e-commerce experience, a new login experience, that there was going to be a lot of confused teachers and donors who were used to seeing the same thing for a decade before reaching out and questioning how to do something or where a number is, how they can get this information. And ultimately, it was, you know, just a lot of people hours to support that.
And one of the things that I've always loved about Adopt A Classroom is everyone is a real roll up your sleeves and no one is above any task. And so I think we definitely had more folks than usual responding to emails from teachers and donors and getting on the phone to talk through those who might be less technically sophisticated and maybe need a little help with a new platform. And so it was an arduous process. And there were times where we considered like, Oh, did we switch over too soon? Do we need to do this? But ultimately, I think, you know, it was that forklift approach Ann talked about like, we just had to, we had to make the leap at some point. And then weather it and figure out what were the biggest pain points initially for users that we could resolve, knowing that we had this whole backlog of things we want to do to optimize. Some of those things we're still doing today. But ultimately, I think it was the presence of the Adopt A Classroom dot org staff and the great sort of user support base that we have that saw us through that and helped us retain, and even grow our, our donor base and our teacher base.
Tim Bornholdt 25:49
I was wondering, in that process, you were talking about the confusion and that was my first thought. Whenever you move from one platform to another, like my bank the other day, got bought by another bank. And so I went to go sign in to my old bank, you know, to do some stuff, and it redirected me in to have to go create an account. And it was the most, I run an app development company. And I was sitting there confused as to how this technology works. So I wonder, and I didn't get like a whole lot of hand holding from that organization, like it was just kind of they threw me out into this new system and said, You'll figure it out. And you click around and do it. But you kind of, you know, as a user, I kind of sit there and grumble with the furrowed brow and you know, kind of have just a little negative experience, which you don't want to have, especially when you're a nonprofit. Did you do a lot of like, advanced announcements or training or anything like that to kind of prepare users for this kind of shock? Or was it more of a, just like a, surprise, here's a new platform for you.
Ryan Jordan 26:54
Yeah I'll jump in on that. We did some, we had some blog posts we created, you know, video walkthroughs of several different components of the new platform. We did email communication to all of our existing teachers and donors. And so you know, we tried to do a lot of advanced communication. And I certainly suspect that that helped mitigate some of the issues. But ultimately, you know, I know from friends I have who are classroom teachers that time is a premium during the day, you know, especially if you're an elementary school teacher, which is the majority of our teachers registered on our site. You might have one free hour a day where your students are in an art class, or PE, or maybe they're at lunch or something and you get time and sometimes not even then. Sometimes you're with them during lunch, right. And so you've got a really small amount of time during the day and you're grading, you're responding to parent emails, doing all these other things that trying to navigate something in order just to purchase a ream of paper for your classroom with this money that, you know, maybe a parent or a friend of yours has donated to you, it's a real headache, and it feels like a hassle. And so you don't want to go through some training to figure out how to do it. And so we did a lot of usability testing in advance with some of our real active teachers to figure out, you know, what's intuitive, and what needed to change around and certainly that helped. But ongoing surveying is definitely one of the ways that we figure out what our next development priorities should be both from the perspective of the teacher and our donors who use our site most often.
Ann Pifer 28:45
I think, in the transition, one of the things that we maybe didn't appreciate adequately, upfront, you know, we tried to say, Okay, we know we're gonna have to do some SEO work once we get the new system up and running. I think we didn't fully appreciate how much of that needed to be done. And for a period of time after the transition, I think we lost a little wind in our sails, because we'd lost a lot of that stickiness of just having had lots of traffic and links over so many years. And it took us some time, I think, to realize, to identify the problem and then figure out proactive strategies for addressing it to regain some of that good SEO structure that we had previously, actually to make it better.
Tim Bornholdt 29:35
So that's interesting because when you were describing this transition over to this new platform, in my mind, right out of the gate, I thought you were aiming for like a one to one in terms of features and functionality, like trying to get as close to what you had before but just kind of like Salesforce-ized. I don't know what the right verb would be for that, but I wonder are there other, so like SEO being one consequence of this transition, were there other like features or anything that sticks out to you as something that you had in the old system that you wanted to get into the new system that you couldn't quite fit in or that wasn't quite gelling with what you're trying to get out of in the Salesforce world?
Ryan Jordan 30:21
Yeah, so I think we knew that the existing system we had, while clunky, you know, it had been built over this period of 10 plus years. And so there was a lot of additional features, maybe some feature creep, you could say, on our existing platform. And so what we set out to accomplish was a one to one of all of our critical features, the features that were most important to our teachers and donors, and, of course, in terms of our daily operations. But some of the things that we sort of set aside as a, Hey, this is something that we can have a work around with some staff time right now. And then later, we'll figure out how to automate this piece, which had been automated in our old system. And so then that created a lot of manual processes of, you know, exporting and importing files in certain places of, you know, creating a manual scan for certain vendor invoices, and, you know, a really manual process for uploading products from some of our vendors, which of course, relates to the work we ended up doing with JMG.
And so being a nonprofit, you know, we had to sort of pick and choose what are the most critical things, because to do everything at once just wasn't economically viable for us. And so we had to figure out what are the things that are most critical to our operations? What are the things that are most important to our users? And then, in that process, you know, once we were in that new Salesforce ecosystem, and the operations had smoothed out from a teacher and donor perspective, and we had to figure out which of these things are really important and which just feel important to us because we're just used to having them. And does a donor really care about this? Does someone, our staff, really benefit from having this tool? Or is it just something we're used to using? And I think asking some of those questions helped us reallocate some of our development time towards projects that are going to have a higher ROI, and ultimately, lead to success from an organizational standpoint, which of course, means better, broader support for teachers and schools.
Ann Pifer 32:48
I was just going to add on, you know, thinking back over that the project, kind of the build and the rollout. We talked a lot about what our minimum viable product was going to be, you know, how can we pare it back to the the key essential features we need to have, so that we don't try to do everything and get everything perfect. Because we can't, because we knew we were going to need to iterate. So we launched it with the core basic features, knowing that we were going to have to do subsequent add ons and that those would probably be done better by being done later, having learned how the new system works, and seeing how our users responded to certain features. And I think that was successful. It extended the process a bit, but I think it resulted in a better final product.
Tim Bornholdt 33:43
No, that makes perfect sense. Because there's been several times when we've worked with projects that have been around for a long time, there's always, you know, one or two features that are from a development standpoint, just this absolute nightmare. And from a user standpoint, nobody uses them, except for the one to two loudest people that are using the product. And when you try to do anything to get rid of those features, they you know, squawk and it's so hard when you're doing a build out of this magnitude to really have a laser focus and not let, like Ryan was saying, like looking at the features that bring you a good ROI is so important. Because otherwise, when you're supporting a 16 year old codebase and trying to mimic everything that it did within a new platform, that's just not feasible. And I think it's really cool that you even took an MVP approach to looking at really focusing in on what features are your users using and which features are going to give the most benefit back to you as a result of making this massive turnover. And then it's like a good opportunity to say to the people that are wanting these one or two features, you know, do you really need these one or two features or can we live without it for little bit.
Ann Pifer 35:00
Tim Bornholdt 35:01
Ryan, we were talking, you'd mentioned, and it was an excellent podcast host maneuver to try to segue into this next topic of how we ended up working together. It's still fascinating to me, the whole process of how we ended up getting to work together, because there was some, you know, despite how technical and how nice Salesforce is for a lot of these things, there's still a lot of manual processes and things that were just taking so long to, you know, actually execute and get done. Can you talk a little bit about the problem that you approached us with? And why, you know, you needed to take some action to remedy that?
Ryan Jordan 35:45
Yeah, absolutely. So as we've alluded to before, Adopt A Classroom has this e-commerce marketplace, where our teachers and school admins, once they've received a donation from someone, whether through our website or one of our corporate or foundation programs or one of our spotlight funds, wherever it comes from, they've got these funds in this online account, and then they can shop from our marketplace of vendor partners. And we have some major vendor partners that maintain their own b2b sites, in organizations like Staples and Lakeshore Learning and School Specialty. But then we have a lot of smaller kind of specialty vendors that have products that are really valuable to teachers, particularly, you know, a lot of sensory things, or a lot of specialists, maybe in art or language or ESL. And so having those vendors is super valuable for our teachers. But a lot of times these are smaller companies that, you know, they might only have 20 skus that they offer and so they don't have b2b sites.
And how we integrate with those vendors is that we get a file, just a flat file of products from them with product information. And then in our e-commerce platform, we store that information, you know, host images and descriptions and options for colors and quantities, all those things, and present it to users as Ann said before, in kind of an open marketplace, environment, where to the end user, it's not immediately clear, you know which vendor you're ordering from. Just as on Amazon, everyone thinks I'm buying this from Amazon. But you know, really, you're buying it from company x that has an Amazon storefront, right, but it all now shows up in the same search. And so for us, it's obviously important to maintain that marketplace inventory on a really active basis, especially for vendors who might have high product turnover, or they have a lot of seasonal products, and things that go in and out of stock. And so the way that we were doing that previously is we have this Heroku application, which exists to essentially import all of the product data from a file and sort of categorize it based on the file headers, and ultimately spit it out in a format that our e-commerce platform can accept and push into that database. When this tool, this Heroku application, was originally built, it was envisioned as a short term solution that was primarily to get all of the products from our old platform into the new platform, with the idea that with this new e-commerce platform, we'd eventually build sort of a web based application that might be some simple drag and drop a file and everything just magically happens in the backend. Well, you know, cut two, three years later, and we're still using the same process. And so what that looked like, from a technical perspective, without getting too deep in the weeds, was having to manage a local copy of not only the code, but all of the vendor product files, so I was doing that just on my personal computer, and then from the command line, running all of these commands, which are essentially rake tasks in Heroku that would do a different part of the job, but those had to be run sequentially. And some of the tasks would take several hours to do and sometimes I would get, literally be, you know, three days into an upload of 50,000 products, and some part of the job would fail and I wouldn't know why. There was no error reporting or anything like this. And so I'd to go kind of scour the file and see is there some, you know, non Unicode text in here, like some, you know, analog characters, is there a weird space somewhere in a header, and just do a lot of manual work to try to figure out what went wrong, and then try it again. And just hope that two days later, the same thing didn't happen. And so, you know, over those two or three days, of course, it wasn't like constant work on my end, but every couple of hours to pull up my terminal and run a status check to see where it's at and if I can queue the next task yet. And we had some vendors that, you know, if it was up to them, they would send us a product upload every day. They would want to update their listing, of course, absolutely not feasible, because we had, you know, 20 plus of these vendors and each one, the process would take, at minimum, a day to complete. And in most cases, you know, much more than that. And so it was becoming kind of untenable, and in some ways, a blocker to us expanding that vendor marketplace even further, particularly with large vendors that might have 200,000 skus, because we knew that not only would it be taking a lot of staff time, but of course paying for these dinos on the back end, the Heroku interface, and so it's costing us a lot of money to just have something running for a week on the back end.
So when we approached JMG, it was at a point where, you know, not only did we know this tool had to be replaced eventually. But we were having more regular errors. And like I said, with no error reporting from the tool, it was becoming nearly unusable. And the process of adding a new vendor was something that would often break the entire code base. And to Ann's point earlier, I'm not a developer. And so everything I have learned is just by doing and looking at, you know, looking at a file and trying to make sense of it, going on unstack and copying someone else's solution to something. But because it's all custom code, oftentimes, I try to be going back to a developer who wrote something four years ago, who has worked on 800 projects since and has no idea what I'm referring to, and, of course, can't take the time to look at the original codebase. So it was just not something we were really able to maintain. And we needed a solution that would not only result in less staff time being spent updating those products, but also a more stable experience so that we weren't running into issues of teachers ordering things that were no longer available or not having access to seasonal or temporarily available products that our vendors were trying to push out to them.
Tim Bornholdt 42:55
It's always tough. Like I find in your shoes, you know, where you have this legacy situation that you're put in with this legacy code, and it was intended for like a one time use thing almost. And it just gets repurposed into something that just it's untenable, like, taking a week to update your back end seems like, you know, in 2021, it that seems impossible to fathom. And it's now, you know, it fast forward to today, I think the solution that we've worked on together to implement seems like things move a lot more quickly, right?
Ryan Jordan 43:37
Oh, absolutely. So the solution that JMG presented ultimately allowed us to, one, be able to not have to store these files locally, but rather just queue them off of our Google Drive where we are storing this vendor product data anyway. And then it only takes an initial command to run everything. And there's sort of built in database cleaning that the tool does as well, which helps us maintain less sort of bloated database in our ecom platform. And ultimately, it requires a lot less technical knowledge, such that even I was able to train another person at Adopt A Classroom who isn't super conversant in using command line or anything to do this with, you know, 30 minutes of instruction, it was a pretty simple setup. And now, you know, things that used to take three days to complete can complete in under an hour and without constant staff checking on status or intervening or trying to decode errors because now there's actual error reporting that can tell us if it's an issue with the file or an unallowed character or a timeout issue from our ecommerce platform. And so it's really not only a much more efficient solution, but it's a much more elegant and simple solution that allows us to more easily manage that that product data and sets us up for success as we continue to expand that vendor marketplace.
Tim Bornholdt 45:19
Yeah, and I don't want to toot our own horn, like, I don't want to make this a big ad for for the work that we do. But I just want to highlight that it's so interesting to me as someone who is a technologist and knows how to write code and everything, because I fall prey to this too where you get stuck in a way of doing things. Just you know, if you don't constantly revise your processes, and look at how you do things typically in an organization, it's usually until it gets to the point where it hurts so bad, like you said, when it takes a whole week, and you have to every couple of hours go and babysit this thing. And it's just, you're sitting there and you pound your head against the wall. And it's like if I could send one message out to anyone listening to the show, it's, If you have problems like that, where you're just constantly banging your head and saying, There's got to be an easier or simpler way, you know, that's the time to look around and reach out and try to find some way to do it better, whether it's a custom solution or something, you know. It's so interesting to me oflike human nature of you get stuck into a pattern, and you don't realize that you're in it until all of a sudden, you know, once we got this thing done, and now you look at it, and it takes a matter of a couple of hours as opposed to, you know, a whole week. Then all of a sudden your eyes kind of open, you're like, Oh cool, like how else can we optimize things and make things go a little more efficiently?
Ann Pifer 46:46
Yeah, that project was a great reminder for us to always look at and quantify the hours of staff time that could be saved by an investment, which you always think about when you're thinking about ROI. But this was an example of where it was so big that in retrospect, we thought, Geez, why didn't we do this sooner?
Tim Bornholdt 47:08
Yeah, it's never just, you know, make more money when you're talking about return on investment. It's also, how do you save money and save resources? And yeah, it's amazing how quickly you, and all you got to do is just ask your staff, you know, like, what are you spending the most time on? And usually, those are a good place to start to see if there's ways you can cut back on some of that stuff.
Ann Pifer 47:29
And similarly, I think your team got into it. And I think we were all initially thinking like, Well, we can do this fix. And that'll solve the problem we have. Then once you guys dug into it, well, you came back and you said, you know, we could solve that fix. But the whole thing's clearly going to work a lot better if we do a slightly bigger project but that's going to address larger issues and provide a more complete solution. And we really appreciated that.
Tim Bornholdt 47:54
I'm glad that we did that. Because I remember like, Tom, our developer, who was looking at this came to me and he's like, Should I present this, like, this makes more sense to me? I'm like, Yes. It doesn't hurt to ask. I think that they would really appreciate that.
Ann Pifer 48:09
It was a little add on to the overall project that made a big difference, and I think made it more stable and useful over the longer term than if we had done the easier fix.
Tim Bornholdt 48:21
I love it. Those are the best solutions, I think. So changing topics one last time, you know, we're sitting here, hopefully, at the tail end of this pandemic that we've been going through for the last year. But I'm really curious to hear from your standpoint, as a company that's got one foot in the technology door and one foot in the education door, you've got a lot of really interesting perspective on the pandemic. And I would really like to hear what pivots or changes you've had to make in the last year as a result of this ongoing pandemic.
Ann Pifer 48:56
Boy, we've done some big and some small. But overall, we are so glad that we completed our major kind of heavy lifting tech development prior to the pandemic and that our systems were pretty well clicking along so that when the pandemic hit, we were already virtual. So while the entire nonprofit world was stopped and thinking, Oh, my goodness, like, you know, the bottoms falling out of everything right now. We kind of held our breath for a little bit, and then saw donations continue to roll in because we were a way that people could help and support educators at a very difficult time. And we didn't rely on it being through in person services. So we were the type of nonprofit that was in the right place at the right time. And we not only did not see a downturn from the pandemic, but I think we actually saw some positive effects for our organization. And yeah, being tech based was a big part of that. Being tech based also enabled us to quickly pivot so that we were able to in the matter of a couple of, you know, a couple of days really say, Gee, we ought to set up a COVID Relief Fund that's really going to help teachers with what they need now. And donors are contacting us saying they want to know how to help. Boom, the next day, we had a fundraising page up that was for a COVID Relief Fund, and donations from individuals and businesses started pouring in there. People started doing fundraisers to support that fund. And just a few months later, the unfortunate events here in our hometown in Minneapolis, with the murder of George Floyd occurred. And we thought about what the best and most appropriate way was to respond as an organization to that. And you saw a lot of companies and organizations putting up statements and symbols, and we stood back and said, No, we can do something with this that's more meaningful in a mission related way. So we again, turned around and created a new racial equity in schools fund with a lot of thought and input from educators that went into how can we focus it and make it most impactful right now to address the issues that teachers and students are facing in the classroom related to these events in society around us. So that felt really good that being a tech based nonprofit enabled us to really respond in ways that were relevant to our mission.
Tim Bornholdt 51:30
And probably having that tech, thinking about being agile, when you're building out software, there's a lot of those same principles can be applied to your core mission of trying to help our teachers of being agile and trying to think through what are those needs that you know, like you said, it's easy to put up a statement on your website or change your like Facebook logo to be all black or something to support the Black Lives Matter movement or whatever you're trying to say, but it's an empty platitude at the end of the day, if you're not actually putting some action behind it. So it's really cool that because you have some of these processes and thinking more agile that you can actually apply some of those principles into what you're actually doing to make a difference in the world.
Ann Pifer 52:12
That's exactly right. And I think that's one of the things that sets Adopt A Classroom apart is, I think, through that big technology project and working with our partners, you know, we heard a lot about agile approaches to development. And I think we've kind of just incorporated that into how we do everything now, of how can we respond quickly? How can we test something out and iterate? And that I think is not something that most nonprofits do.
Tim Bornholdt 52:39
Yeah, it's hard to get into that mindset. I mean, maybe that's a good last topic to touch on, but, how do you transition? You've been around for a long time, right? And since you've been a technology company, and maybe that answers the question, but what I'm trying to ask is, How do you think about transitioning an organization that may be, I don't want to say stodgy, that seems like a loaded word, but, you know, rooted in thinking you have to come up with a solution all internally and then present it to the world as opposed to get something small out there, iterate on it, improve on it and grow from there?
Ann Pifer 53:15
Yeah, it is a different mindset. And I think when Ryan and I started at Adopt A Classroom back in 2013, we both and our colleagues spent time learning a lot about how things had been done there, how they were then currently done. But because we were bringing fresh eyes to it, we would look at everything and say, Well, that's the way they did in the past. That doesn't mean that that's the way we have to do it now, like none of us had any investment in the old way. And I think, happily, the organization has kind of kept that mindset of like, well, just because that's the way we did it before, if someone has a better idea, sure. We'll look at that. So yeah, I think coming in at that kind of transition point helped us have a fresh look at everything then. And I think we've maintained that openness to change and to new ideas as we've gone forward.
Ryan Jordan 54:08
Yeah. And one thing I'll add to that is a really great thing about working at Adopt A Classroom, and I think this is really a credit to Ann's leadership there is it really feels like a meritocracy in that the best idea's what we go with. And we have these weekly staff meetings, and everyone's involved, and anyone can speak up, you know. We'll have an intern who's there for three months that says, Hey, what if we did this? And no one in leadership says, You don't know you're talking about it. You haven't been here long enough. Or, we do it this way. It's like, Hey, yeah, let's think about that. And so being able to accept the ideas and truly consider what is being offered up by, you know, all of the people in the room instead of just relying on, you know, a few particular decision makers is super empowering.
And often, you know, Tim, I'm sure you've seen this, but people who are closest to the product are the least able to see solutions. And I find this with myself sometimes, right? I just get in my head, Okay, here's the path that we're gonna have to do to solve this. And then, you know, I'll present it to someone else on staff or to team people to review wireframes or something. And they'll say, Well, what if we just did this. And I'll be like, Well, that's 20 times better, like I should have just put this problem out there to the whole team to begin with. And so that's a really great thing about Adopt A Classroom that I think is a unique, but also makes it, you know, a really great place to work.
Tim Bornholdt 55:34
Yeah, it's tough working in an organization when you've got leaders who think they've got all the answers. I've always subscribed to the theory that if you hire good people, and give them responsibility and actual things to do, then they come up with things that are going to blow anything out of the water that I would have come up with. And it seems like that's how it is over at Adopt A Classroom. That's why I'm so honored that we had the opportunity to work with you guys. And hopefully, we get, you know, to continue this relationship and work with you in the future. But, Ann, Ryan, I really appreciate both of you taking the opportunity to chat with me today. Is there anything either of you want to leave with the audience, any final thoughts or any ways they can get in touch with you or help out the the cause in any way?
Ann Pifer 56:19
Boy, I would say, please check out our website now that we've been talking about our systems, which is everything underlying our website. Check it out. We offer a number of ways that you can help teachers and schools, either down to the individual teacher level or a more general way, such as one of our spotlight funds, like our COVID Relief Fund, or racial equity in schools fund. There's a lot of interesting things to poke around and explore there. And your donation gives teachers the flexibility to respond to the needs in front of them. And I think that's one of the things underlying how we do what we do, and why, is that we believe teachers know best. And if we can empower them to serve their students to the best of their ability, that's the best thing that we think we could do for education right now.
Ryan Jordan 57:10
I think that was really well put. I'll just add to that that, you know, to speak to what we were just touching on, if anyone listening to this has either an idea of something that you think Adopt A Classroom could be doing, or some existing piece of technology we could take advantage of, or you also have a Salesforce platform, and you found this solution, you know, we'd love to hear those things. And we're open to suggestions. So maybe that's the way you want to help support the organization, you know, you can reach out through our websites and that information will find its way to me. And then likewise, if you're someone listening who has a similar problem facing you, you know, we've benefited from so many other organizations and individuals supporting us in the past that we love to pay that forward. And so if you've got some sort of project like this on the horizon, or you're thinking about switching to a Salesforce based system, or you've got some messy Heroku application, and you want to know what it's like to work with JMG, you can always reach out to me for those kinds of questions, as well.
Ann Pifer 58:10
Oh, Ryan, that's so great. I'm glad you raised that.
Tim Bornholdt 58:14
One just quick brief anecdote. My wife works in the brewery industry. And it's amazing to me the level of collaboration that a brewery will have with other breweries, you know, everything from like if a piece of equipment breaks down, like people will drive out and help show them how to repair it, or they'll share new recipes. It's like there's so much collaboration and I find that so refreshing in a world where everyone wants to close down, and whatever they've built, they try to put a wall around it and say we're not going to share what we've learned or help you out. And it's like, that's such a such a waste of hard earned knowledge. And I really commend both of you for putting that out there of, you know, sharing some of that institutional knowledge and like you said, Ryan, you've stuck around for so long, like being able to to pass along the things that you've learned just really helps everybody move forward and that's how we evolve as a society. So thank you both so much for joining me today. I really appreciate you taking the time.
Ann Pifer 59:13
Oh, thanks for having us and thanks for helping us solve our tech problem.
Tim Bornholdt 59:18
Thanks to Ryan and Ann for joining me on the podcast today. You can learn more about Adopt A Classroom at adoptaclassroom.org.
Show notes for this episode can be found at constantvariables.co. You can get in touch with us by emailing Hello@constantvariables.co. I'm @TimBornholdt on Twitter and the show is @CV_podcast. Today's episode was produced by Jenny Karkowski and edited by the timeless Jordan Daoust.
If you have a minute quick before you leave, we'd love it if you left us a review on the apple podcast app. It doesn't take much time and it seriously helps new people find our show, just head to constantvariables.co/review, and we'll link you right there.
This episode was brought to you by The Jed Mahonis Group. If you are looking for a technical team who can help make sense of mobile software development, give us a shout at jmg.mn.