Giving Kids the Tools to Take Ownership

Jacob Olness
4 min readApr 29, 2021

I was approached by a group of Boys & Girls Clubs in Southern California about making an app to track the moods of children at their clubs to improve their programs and the level of support the kids have. The Boys & Girls Club is a national organization that provides after-school programs for young people. They offer classes, educational support and athletic activities. It was a very exciting and rewarding project for me to work on. The premise of the application was to allow children to check-in and check-out with their feelings to the club as well as provide easy feedback for the programs offered using an emoji based system. This makes it easy for the children to provide feedback but still gives the administrative staff the tools to see which children need more help or to talk with those who reacted poorly to the program to give the children a sense of ownership and to help improve the quality of the programs. When I first began the project, it felt very ambitious and it was something I really wanted to execute well, successfully doing this could greatly improve the experience the children have while poor implementation could mean it doesn’t get used.

Technical Challenges and Achievements

The application had a simple premise but had to be designed in a way to be as simple to use for staff and the children. It needed to implement functionality to both create QR code based ID cards as well as to scan them in using the camera on the tablet device they will be using as the terminal. In addition it needed to implement a back-end database of all the members, activities, multiple clubs, reactions from the students, the relationships between them and all of the user types, including their security permissions. For testing purposes we also had to create “seed data” so there was data present to test all of the functionality before having the client’s data that was imported from a .csv file. I handled the implementation of the models and the seed data with another dev. It went smoothly over all but was not without challenges. First, because of the deeply intertwined relationships there were some issues with the models, there was causing the back-end to fail to start. This was caused by the ID numbers for the joined tables so I split the IDs for the joined tables into their own files.

Code Snippet from the MemberReactionsId.java file
Code Snippet from MemberReactionsId.java

Current State of the Project

Due to the ambitious nature of this project, it was unfortunately not something that I was able to see through to completion with my teammates. We did accomplish a lot from our starting spot that I feel very good about. These features include:

  • Authentication & Authorization
  • Error handling
  • .CSV importing of activities, users and clubs
  • Data auditing fields (when and who edited/created)
  • Database with several relationships
  • User roles/permissions
  • QR code generation and scanning
  • Swagger documentation of the backend
  • A full readme
  • Information about the project to help the next team get started
  • .CSV validation

Going forward, I think the project will grow, supported by a strong foundation. Things I see that still need to be worked out are the following:

  • Fully implementing the check-in system including the UI
  • Further refinement of the UI design
  • Getting the real data imported and tested
  • Refining the database to work with the specifics of the .csv formatting

Technical challenges I see going forward will be the testing of the database with the client’s data, we didn’t have specifics so we set it up very loosely and did our best to document it but there will be changes needed and this may cause some issues in the short term.
I received a lot of great feedback and help from my teammates, one of them was very helpful in walking me through and helping me debug the issues I was having on the models due to the ID issue that was discussed earlier. It really helped me have an even better understanding of Java models and was a good reminder of why it is so important to reach out for help sooner rather than later.
I think this project was exciting to start and is something that I will be proud to talk about in interviews, the effect it will have in these children’s lives could be very big and I am honored to play even a small role in that. It was such an exciting idea to be able to give kids the chance to really think about how they feel, a skill many adults don’t have, as well as giving them the opportunity to take ownership of their programs to improve them. This is the largest project I have worked on and I think it gave me the best taste of what it will be like to work in a team environment at a company.

--

--