<commit_before>machine-learning-as-a-service
=============================

Implementation of MLaaS using Rails<commit_msg>Update README to explain purpose of this project.<commit_after># MLaaS
A mock implementation of "Stripe for Machine Learning". One can also refer to this
as Machine-Learning-as-a-Service, or MLaaS.

## Introduction
This is a sample code repository I use to show to potential clients. Through this project,
I want the client to see

* how I write my code, including code format, comments, and git workflow,
* how I reason about, and propose solutions to, under-specified business problems,
* how I architect my code,
* my understanding of web development, and best practices.

The client and the idea are something I made up for demonstration purposes.


## Problem
Suppose that a client approaches me with the idea that they want to be
"[Stripe](https://stripe.com/) for Machine Learning". That is, they want to be
an API platform that allows developers to use the power of machine learning
algorithms without having to implement them. Incidentally, [Wise](http://www.wise.io/)
looks to be doing something along those lines.

The client is looking for a proof-of-concept, also known as an Minimum Viable Product (MVP).

## Solution
On a high-level, my solution is as follows:
1. Write code to define a classification algorithm. Since this is an MVP, one is enough.
A simple linear regression algorithm will do.
2. Design and build out the API that
  a. allows the developer to post their data for asynchronous processing,
  b. triggers a background job to run the classification algorithm on the data,
  c. allows the developer to check the status of the job. If the job is done,
  a result is displayed.
  d. Design a front-end app to demo the product.

I'm going to use GitHub Issues to architect my solution incrementally. In general,
a feature maps one-to-one to a Github Issue. In some cases, big features with
several moving parts (e.g. front-end and back-end changes) wil be split into
several smaller GitHub issues.
{'fraction_non_alphanumeric': 0.06842619745845552, 'fraction_numerical': 0.0009775171065493646, 'mean_word_length': 4.262210796915167, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 1, 'lorem ipsum': 0, 'www.': 1, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5901612', 'n_tokens_mistral': 536, 'n_tokens_neox': 508, 'n_words': 309}