Learning how to write an algorithm

My summer internship at Caila has been awesome with great mentors — Sergio Marrero, Alana Matos, and @Andrew Fribush. I have not only learned building database, algorithms, backend API, public cloud from scratch but also, learned about the ecosystem of startups, and how individuals want to change the world of workforce training and create an equal access to learning through artificial intelligence, regardless of socioeconomic status. Caila is all about changing the world of learning.

My summer kicked off focusing on data mining by collecting data from multiple online course vendors such as Udemy, Khan Academy, and iTunes podcast. Afterwards, the team has aggregated into one single PostgreSQL database in AWS. However, due to the nature of start-up, Caila explored other options of setting up a database in other public cloud system such as Google Cloud Platform and AWS.

The next step for me was to create an API that uses an efficient algorithm to return a list of learning experiences in JSON by using textual similarity metrics. There are numerous algorithms that measure how textually similar given two strings are. I tested methods such as cosine similarity, Knuth-Morris-Pratt, Levenhstein, and Jaccard distance. I developed my own custom algorithm that takes into account of sophisticated search word scenarios and computes a score of similarity of a search word using string-matching algorithms and mathematical functions. I then was able to deploy the algorithm using Flask in Python in AWS.

Overall, this summer internship was great! I got connected with awesome people who are passionate about changing the world of learning and try to support the team as much as they can. I am grateful for meeting those people and it is difficult to say goodbye to people whom I have been working for 4 months, but every new beginning comes from some other beginning’s end.

Soon, you’ll hear about Caila, a game-changer in the world of learning.

Thank you for everything,

Michael Chon