Hackathon 2022 – Part 3

Day 2 has come to a close, and what a day it turned out to be. But, let’s not jump to the end. There is a whole day yet to share, and for those interested in what goes on at the Hackathon, you won’t want to miss it.

After a late night, and oversleeping, I was glad that I had grabbed a pack of donuts at the store across the street. Racing to get myself presentable and complete the hike across the hotel to meet my team, I messaged them to let them know I was running late. Today, being late was not a good idea. Presentations were a few hours away. While we had completed our project, we needed to test it on Gerhard’s laptop, which apparently blue screened this morning. While I like the color blue, that’s definitely not a good sign!

Meet Team Theta

From Left to Right:

  • Gerhard van den Heever – FBA Software – Developer MVP and our team lead for web services
  • Christina Schwark – Korpack – our team lead for business events and notifications
  • Brian Stevens – SETECH Supply Chain Solutions – Developer MVP and our team lead for Acumatica customization
  • William Weathersby – Intelligent Technologies – our team lead for business perspective and the presentation
  • Kevin Tag – Orangekloude, Inc. – web services developer and PowerPoint content manager

While one of our original team members was unable to attend, we were fortunate to welcome a new team member a few days before the Hackathon. This may not seem ideal to some, especially since this individual had missed out on the original planning session. However, our “substitute” team member proved to be a great stroke of luck for us with skills that were key to a very important part of our final product.

Back for Day 2

Arriving only 5 minutes late instead of the 15 minutes I had warned the team, we welcomed a friend of one of the team members to our table adding one more friendly personality to our table to cheer us on. The team had not wasted any time and had already started focusing on how to fit our presentation into a very tight 5 minute window. Gerhard asked me for a copy of the latest files to post on GitHub, and I reminded him that he already had them. (And just like that, I JUST NOW remembered that Gerhard went to bed early last night before I had finished some final touches. I better get him those update files tomorrow for GitHub!)

A Name, a Name. What Is Our Project Name?

Given the offensive nature of some of the images that our project hoped to block, I wanted to call it Acumatica Security System. (You can figure out the acronym.) However, even though it made us chuckle, I really couldn’t bring myself to allow such a name. After all, I somehow had managed to earn the wrong sort of reputation for the unsavory pictures I had to find for testing. We started with a decent name. Then one that was hard to say. Then one that was easy to say and hinted that we had placed a guard at the door to Acumatica attachments. Finally, we settled on a name that inspires thoughts of special Roman soldiers, the sun glinting across polished armor, sword in hand, ready to defend at all costs…

Acumatica Centurion

With Acumatica Centurion, keep your guard up against malicious and unsavory files and raise an alarm when enemies attack. Whether originating via standard screens, 3rd part web service applications, or the Acumatica Mobile app, the Acumatica Centurion never lets down its guard.

So Much to Say, So Little Time

We had made 3 parts to demonstrate. We had a notification to highlight when undesirable content was detected. We had a lot of technical information we wanted to share. What we didn’t have is a lot of time. We wanted to make sure everything was seen, so Gerhard made a slide for the 3rd Party mass upload program that he had built and Christina’s resulting notification triggered by one of his sample files. I did the same for the Mobile app screens and upload example that I had worked on. We crammed a LOT of pictures into just 2 slides and decided to demonstrate a simple upload of a single file to a Stock Item.

Last night was our very important laptop check with the AV system. Everything went fine, but Mark encouraged everyone to re-check this morning. This time around, Gerhard and I noticed something we had not last night – There is an awfully long delay in the new screen coming up when we switch the AV to the other PC!

Ready or not, our time was running out. We collectively assigned parts of the presentation to both convey our story and fill the gap of transitioning from the presentation on Gerhard’s PC to the demo on mine. As much as we wanted to demo everything live, we just didn’t have time. A few practice runs, a few slides moved around, a few slides changed to simplify the displayed content for the audience, and we had it. 4 minutes. Under the limit, and a buffer in case we stumbled to keep from going long.

Now Presenting…

Having totally misunderstood the schedule, I thought lunch was at noon with presentations to follow. Instead, I was about to miss lunch! In a rush, I grabbed my lunch of an Asian flavor and took my seat. It’s noon. Team Alpha, you’re up.

Presentations went in order of the Greek alphabet. From Alpha to Beta and so on until Lambda. Eleven teams this year. 5 minutes to present and 5 minutes for judges comments and questions as well as questions from the audience. As Theta, we would be a while before we presented. After each presentation, everyone in the room rated each team on several categories ranging from 1 to 10. The categories had an unknown multiplier to make some carry more weight than others, but we would be blind to those individual results. Team Zeta, you’re up. Team Eta you’re up. As questions start to dwindle, it’s time to move closer to prepare to take the stage.

Team Theta, you’re up. With purpose, we all took our places on stage, plugging in the two computers. Take a breath. Try not to look nervous. Try not to BE nervous. These are our friends, and we are all supportive of each other. Just breathe!

As William and Gerhard started the presentation smoothly and progressed through their content, I knew that I was up next to demo. While we switched to my PC, Christina would talk about the notification that she had setup. The feature was critical as that is how the Centurion raises the alarm, but it also prevented dead time in our presentation which we couldn’t afford. It hit me like a load of bricks. We were planning for the demo to be just 1 action. I would drag an image to a stock item to upload, and it would be done. No fluff. If you blinked, you’d miss it. Yep, I was going to give probably the shortest demo of all the presentations, and nobody would see these fantastic tools in action.

