Snapchat and Chatroulette inspired us in creating this app.
What it does
It's an interface to rate and compare pictures that you upload from your computer or mobile. Pictures a put in a one versus one duel where a user can vote for their favorite.
How we built it
By combining React and Meteor we were able to make an application that can scale to thousands on a single server. We carefully designed the interface and user interactions by first creating a paper prototype and testing it on people participating at the local event for MGDH 2015 and found several ideas that helped us making the application more fun to use. We also planned our publications and subscriptions to make sure the application can easily be scaled up using multiple nodes and database cluster.
Challenges we ran into
We had a lot of issues getting the logic together for the states of the core component, looking back we remade the components architecture and spent a lot of hours on it at the end but we felt that it was the major piece that would decide if the application could succeed or not.
Accomplishments that I'm proud of
In the regarding to the major refactor of the core component, we are super proud of what that ended up being and are comfortable having tons of people have fun on the platform just released. One thing we thought was very useful to not bog down our servers was by using the slingshot package that uploads pictures directly to S3 without our server intervening the upload or resizing which is instead done by the client application, and funny enough that also gives a great experience for the user as he can see the picture being uploaded before submitting it and even it being fully uploaded to S3.
What I learned
A good design pays of in the end, and you can not even imagine how that looks before trying out building it and learning from your mistakes. We've also learned that it's very successful thinking of how to get to production early and be able to scale it and test on users, it has great values coming along with that.
What's next for Snap Battle
We will see how well the app performs and maybe if we're lucky it will become a viral success and give happiness to a lot of people. We have lots of ideas to further develop the app with featured, trending, editing and usability features, but for now we will need to go back and work hard with our regular day jobs, keeping this in mind of how fun it can be to build with Meteor.