life update of sorts

Well, it certainly has been a while since the last update. And I still have not bothered to get this site to be mobile compatible. Whatever. Anyways, lots of exciting things have happened in the past couple of months.

I participated in HackDartmouth with some of my friends from RIT, where we won a prize for best use of Alexa. We made an Alexa skill that engaged Alexa in a rap battle. We developed an algorithm which would pull out the subject of your rap, and create a rhyming response which was related to what you said. We had two versions in development throughout the project: one which tried to leverage an n-gram tagger to identify the main subject-verb-object phrase from the user's rap, and one which did not. Both then utilized a Context Free Grammar to construct a rap in response. In the end, we decided to try and leverage the option which utilized AI, but we had a lower success rate as a result. That simply means that our algorithm sometimes couldn't find enough rhyming words to create an appropriate response.
It was an incredible learning experience, and I would like to see more development done on that project, as there is a lot more to do.

In other news, I have started an internship at MITRE! There, I get to work on some very interesting projects utilizing AI. It has been a terribly valuable experience so far, and I am excited to see what becomes of it.

Somewhat as a result of this co-op and somewhat from my own interest, I have begun to do some research into smart home technologies. I plan to:
- Research into various companies/products working in this space, and make a list of the best services for custom development
- Create a use case that I would like to prototype with each system from that list
- Deploy it on each of those products, as well as on a made-from-scratch service of my own
- Document each of those processes, and determine which product is best/most convenient for custom development
- Continue building other smart home/IOT services with that product for the forseeable future until I'm convinced I should be doing something else

I will be sure to post updates on that process here. More good things coming soon.

hapi: a sentiment analyser

Try it out at! Query a user or hashtag by prefixing your input with either a "@" or "#".

What is it exactly? At a high level: something that tells you how positive or negative a user or hashtag is doing on Twitter. At a lower level: a Flask application which integrates the Tweepy library to communicate with the Twitter API to pull tweets from a given user or hashtag. The Google Natural Language API is used to determine the overall sentiment of each tweet. Then the Google App Engine and Flask are used to deploy the application to the web.

But where exactly did this idea come from? Well, from quite a few places: RIT's annual Hackathon, Brickhack, as well as my own interest in Natural Language Processing and Machine Learning, and my roommate Justin. This past weekend, Justin and I participated in Brickhack as a team. We went in with some idea of what we wanted to do, but not a clear plan of how to execute it. An hour or two into the hackathon, we sat in on a tech talk from Tad Hunt who discussed all of the resources Google Cloud Platform came with. After he mentioned that we were able to use their Natural Language services, I knew we had to do something with that. I had already made a start on a project that would pull tweets and perform sentiment analysis on them, so Justin and I decided to incorporate that idea with the GCP API. A day and a half later, and we made what we've called, "hapi" in its current state. I just want to say thank you so much to Justin, because he made the entire experience so much more enjoyable.

That said, we have many ideas for where we want to take this. For one, we need to make it look nicer. Since it was for a hackathon, we were mainly focused on functionality. But now that we have more time, we'll be adding a lot of cosmetic enhancements. In regards to the back end, we'll be cleaning up the code and adding more sophisticated capabilities, in regards to the sentiment analysis. It has been such a crazy time throwing this together over the past two days and I can not wait to expand upon it, and see what people do with it. More good things coming soon.

state of site

Hello there! This is to document my first major update to the site. The current setup aims to have all projects accessible by the navbar on the left, where their names and dates are displayed. The content of those projects is available on the right side of the page, where you are currently reading! If you click on a project name/site update on the left hand column, the page will autoscroll to the top of its description. That is why I have chosen to keep the Example_Project_2 and 3, so that this effect is presentable. I have also made the side navbar stay in place until you scroll past it, at which point it begins to scroll with the page. The top left section of the page contains an image of me, along with links to my resume, GitHub, LinkedIn, and Soundcloud. The top middle section contains my name, a status of sorts, and a placeholder for an About Me page. The plan for the About Me is such that on click, the description will scroll up from the bottom and blur out the rest of the page. It will probably have some light-hearted commentary on myself, along with another picture. That will be the next update to the site.

Putting this together has taught me a lot about not only HTML, CSS, and JavaScript, but also what it is like to work in an unfamiliar field. I am not a web dev by any means, nor have I ever taken a class in website development. I had to learn how to work with these tools through my own initiative. I had to admit that I knew absolutely nothing about something, and rely on whatever I could find, as well as the help of my friends. I think that is the most important thing to show from creating this. Not what has been created, but how it was created. Too often people shy away from doing things just because it's not "what they do". Again, I am not a website developer, but I certainly have developed a website. More good things coming soon.