If you’re reading this post from the ECCE blog, you are probably already aware of the ECCE App Challenge. In the case you are not, it is a hackathon held each year by the Esri Canada Centre of Excellence (ECCE) that challenges students to generate an innovative GIS application using open Canadian data and Esri Software. This year’s theme was Sustainable Transportation, an important topic as many cities across Canada look to diversify their transportation systems in the face of accelerated population growth and climate vulnerability.

With many local governments pledging hefty emissions reduction goals in recent years, our team aimed to create a decision-support tool that provides an accurate and customizable way to model the results of proposed action plans. With the theme of transportation in mind, we chose to focus on the emissions reductions from reduced traffic congestion associated with the increased use of rapid bus transit as a primary commuting method.
As this was my first experience participating in a hackathon or app challenge, I went in a bit blind. Even though the duration of the challenge was short, it was very immersive and I learned many valuable lessons in the process. In this post I’ll touch on some of the key takeaways I learned throughout the one week challenge.
Lesson 1: Choose your topic based on the available data, not the other way around
We started off with some initial ideas we were interested in exploring, but we knew that finding the right data would be the most limiting factor for our project; this means data that is extensive enough to conduct robust analysis and that contains the necessary attributes or unique identifiers to link to external datasets. We didn’t spend too much time delving into the logistics of any idea until we had found the relevant data to determine if it was viable.
We ended up finding the exact dataset we needed in the results of the 2021 census data for the City of Halifax, which enabled our commuter network analysis. If we hadn’t found this information, we wouldn’t have been able to move forward with our idea, which is why it’s so important to address data availability as early as possible.
Lesson 2: Get outside of your comfort zone but don’t overcomplicate things
None of us in the group had worked extensively with the Network Analyst toolset in ArcGIS Pro before, besides learning the fundamentals for coursework. We knew that, to accomplish most of the ideas we had, we would need to do some form of network analysis. We also knew that, while powerful, the Network Analyst tools are highly scalable and can become very complex, depending on how you use them.

The main driver of the complexity of our analysis was the fact that we were analysing public transit routes, which meant coordinating stop times, handling uneven speeds between stops and building a multi-modal network. We also had the added issue of factoring in ferries a mode of transit, as taking the ferry to access downtown is a key part of many commute journeys in Halifax. We strongly leveraged Esri tutorials and blog posts to support us in our analysis. We ended up making it work, but we were definitely down to the wire with the app due to the time investment in learning a new skillset, and put a lot of other priorities to the side to finish it. Although I feel proud to have pushed myself to go beyond what I had learned in class, I’m not sure I would recommend this to another team with less time to invest.
Lesson 3: Know when to abandon an idea when it isn’t working
When we were at the stage of designing the functional layout of our app and the key functions we wanted it to accomplish, we were very excited about the idea of enabling the user to produce a custom bus simulation output by inputting different fuel combinations. We wanted to achieve complete interactivity to make it closer to a true simulator app. I wrote a custom Python script tool that was able to successfully generate the calculated emissions outputs based on user input fuel conditions in ArcGIS Pro. However, we reached a barrier when we learned that our student user types did not allow us to publish a script tool as a web tool for use in an Experience Builder Analysis widget.


After learning that it related to limitations on the BCIT server when publishing web tools, we tried multiple workarounds including reaching out to instructors to change our user types and reworking the tool as a hosted Jupyter Notebook and ArcGIS Online ModelBuilder tool. Although the notebook successfully ran and produced an output when run internally, it did not produce an output as we had expected when run from within Experience Builder. Eventually, we had to cut our losses and abandon the idea of having dynamic user input. We adapted by running several combinations of parameters using the script tool within ArcGIS Pro and allowing the user to toggle through the outputs in the app. It wasn’t the output we had hoped for, but, given the time constraints of the challenge, we had to make some executive decisions and adapt.
Lesson 4: Don’t spend all of your time on the app itself. The video and supporting documentation combined are just as important.
The last lesson I really learned was that, although having a working, useful app is a major part of the challenge, the importance of the video pitch and supporting documentation is not to be underestimated. Even if you have an impressive app, if you cannot pitch it to an unfamiliar audience in an engaging way that makes its purpose and usage clear, it loses it value quickly. After all, the ultimate purpose of any app is to provide utility to users, and being able to clearly communicate that utility is critical, especially in an age where attention spans for digital media run low. Trimming down the messaging of the app to a digestible volume ended up being more of a challenge than I thought, and it is definitely an area we could have improved upon. The supporting README document also ended up consuming quite a bit of time in the final days of the app, and we really set ourselves up for success by taking detailed bullet notes of every step we took along the way. Having someone assigned to recording notes on the methodology throughout the whole process is definitely something I would recommend to future teams.
Final Thoughts
Overall, participating in the Esri App Challenge was a great experience that I would recommend to any GIS student who is eligible. It really pushed me to take everything I had learned up to that point and put it into practice. The short timeline forces you to confront your strengths and areas of weakness from the outset and think creatively and quickly to solve problems. Some of the methods we tried worked better than I thought; other ideas we had to scrap entirely. Nonetheless, by the end, we produced a product that I’m proud of, and I feel motivated and prepared to take on other hackathons in the future.