Fortunately, I had opened the mass upload utility and had some tabs open to show the files that had been uploaded. At the last minute, I did what nobody should ever do in a prepared presentation. Sure, there wasn’t a slide to walk us through my actions, but I was about to abandon the plan and just do a demo from the cuff. After all, I knew that the software worked, so what could go wrong? Famous. Last. Words.

Risky? yes. Necessary? Absolutely! Our team had put in the effort. We had developed a stand alone tool with great value just to be able to prove to ourselves and everyone else that our Centurion was standing guard, even from an independent software talking to Acumatica. I couldn’t let all that work live in only a powerpoint slide. The judges would want to see it. Heck, I wanted everyone to see what our team had done. So I flipped over to the mass load app, selected a folder, and uploaded 3 files. Approximately 24 seconds it would take to complete with our API rate limit of 1 call per second. Sure we had timed our presentation with a whole minute left, but would we run out of time? I checked the clock with 1 minute and 4 seconds left and went with it.

No turning back now. Instead of looking back through what happened for that one single file, I turned to talk about Cloudmersive and the limitation of our free account. When I get nervous, I bring humor even if it isn’t the right time. Fortunately, it worked. All of it. We finished on time – barely. Now for the comments and questions. Gulp!

Our plan had been to limit what we shared in our time limit and let them ask questions to open the door to more details. Now that I’ve gone off script, what did I do? Honestly, I don’t remember even now, but the conversation seemed to go well. My concern for the project is that attention would be diverted to the flashy stuff like the mass load itself or the API calls to classify images, scan for viruses, etc. The project was about the Centurion placed at the door to file attachment uploads. Everything else was to prove it worked from all 3 directions and to give us a reason to notify an admin. And, of course, the discussion drifted. I was glad that we had the additional supporting (or really leading) roles of the added features. They gave a strong idea enough substance for the eyes to see it.

Time to sit down at last, and a few more presentations to go. Did we just pull off a smooth presentation? Did everything actually work as expected? Did we really just demo all that? I’m not sure. It’s such a blur. But… I think we did.

And The Winner Is…

Ten other teams presented in addition to us. Everyone had SOMETHING to show. One project was admittedly smoke and mirrors to talk through the concept. It had been a great idea, but they ran into a show-stopping problem preventing completion. Several projects were very strong, and all the presentations were pretty good. This is gonna be close!

Third place goes to… well, I think we were 4th. That was a good presentation, but I thought we had it beat. I know at least 2 other presentations had to be at the top. Maybe even 3.

Second place goes to… ok. That was a good presentation. That was darn impressive. They were the team that had me nervous about duplication between our projects. Turns out, they were both related to files, but in very different ways.

And now, for the winning team of the 2022 Hackathon. While all the presentations were great, this team can secure our files. WAIT! WHAT DID YOU JUST SAY? IS THAT US??? WHAT? TEAM THEATA with the Acumatica Centurion!


Shock. Such a surreal moment. We had won first place. The giants of the developer community competed, and we won first place. That can’t be possible.

Three years ago, I was struggling. I was too proud to want to admit it, but I had admitted it. Our VAR had put me in contact with Mark Franks, and they double teamed to convince me AND my boss that I needed to go to the Hackathon. I had figured out how to do some things, sure. But I was staring at a long uphill climb to learn enough to feel the confidence I had enjoyed for 20 years on our legacy system. I was trying to learn a new language, new ERP system, and not drown. It was hard. I loved what I saw that could be done and that I was starting to produce something useful for our company, but I was in a bad place at the time. Still unsure how the Hackathon was going to help me, I participated with my team. I didn’t actually contribute, but they answered questions for me and shared insights. When I got home, I would go on to rewrite 6 months of code in about 2 weeks.

Two years ago, I would participate at the Hackathon and interact with a web services to pull down weather information. I rarely did anything with web services, and at the time didn’t know that I wouldn’t again for a very long time. But I felt a sense of success in that I had gained enough confidence to contribute. And contributing made me feel more confident.

One year ago, the pandemic was wreaking havoc, and the Hackathon and Summit ended up being pushed back several times until it landed in July… in Las-melt the skin off your face-Vegas. Just six months ago, I competed at the last Hackathon. I was back outside of my comfort zone, but I was determined to learn something new… and did.

Now, this very day, our team of the perfect balance of seasoned and new, programmer and business, brought the culmination of extensive planning, preparation, and good ol’ fashion hard work to victory. Even now, surreal. It wasn’t by any measure a testament of our team’s ability over any other. We were lucky. We had landed on a good idea, had the right skills across the team to bring all the pieces together, and we nailed the presentation. Before prizes were awarded, we were told that scoring was within 5 points from top team to bottom team, so it was close. Very close. We just happened to be lucky enough to end up on top. Our names to be immortalized on the Hackathon trophy. And a fleeting moment of glory for the bragging rights of victory. At the end of the day, it was just a friendly competition, and many of us came together to help each other out when we had problems. That, the support we give to each other even in competition, is what it means to be an Acumatica Developer MVP.

On Tuesday, we have 12 minutes to give our 5 minute presentation at one of the Developer sessions for Summit. We will come together to prepare again and this time, we have time to show off the features without rushing. If you are at Summit this year, stop by and see us as we present again… The Acumatica Centurion.

Happy Coding!

Leave a Reply