Metisa: Personalization engine for websites
Web Browser (Javascript) SDK for Metisa
Metisa allows any website to implement personalization with a few lines of client side Javascript code.
This package is intended for use on the client side (i.e. web browser environment) and works with a Metisa account which can be created for free here.
Features include:
- 'Things You May Like' widget
- 'Trending Items' widget
- 'New Items' widget
- 'Related Items' widget
- Send personalized emails to your customers
- Customer analytics including predictive CLV, predictive churn and customer personas
- Customer segmentation
This SDK is currently in Beta! Your feedback and comments are most welcome at hello@askmetisa.com.
Demo
Demo movie recommendations app
The code that implements the movie recommendations app can be found in this repository in the demo-movie-app folder.
Installation
Read our docs
Upcoming features
- Support for Node.js
- Support for React Native
Development (for contributors only)
Run it locally
- Install packages
- Run a local version with http-server
npm install -g http-server
cd gh-page/demo-movie-app
http-server .
Updating all items
If you would like to update all items in Metisa (without visiting each item.html page), you can open the interactive console in index.html and run the function updateAllItems().
Browser SDK
- open sample/browser/index.html from a browser
- run build scripts
npm run build-browser:watch
this will watch for changes in src directory and rebuild dist/browser.js.
Refresh the browser to see the reflected change
Nodejs SDK
npm run node-sample
Documentation
npm run build-doc:watch
Deploying Documentation
Prerequisite for this is Gitbook CLI
After updating contents inside /gh-page, you can deploy by simply running
You will be able to see the documentation here, and the demo store here
Folder structure
├── src
| Source files for the SDK.
| Development will mostly happen here
| ├── Metisa
| | contains SDK files
| | ├── core.js
| | | core API
| | ├── dom.js
| | | extension of core.js
| | | has dom specific apis
| | ├── index.js
| | | entry file to import core api
| ├── browser.js
| | entry file for browser sdk (script tag)
| ├── node.js
| | entry file for node sdk
| ├── util.js
├── dist
| contains generated files
| ├── browser.js
| | content for script tag
├── builders
| contains scripts to build files into /dist
├── doc
| Documentation for Metisa javascript sdk.
| This directory will be used to deploy documentation to Github pages
├── gh-page
| Directory deployed to Github Pages
| contains `/doc` and `/demo-movie-app`