ihtfyp | 6.148 (web programming competition)




January 2016 has been a month-long 6.148 hackathon - my friend and I often worked on our web app until 4 am! We're hosting it at ihtfyp.herokuapp.com.

Currently, we made the semi-finalist round of the competition! (We'll find out how we did tomorrow!) You should also vote for us for the Webby awards at http://6.148.scripts.mit.edu/2016/webby/ihtfyp :) :) :)

The theme of this year's 6.148 was "remember the future" so we created an app that would be the future "lost and found box" for the MIT community. As of now, if you lose something, it's hard to know what to do: do you dig through physical lost and found boxes around campus? Do you ask your friends on facebook to look out for your lost item? Do you post a wanted poster?

We wanted to build a reliable, universal way of matching lost and found items, so we made ihtfyp. (We were in a punny mood when we came up with the name - our team name was MITeam)

We learned how to use a lot of tools along the way, including d3.js, heroku, nodemailer, body-parser, google maps javascript api, node.js, express/express-generator, client-sessions, motio, mongodb/mongolabs, bootstrap, jquery/css/html (and figured out when to use javascript callbacks!). You can check out our code at https://github.com/lizziew/ihtfyp

I think some of our coolest features were:

  • the matching algorithm: we had to pay a lot of attention to detail, and carefully update all of our mongodb collections so they were in sync 
  • verification questions: this was how we ensured that items got back to the right people. The questions are item-specific. For example, if you claimed you lost cash, you have to specify the amount. If you lost a shirt, you have to describe its color(s). We then send the answer to the finder to be confirmed. 
  • email notifications: we wanted ihtfyp to integrate easily into users' lives. That's why we decided to keep users updated via emails every step of the matching process. 
  • pusheen: including a hidden easter egg :) 

We did a lot of user testing, and think that our product is very easy to use (even if it's the user's first time!). Furthermore, making this a web app was appropriate because it fit user scenarios.

In the future, we hope to address spam issues - methods we're currently considering include human moderators and captcha.

After IAP, we're hoping to launch ihtfyp and help out the MIT community!






Popular posts from this blog

Space Race: a simple Rust game built on the Bevy framework

Building a Toy Language Compiler in Go

tldr: Raft + Implementation Tips