Skip to Content

HackFD Military Hackathon

Flask - Python

This project uses Flask in a server that provides an API

Project Management

I got to oversee planning and design the project so that it is feasible with my team's capabilities

React

The front end of this project is implemented with react and uses a lot of public libraries.

Requirements Gathering

To make sure we focused on a relevant problem, we took the time to interview our colleagues and managers about their experiences.

I attended my first hackathon in 2024!

It was a very good learning experience as this 36 hour hackathon was primarily focused on software engineering and innovation.

I got to put together a team of other military members from my unit who were interested. After some interviews, design and planning sessions, we were able to compete against 36 other teams.

Our team got to the finals of the event, surpassing 29 other teams.

Introduction

In order to compete, we had to first generate our idea so that it falls within one of the 4 challenges of the event:

  1. Amplifying lethality
  2. Augmenting Cognition
  3. Preparing to Fight
  4. Defeating Bureaucracy 

Teams had to innovate within the realm of relevant issues to the Canadian Armed Forces. This portion was difficult for us as all 4 of us held the rank of Corporal and below - we didn't have exposure to the biggest issues within the organization, so we had to try to solve problems that we were familiar with.

One idea that we developed upon is a reimagination of a piece of software that is responsible for employee management. This project fell under the challenge of defeating bureaucracy as our implementation would significantly improve planning of internal events and provide managers with analytical tools that are able to work with data that's being passed around in the organization. The days of tracking people down on excel spreadsheets would be gone.

After the 36 hour time window, we must present our project to a board of judges, going over the problems it's trying to solve, and technical aspects of our design. We are judged on the presentation, innovation, technical achievement, alignment, impact and usability.

Technical Characteristics

Our project, due to a tight time limit has very simple design. The front end is implemented using React within the web browser. The react client communicates with a server through an API. The server provides API endpoints through Flask in Python. 

While the project is more of a proof of concept implementation, it has a stub database set up for the server, which can be easily swapped out for a real database.

At the center of the React client lies a graph editor that's meant to serve as a way to quickly organize personnel. Before the hackathon, we thought this would be a pretty simple thing to do, as one does when they have no clue what they're doing. While our preparations did help a lot in developing our idea, the graph editor took us the longest to implement.

With that being said, the editor on its own already allows for some analytics by building a graph out of synthetic data, and then filtering the nodes based on what qualities they possess. These qualities can be qualifications or specific pieces of data. Nodes that pass the filter get highlighted. 

Beyond that, the client has simple UI for employees that allows them to see and edit their personal information.

Experience

Prior to this hackathon, I actually had no experience with React and Flask. While I knew a bit of Python, I was far from proficient in it. This event, while exhausting, was a lot of fun - not only did I get to do what I like, but I also learned new things.

My one regret is not preparing my team enough for the competition. Prior to the event, us and most other teams that attended the hackathon virtually were kept in the dark up until a few weeks before the competition. 2 of the 4 team members were very uncomfortable with coding as they were expecting the hackathon to focus on cybersecurity. I wish I provided them with better guidance as to how they can train up and contribute beyond planning and design.

FOREX Trading Bot