Chrome extension to recommend the best settings based on ML algorithms
The developer should use the following technologies:1) Chrome extensions (HTML, CSS, and Javascript)
2) NodeJS
3) Firecast database
4) Firebase functions
Here is the scenario I would like to be implemented:
When the user accesses a web page that contains privacy settings, the extension should be able to highlight those settings that are recommended to be changed.
This decision of what setting needs to be changed is based on the user profile being sent to a machine learning algorithm (J48 decision tree and binary logistic regression).
Here are the details. I need to develop a Chrome extension to do the following tasks:
1- Allow a user to login to his Google account
2- Allow him to answer four questions which portrait his profile
3- Store his answers in Google Firestore
4- When a user enters the privacy settings on Fitbit website (or any other website that could be specified later), the Chrome extension should do the following:
(a) ask for permission to access this web page
(b) when granted, the extension should collect how each setting is configured and
(c) the extension should run a machine learning (ML) algorithm (J48 decision tree and binary logistic regression) to predict (e.g. suggest) how the different settings should be configured (i.e. which option to choose: private, friends, or public). Those settings that need to be changed are highlighted appropriately and the suggested configuration is shown in a nice way to the user.
(d) the ML algorithms should be implemented as Firebase functions that do online learning using the data stored in Firecast database. I believe these ML algorithms are already implemented as NPM packages that could be imported and called directly.
(e) the collection name is called "privacysettings" and it contains: ID (email address of the user), app (string that holds website name like Fitbit), Q11 (NUMBER),Q12 (NUMBER),Q16 (NUMBER),Q17 (NUMBER), sleep (NUMBER >> 1. Private, 2. Friends, & 3. Public), time_active (NUMBER >> 1. Private, 2. Friends, & 3. Public)
(f) when the user saves the new configuration, his profile along with the configurations are stored/updated in the mentioned collection.
5- Similar to 4 but instead of acting on Fitbit settings webpage, I would like another version of the Chrome extension where it acts on a webpage, a nice HTML page that must also be created and hosted by Firebase Hosting, that contains two privacy settings and ask the user with whom he is willing to share those two settings. The choices should be implemented as checkboxes and there should be 9 of them named as choice_1 to choice_9 (I will change them later).
For this to work, I have a dataset that contains a bunch of records with the following structure
collection name: ivr
data in the collection: ID (contains the user's email), Q11 (NUMBER),Q12 (NUMBER),Q16 (NUMBER),Q17 (NUMBER), sleep_1 (either 0 if the user is NOT willing to share sleep information with caregiver, 1 otherwise), sleep_9 (0 if the user is NOT willing to share sleep information with strangers, 1 otherwise), active_1, active_9
In summary, I need a Chrome extension that does recommendations of privacy configurations by running ML algorithms (I need both J48 decision tree and binary logistic regression to experiment with and I think these are already implemented as NPM packages). As a way to experiment with this idea, I need a slightly different version of the extension to act on a nice HTML page with only 2 settings and 9 checkboxes for each settings where the user checks with whom to share each data and whatever he chooses should be saved in the ivr collection.
The core of this is the ML algorithms that are implemented or called as Firebase functions.
Deliverables:
- 2 versions of the Chrome Extensions
- 2 Firebase functions that implements the 2 mentioned ML algorithms which act on data in Firebase database
- 1 HTML document with any related CSS and Javascript files