Inspiration

As David and Julian grew older, they found ourselves departing from they childhood habits - namely, watching Saturday morning cartoons. This Saturday, the first three things they did when they woke up were:

  1. Check Snapchat
  2. Check Instagram
  3. Brush teeth (yes, in that order)

Gone were the days of our stress-free, cartoon-watching lifestyle. So, we took it upon ourselves to bring a little more humor (in the form of cartoons) into our most common daily habits - namely, social media.

What it does

What doesn't it do? Actually, as of right now, it doesn't do much. Snap Toons (TM) currently has two main features: greyscale, and cartoonization. Users can either take a picture, or select one from their camera roll, and they will have the option to apply our two filters to it.

But alas, we had far more audacious plans for Snap Toons (TM) during the hackathon that largely went unrealized - whether this was caused by technical challenges, excessive eating/sleeping, or an 8-hour self-imposed hiatus from hacking, we really don't know.

What we do know, is that we made lofty goals to use the Snap Kit API (Stories and Creative), in synergy with Microsoft Cognitive Services (Azure) to "cartoonize" friends when you took pictures of them, and allow for distribution to your entire friend group.

How we built it

We built Snap Toons in objective-C on X-Code (to run as an iOS app). While this may seem straightforward, we certainly didn't think so - and for the longest time during the hackathon, we debated whether to pivot to Python (or MATLAB) to build our platform.

However, after extensive discussions and many hours of napping (to strategize and think clearly), we came to the decision that this was best built in objective-C. Now, the two key drivers behind this were:

  1. API Functionality - While Azure would work regardless of the language we chose, Snap Kit and other future social media API's would require a language such as objective-C.

  2. Knowledge Breadth - As engineering students, we were comfortable working with MATLAB and Python - we wanted a challenge, to expand our language repertoire and vocabulary. And we definitely got one (given that Snap Toons is less that 20% complete).

Challenges we ran into

As SnapKit was only released this June, the documentation on using the API is still currently extremely limited. The instructions for implementing SnapKit with our app were vague and mind-boggling. We spent a whole day trying to figure out how to combine our proud creation with SnapKit to very little avail. This truly broke our hearts knowing that we were not able to share our wonderful creation with the Snap community.

Accomplishments that we're proud of

Pride is a fickle abstraction. It is also relative. The accomplishments that I may take pride in may be just as easily seen as a non-event for another. Thus, we chose to take a holistic approach to our assessment and evaluation of our proudest accomplishments this weekend.

Social events such as the bus ride down to PennApps, along with Friday-night ice skating were among our favorite events; we derived great pride from participating in them. Furthermore, attending speaker talks from companies like CVS and Bloomberg, along with talks given by fellow Penn students on Firebase and GraphQL were some of our larger sources of pride over the weekend. And yes, we took great pride in our teamwork and grit as we attempted to surmount the gargantuan task of working with API's with little-to-no documentation.

I would like to close with some remarks regarding some of the opportunities we felt we may have missed out on. Perhaps the greatest of these was Comcast's 5K run on Saturday afternoon. Having just rained, the weather invited and beckoned both of us out; yet, we made the last-minute decision to stay indoors, out of fear that it would start raining again during our run - given out unique athletic prowess, it would have been likely that we would have stayed out late. We also regret missing out on several networking and social opportunities.

What we learned

As our first time working with iOS app development, we learned to work in Swift, Podfiles, and Objective C.

What's next for SnapToons

We have multiple plans in future iterations of SnapToons. One of these include the ability to Bitmojify your bitmoji friends using facial recognition in your snap. Although there is a heavy implementation of Bitmoji in Snapchat, there have yet to be facial recognition features in the application, allowing you to use Bitmojify you and your friends or even use Bitmoji stickers that include your friends when you take a snap together. Furthermore, as SnapKit matures as an developer tool, we will hope to successfully share our application with all the wonderful Snappers out there.

Built With

Share this project:

Updates