Inspiration 💭

SheHacks 6 was an opportunity for the three of us to work in a team to create a project for women by women. As soon as we got together, we were inspired to create a platform which would entice younger girls (and people in general) to be interested in the STEM field, especially programming. However, we knew from experience that programming can be a field which is difficult to get into and which can seem like a huge mountain to climb, so we wanted to make the experience both fun and rewarding! Thus, CodeJAM was born, an innovative Candy-Crush like game which allows you to learn a programming language in a fun and intuitive way!

What it does 📱

CodeJAM (born from the initials of our names: Jamie, Angele, Mia) is an app which aims to teach YOU the basics of programming. By signing up in the App with the click of a button you will be provided your very own profile linked to your Hedera wallet which keeps track of your progress and ensures a safe and secure experience on our app. You are then presented with a variety of programming languages to chose from each with their own individual game map where each level is accompanied with a quick lesson on the concept you need to learn for the "test". As you progress through the game, the concepts build on each other and grow more complex to finally reach the goal, which is a real project at the end of all the levels of a language. CodeJAM aims to bring women and other children who may be wary about the STEM field to experience the possibilities of technology and how they can do their part.

How we built it 🤔

CodeJAM has multiple components which make up its sweet spread:

  1. Xcode and Swift are used for the front end of the app as well as the basic functionalities.
  2. Javascript is used with a Hedera prototype to create user IDs when the user register's with a name on our app.
  3. To connect user data and the app we used Google's Firebase.
  4. Python was used for the main backend of the app such as checking for user input and comparing it with the expected input.

Challenges we ran into 💡

Probably the biggest challenge we ran into was that everything was remote and we were all in different areas of North America (Montreal, Walpole and Calgary) which meant that we had to have a huge number of zoom calls over this weekend to coordinate parts of our project. One of us was even in a different time zone! However, due to all of us being responsive to messages and communication, we managed to work together to achieve a result which we couldn't be more proud of. Another challenge was that although one of us had been introduced to Blockchain prior to this Hackathon we had very little experience in coding with it or integrating it into an app. However, thanks to the help of multiple people at Hedera as well as their workshop on Saturday, we managed to implement decentralized identity using tokens into our application.

Accomplishments that we're proud of 🏆

We're unbelievably proud to have created a functioning application to show the judges this weekend. We believe that this application can be the beginning of a range of applications targeted to younger persons (especially women) which would make learning both fun and engaging even while being online. Working with a group of women towards a common goal of introducing more diversity into the STEM field has been amazing and we have enjoyed every waking second. As mentioned above, getting Hedera to work in creating identification tokens was also an accomplishment which we worked very hard for this weekend and which we couldn't be more proud to have implemented into our app. Cybersecurity should become a number one priority in all applications in the future (as well as today!) so letting our app be one step closer to a safe and secure online experience is an achievement in our books! Moreover, we are proud of being able to implement a data communication framework from Hedera to the app through Firebase as well as using Firebase as a secure data storage for user information. We do hope to be able to remove Firebase in the future by implementing more of the Hedera functionalities such as wallet pairing. We still see the use of Firebase as an achievement as it brings our app together with data and Hedera.

What we learned 📘

We have learnt a lot more as a group about many of the sponsors which have taken part of this Hackathon, we used the opportunity to it's fullest to attend workshops and presentations by companies which we were interested in, the StartUp Panel as well as the Hedera Workshop were just some of the sessions which we attended and during which we learnt a lot about a lot of different things in the industry. Probably the biggest lesson we have learnt however is that Hackathons are not just about coding. Coding is a very important part of a Hackathon as you are expected to create a product which you can present to the judges at the end of the weekend, however, we have learnt that what makes the Hackathon experience is the team building and the sharing of ideas. We have learnt that relying on your teammates for ideas and inspiration is a HUGE part of Hackathons and what make them as enjoyable as they are. We have learnt how to work as a team and how to help each other even when we are at our most exhausted.

What's next for Code J.A.M. 🍯

In the future, there are many ideas which we would like to implement into CodeJAM, some of the more notable ideas which we have discussed are the following:

  1. Adding more functioning languages into the app, because of the time limit given to us we were only able to make the app work for some python. However, we would like to expand to other well-known programming languages such as Java, HTML/CSS, Javascript...
  2. We want to do more with Hedera, we were only able to get a taste of what the Hedera platform is able to do this weekend so we want to explore more of the functionalities which are offered.
  3. We want to introduce characters and customization into the app. This would probably entice more of the younger generation to take part in the app and complete the challenges which could offer them accessories.
  4. Messaging functionality when a user is struggling with a problem which would allow them to either connect with another user or with a mentor which would prevent people from getting stuck on a given programming problem for large amounts of times.
Share this project:

Updates