Mark Matamoros ITP Blog

ITP Courses

Fall 2019

Spring 2020

Fall 2020

Hello Computer

Assignment 4: Diagflow Fulfillment. November 25, 2020.


Continuing from last week's lecture, the class recieved further information pertaining to Diagflow fulfillment with the utilization of Firebase and Node.js. Understandably, we student's were tasked with an assignment where we utilize these Diagflow features. Regarding this assignment, I chose to modify my previous Knock Knock Joke diagflow bot to function with the mentioned items.


As mentioned, modifications to last week's work pertained to the utilization of Firebase with Node.js. Specifically, each intent's response logic is now handled within the index.js file. Regarding this logic, each intent has an associative array of response phrases that are cycled-through upon the calling of the respective function. Furthermore, an associative array index handles the mentioned progression.


Assignment 3: Diagflow Introduction. November 18, 2020.


This prior week pertained to the utilization of Diagflow, an environment for developing an AI automated conversational system. Accordingly, we were tasked to create a bot for this week's work. Regarding the nature of this bot, I decided to create a system where users deliver "Knock Knock" jokes and receive a "Mark Matamoros" response.

These particular jokes were pulled from the Fatherly article The 87 Funniest Knock-Knock Jokes for Kids.


Assignment 2: Speech Recognition in the Browser. November 13, 2020.


In accordance with this week's assignment, I decided to utilize speech recognition in conjunction with a Chuck Norris joke database from Within this webpage, one is able to submit a subject via voice, followed with a server response for joke delivery. As the nature of this project is rather silly, I attempted to design the page in a similar manner.


Regarding the scripting component, the professor's in-class demonstration was heavily referenced for the work. Though, notable differences lie within the textual feedback and API usage. Pertaining to the latter component, the API's joke text-search query was utilized for the work. While a category search would have granted the user a directly related joke, the number of category choices was extremely limited. Thus, utilizing short phrases or words supplied a better selection of responses. Consequently, this approach does not typically deliver an exact match regarding topic, as the input only sources jokes that contain the vocalized word or phrase.

Note: I was rather dissapointed in the delivered jokes.

The following images display my source code:

hold hold v hold

Assignment 1: Speech Generation in the Browser. November 4, 2020.


My initial dive into this assignment appeared to be hindered by an external influence. Specifically, the presidential election provided a significant distraction; thus, conjuring an interesting project appeared to be challenging. However, upon rewatching the lecture and utilizing the examples that were provided within Mozilla's Web API pages, I came across an idea reflective of a childhood experience.

This experience pertains to being "yelled at" from my parents. The frustration of my bilangual mother and father began "speaking" from the computer after altering components of the "SpeechSynthesisUtterance" class. Influenced by this surprising find, I began to design the script for pauses between words, phrase repetition, gradual voice alteration, pronunciation shifts, and a "finale" of the saying "Dios Mio." Furthermore, a "cheesy" background color alteration was included for my own sophomoric humor.


It must be noted that the foundational components of the script are reflective of the professor's in-class coding demonstation. However, as mentioned in the prior paragraphs, additional items were programmed. The following list contains the specifics:

hold hold