In this project we try to improve the current techniques of imple- mentation of Machine Learning algorithms in IoT(Internet of Things) devices, particularly we look at the formulation of k-NN based implementations. We study Proto-NN, a novel k-NN based algorithm for making predictions on resource scarce devices, and make improvements on it. Our major contribution is in min- imizing(or entirely eliminating) the need for sending training points to a central server(probably a high-end super computer). We successfully investigate into two techniques, namely, (a) Online Proto-NN (b) Ballogorithm. In Online Proto-NN, we completely eliminate the need for sending any data to a server by making the training algorithm completely online. Ballogorithm explores the possibility of sending intelligently picked limited data to the server instead of sending the entire dataset.