Block is smart work timer using machine learning methods to predict optimal work and break timing. The app is written as a server-side component written in Python and Flask, and a client-side component written in ReactJS. The server code is designed to use a CouchDB instance to read and write data. Learning is done useing the sklearn package. For some more information on the workings, see this blog post.
Developed during my 2016 summer internship spent among the wonderful people at Made by Many.
##Overview
main.jscontains the core of the React.js front-end logicmain.pycontains the main backend server code, written using Flask.modelling.pycontains the machine learning code, based on thesklearnpackage.
##Requirements
The server needs an installation of Python 2.7 and the sklearn package. A CouchDB instance needs to be running. The app is configured to work with a database named active_server.
After building package.json with npm, the app can be tested using Flask's built-in server:
$ export FLASK_APP=main.py
$ flask run