Inspiration
When the hackathon began, many people still had no coherent teams formed. The team-maker meeting outside of the room was very disorganized and time consuming as well. I was one of those people who were trying to find teammates that had similar coding experience and language preferences, however, that has proven very difficult. This is when I began writing this app with Chris; Hackr: a team-finding solution to hackathon attendees-in-need.
What it does
Hackr is a team-finding solution for hackathon attendees. You go to the page, login/register, fill in the questionnaire about your coding experiences/preferences, and then the program will calculate and try to match you with the best team members already registered based on their coding experiences/preferences. Say for example, you prefer working with python, the program will note that and compare you with other members. If person-1 also prefers python while person-2 prefers java, the program will put the person-1 match at the very top while person-2 is ranked lower.
How I built it
In the very beginning we used google docs and microsoft onenote to plan and design the app. Then we began writing the entire app in Javascript and PHP, however, we ran into problems soon to be mentioned in the next section, so we switch to writing in WPF (C# and xaml). Each page in the app is a different file with tons of different syntax, variables, and commands. For the login/registration part of our app, we made a database using Microsoft Access (.mdb). Same thing for our survey too. For our comparison algorithm, we made a systematic loop that goes through all the SQL responses and creates object for each one (including a special object for your answers) and then it puts all the comparisons in a list. This list is then sent into a scoring algorithm (thinking of +1 or 0 based on answers, so your answer = same as their answer = 0, your answer =/= their answer = +1; the higher the score the worst the match). The data is then reordered for the matches.
Challenges I ran into
Problem 1: This team started with 4 people with different coding experiences/preferences put together in the "team-maker meeting", so you can imagine how that went. 5 hours into planning and starting, two of the members just quit due to the hackathon not meeting their "expectations." So it was then just Chris and I left to tackle this problem. Problem 2: 10 hours into the hackathon, we realized that what we were planning with the guys earlier wouldn't work. We were coding in JavaScript and were trying to run SQL and PHP to set up a local server that would run the html, scripts, etc, however we could never get it to work. Chris and I had little to no experience when it came to JS and local databases (the other guys knew how to...), so we decided to scrap the entire project and start fresh in C#/Xaml. Problem 3: Only Chris knew how to code in C#, I only had little experience with JS and Java so it was basically a one man team most of the time. I did help with creating the survey and also outlaying/designing the project, but we both knew we were going to have the spend the entire night just to finish this.
TL/DR: hackathons need this app or else attendees like Chris and I get screwed over
Accomplishments that I'm proud of
I am actually proud of Chris and I for finishing this project even though we had start entirely from scratch half way through the competition. With determination and red bull, we were able to create a decent app that has most of the ideas we intended it to have.
What I learned
I actually learned a lot about coding in C# and xaml. The coding language was very similar to Java and JS, so I had no real issue of picking it up. I also learned more about what goes into creating projects and working with others. I was also new to Github, but I managed to pick it up and helped Chris in working on the project.
What's next for Hackr
I was hoping that with more knowledge in servers, JS, SQL, and PHP, I can actually recreate this and have an official website for this service that all hackathons can use. We can also make this program generic in a way that other people can use it to find teams that isn't for hackathons (for example: group projects in a classroom setting).
Log in or sign up for Devpost to join the conversation.