With the theme for Lancer Hacks being "standing on the shoulder of giants" and a school mission to "educate hearts and minds to serve the world", we wondered how we could incorporate both ideals into one idea. We interpreted giants as previous experience and information that has percolated into our daily lives. We found it fascinating how people just a few feet away could have entirely different lives and stories. Entirely different Giants. From there we wondered how we could bring people together and have them learn from each other in a way that was both creative and exciting.
What it does
Our app allows users with strong Giants in certain areas (for example Technology) to work with others who happen to be strong in other various areas (for example Finance). As a user, I can create a project and seek others that can help the idea come to fruition. Not only do our ideals get challenged but something tangible is present at the end of our collaboration.
How we built it
We built it using UIKit in the Swift programming language for the iOS application. In order to ensure smooth usage with various users, we used Firebase to store both user and project data (including things such as the expertise and interest topics for said project/user). We built our own chat system to ensure the simple yet fast chat experience. Lastly, we created a recommendation algorithm to curate the various projects to our users so that the feed of projects on a user's homepage consists predominantly of ones they would love to partake in.
Challenges we ran into
Our biggest challenge would be merging of different parts that we worked on individually, specifically the Storyboards on Xcode which often don't play well with multiple computers. In person, it would be typically much easier to send files over or debug on someone else's computer. Obviously that can't happen so we did the best we could and quickly adapted to the situation. Another major challenge we ran into was Firebase and its integration into our application. At first, our database would not cooperate but after some persistent debugging, we persevered through and were able to use our sever.
Accomplishments that we're proud of
First and foremost, we are proud of our idea as we found it to be an elegant solution to something that everyone has experience with. Technically, we are proud of our server integration, chat, and recommendation system. Lastly, we are also proud of the user oriented design that enables quick and easy use.
What we learned
We learned a lot about Swift and iOS development today. We also learned about Firebase, algorithm design, project architecture, and even a bit of Github. Beyond just the code, we learned a lot about time management as we fought the clock to get in all that we wanted.
What's next for Kavsaa
Next we wish to accommodate different Project types instead of one default template so that people can explain the idea as best as they can. In addition, we would love to involve even more collaboration tools that make our app a one stop shop. These tools would include video chats, screen sharing, and online whiteboards to name a few. Lastly, we would like to provide the user with more options to get the app to know them better (such as allowing likes for projects and learning user taste from that).