Episode 3: How we turned a 12-hour, 3-person job into a 5-minute click
The client: a non-profit OrganiCode has looked after since 2018.
The problem: twice a year, thousands of hours lost to manual data entry.
The result: the same job, done in five minutes.
The situation
Once or twice a year, one client that is a non-profit bulk-mails their entire database asking for donations. It's a critical part of how they fund their work. There was a giant inefficiency in how this process happened (well there were a couple, but this deals with a specific one). For various reasons the donation responses are captured on a completely separate webserver from their main database. Now, the two systems can't talk to each other directly.
So the data had to be manually moved across by hand. Every few days during an appeal run, someone pulled a report off the response server, handed it to the staff and they worked through it line by line, finding each donor in the main system and updating their record.
Looking at it analytically was eye-watering. An appeal run would generally result in thousands of responses (yay for the people who donate, they keep the wheels turning!). A single report in a week could be 500+ new responses that had to be hand processed. At a generous pace of roughly five minutes per record that's about 40 hours of work that had to be done in a single day. The report was usually pulled a day or two before their debit order run and had to be processed before the run. This meant that three staff members could easily end up with a 12 hour shift, twice a year, every year... just capturing data.
What we did
We are not here to get rich off a single client (it would be great), we are here to create value. We couldn't "connect" the two servers and have the response system automatically update the records when a donor clicked the "yep I want to give towards this appeal" button. So instead of proposing an elaborate fix, or saying "can't be done," we worked around the constraint and found a way.
We built a tool that uses the same report we were already extracting and does the human part automatically. It goes through the responses one at a time, uses a unique key to match each one to the correct donor, and updates the right records. Under the hood, two small stored procedures we added do the work of finding the correct data to change. The application itself was left completely untouched: no rebuild, nothing ripped out, nothing to break.
The bit that matters when the next step is a debit order run: as it processes each response, it marks it "done" in the report. Pull an overlapping report or run it twice, and it simply skips anything already handled. Nothing gets actioned twice, and nobody gets debited twice.
And it barely changed anyone's day, except to hand a big chunk of it back. The shape is almost the same as before: someone still has to pull the report off the response server (the staff can't reach that server, so that part stays with me). The difference is what happens after. That report used to go to three people for a twelve-hour shift. Now I pull it, click "go," wait about five minutes, and it's done. The staff don't lift a finger.
It took a few hours, maybe a day, to build. The effect was immediate.
A solution doesn't have to be elaborate to be good.
The outcome
That one tool has saved the client thousands of hours in the years since. Every appeal, three people get their day back: time and money that now goes into the mission instead of into data entry.
That's the part we care about. Not the tech stack, not how clever the code is. The outcome the client walks away with.
Is your team doing this?
If you've got a process where people spend hours shuffling data between systems, re-typing the same information, or bracing for a "we just have to power through it" shift a few times a year, there's a good chance a lot of that time can be handed back.
That's the kind of work we do at OrganiCode: finding the expensive, manual, easy-to-miss corners of a business and quietly automating them.
If that sounds familiar, hit the contact us here and let's talk
OR
- Email: info@organicode.co.za
- Call / WhatsApp: +27 71 411 0718
The more personal take on this one, and why the least impressive thing I've ever built is one of the most valuable, is over on my hub: The ugly macro that saved thousands of hours