View on GitHub

1100 0011

Smart Mirror

My mirror is smarter than yours :P

About

The Mirror to get you ready for the day.

Offers features like showing date, time, weather, schedule and notifications custom-tailored to the person standing in the front of the mirror.

Summer Project under Programming Club IIT Kanpur. Team Members:

  • Abhinav Kumar Sharma (@jmoriarty221B)
  • Shubham Jain (@shubjn)
  • Subhdeep Saha (@subhdeep)
  • Yash Srivastav (@yashsriv)

Features

Github

Hosted completely on Github.

Time

Shows Current Time

Date

Displays current Date

Weather

Displays weather according to location

Notifications

Displays phone notifications using Pushbullet

Face Detection

Uses Microsoft's Project Oxford

Project Description

Date & Time

Fetches current date and time using javascript from the system date and time

Weather

Uses HTML5 Geolocation features to obtain location, i.e., latitude and longitude.

Uses the latitude and longitude to obtain weather data using Forecast.io API

Schedule

Fetches the user's schedule using Google's Calendar API

Notifications

Uses Pushbullet's API to mirror notifications on the mirror.

The user needs to have the pushbullet app installed and mirror notifications set to on.

Face Detection

Uses a javascript library - js-object-detect to check if a person is standing in front of the mirror

If yes, then we proceed to face identification which requires Internet Access

Face Identification

Uses Microsoft's Project Oxford Face API for face identification.

For more details on how to use it, refer to our project's wiki page - https://github.com/11000011/Smart-Mirror/wiki

The User Model

The User Model

The user model looks like this:

{
  name: "foo bar",
  userId: "microsoft user id",
  pushKey: "pushbullet api key",
  refreshKey: "google authentication key"
}
                    

We will have a registration page where the user can enter all this data and it will be saved in a file called users.json

Users contains an array of objects looking like the above. All our API keys are also stored in a different json file called keys.json

Documentation

LaTeX Documentation
The LaTeX document can be found here : report.pdf
Github Wiki
Help for the more harder technologies used can be found here : wiki