AppJam

1. Problem

Through its AppJam+ initiative, Dream for Schools tackles the issue of younger students being far removed from the arena of software development. This program provides students from 6th to 8th grade with hands-on experiences in software development that result in original, student-made products. Months of continuous work under the guidance of an experienced mentor culminates with presentations where student teams present their final projects and demonstrate their mobile apps in a showcase. The showcase is held in a competition format where a panel of judges representing different organizations scores each team, and the top five teams are rewarded.
Organizing each showcase and determining the winners of each was laborious work involving substantial coordination and much manual calculation. As AppJam+ continues to grow, so too has the difficulty in adequately managing each showcase.
Dream for Schools Foundation is an amazing foundation devoted to advancing STEM education with kids across our communities.
- For More Info on Dream for Schools Foundation or App Jam+

2. Solution

Our solutions targeted the issues faced on both fronts:
- Our Judge App is a streamlined, mobile-compatible scoring interface that provides the functionality necessary for each participating judge to efficiently evaluate competition teams.
- Our Administrative App provides an automated method to assign each judge with 4-6 teams, ensuring an open and fair competition environment, and to perform the hundreds of required calculations necessary to determine participating teams rankings. Our Administrative App also provides convenient features such as one-step Excel exportation, generation of Judge App login credentials and monitoring of live judging scores.

Why did we choose to approach these challenges through web applications using the React framework?
- Web applications allowed us to launch these two applications across both desktop and mobile platforms within the available time constraints.
- The React framework enabled us to achieve better software performance for complicated automation tasks and management of live competitions.

3. UI/UX

To add a new Judge:
Enter the judge name and email, then click Create. We use Firebase authentication with emails and passwords. Therefore, to avoid registration errors, our app will check inputted emails and only allow creating a new judge if the format is valid.
To manage a Judge's account record:
Each judge’s login credential will be shown under the “Account Record” section of the Judge page. To delete a judge, click Delete. Search a judge’s name or email in the search bar above the table for quick access.
To add a new team:
Enter the team name, app name, school and project description in the form, and then click Create. A team can only be created if all required fields are filled.
Judges View Tab- view assignments by judge
Teams View Tab- view assignments by team
To Manual Assign :
You can either select a team from the grey drop-down menu to add it to a judge's list in the Judges View, or you can select a judge from the grey drop-down menu to add a judge to a team's list in the Teams View.
To Auto Assign:
Auto Assign will algorithmically determine an appropriate assortment of judge and team pairings based on the number of each at a given event. Provided a minimum number of evaluations per team, the algorithm will calculate an appropriate number of teams to which each judge should be assigned and then iterate through teams from each school to maximize the number of different schools a judge can evaluate. Clicking Auto Assign will generate an matched assortment of pairings that adheres to guidelines about judge-team pairings; continuous clicks will overwrite the previous matches. As with Manual Assign, matched pairings will only be saved to the database by clicking Save.

3. Results & Future Impact

- After deploying the Administrative App and Judge App, our team oversaw four competitions that functioned more effectively by using the Administrative App. Hundreds of judges used the Judge App to help foster children's creativity and confidence in competition showcases.
- To be benefit of Orange County youth, AppJam+ continues to grow. Streamlining these showcases via our automated processes has drastically simplified the overhead of managing future AppJam+ events, regardless of the size of participant rosters.

4. About the team

DFS Team