Blog

CS Profiles : Design Decisions, Scope, Development Plan

April 12, 2024

What is this project? Check out the Design Doc!

We are moving forward into development! I spent time researching UI Frameworks, Application Server / Web Frameworks, Hosting Services, Databases, Web Servers, and all their integrations to get a hold on what technologies I want and how they would all work together. With this information, I’ve scoped out a development plan with a Beta Phase, MVP, and additional features. Below is the architecture diagram for the beta phase, which includes all the major technical components. I’ve opted for a non-scalable approach at first just to get the logic of everything out of the way, then will add that in for the MVP. If you care to see more about the development plan and architecture decisions, visit the Design Doc!

High priority is learning and developing, but something to get in the works early is a survey to gather Profile data from current engineers. This survey is dependent upon the database ‘schema’, so I’m working with django now to get a hold on how that interacts with the database. This will inform how I want to structure my database. Once I’ve got the structure sorted out, then I’ll be able to move forward with the survey, and further focus on development!

I’m very excited to architect an entire application from end to end, and it certainly has been an incredible learning process so far. There is so much that goes into building a full stack application, and the research / decision making is part of what makes the process so exciting. Stay tuned for weekly updates!

Introducing, a Blog! And a New Project!

April 3, 2024
Intro

I've wanted to keep a blog for a while, and since I have a major project to track, I feel like now's the perfect time to start blogging! I'm actively growing and learning as a full stack engineer, so as I find topics that interest me, I'll share my thoughts here. That's it! A place to track projects and discuss interesting topics / ideas.

CS Profiles

Speaking of projects, I'm currently working on an exciting full stack project of my own creation! As I've personally been searching for my next Software Engineering role, I've wondered, "What KIND of software engineer am I?" There are so many variations : Full Stack, Backend, Game Dev, Machine Learning Engineer, the list goes on. Each one has a different skillset required, and a different kind of person who would best succeed in them. I've been able to determine for myself that I prefer Full Stack roles, since I love the adventure involved in the system design process, I derive joy from creating an engaging user experience, and I find fulfillment from solving the interesting technical challenges that come from the backend. Though in order to figure that out, I had to ask myself, "Where do I derive fulfillment from in work?", "What do these different roles actually look like?", "What technologies do they use / what should I focus on now?", etc. I imagine since I asked myself these questions, people in similar situations must be grappling with them too! Why not make something that could remove all the ambiguity and uncertainty when choosing a CS career path? A solution that guides you towards the career where you'll find the most success and greatest sense of fulfillment? Introducing : CS Profiles!

CS Profiles is a Computer Science personality test to determine what career path you're most likely to find success and fulfillment from. After taking a short quiz and getting matched to one of many Profiles, users can learn about what best suits them, and what makes up various CS careers. The project is currently in the late design stage. Next update will be end of this week with a couple of the next few Design Phase Milestones completed. Once the Design Doc is complete, I'll post a formal update on LinkedIn to request help with gathering data for the project!

You can find the Living Design, which contains the Philosophy, Architecture, Initial Logic, Design Tradeoffs, Timeline and more, here : Design Doc : CS Profiles

Website Improvements

I'm planning to overhaul the appearance and technical design of this site, so expect some changes and blog posts pertaining to that! Namely, I want to reformat this Blog section so it's easier to filter posts and each post has its own minipage. I also want to separate out a lot of the statically stored info from the index file and place it in a database; a practice that I'm going to employ with CS Profiles. I've had this site since the start of college, so it's about time I upgraded!

Experience & Leadership

Amazon : Software Development Engineer

April 2022 to September 2023 - Seattle, WA
Led architecture and development of a web application displaying Alexa skill routing model metrics. Onboarded Alexa scientists to offline llm experimentation platform. Enabled hundreds of API's to work with evolving LLM orchestration system. Worked with TypeScript, JavaScript, React, Python, Java, LangChain, and AWS CDK

Amazon : Software Development Engineer Intern

June 2021 to August 2021 - Seattle, WA

Implemented a generic benchmark framework to monitor resource utilization for Alexa’s HypRank and Shortlister models. Enabled scientists and engineers to more efficiently develop iterations on the training stages for these models. Integrated the benchmark framework with another intern's project to visualize the resource utilization.

Wayfair: People Analytics Co-op

January 2021 to June 2021 - Rochester, NY

Owned analytical reports on employee data, providing insight into employee performance based on company goals. Used R, Python, SQL, analytical tools, and statistical methods to answer open ended questions about employee performance.

MITRE : Technology and Innovation Intern

May 2019 to August 2019 - Bedford, MA

Led and contributed to projects utilizing text, speech, and data analytics to improve efficiency of internal tools and employee performance. Focused on gathering data, analyzing the data, and implementing algorithms to meet dynamic needs and design choices.

CSH : Evaluations Director

August 2021 to December 2021- Rochester, NY

Oversaw operation of CSH's (Computer Science House) Introductory Evaluations process. Introduced students to the organization, and assisted them through their completion of the process's requirements. Served as a directional voice on the Executive Board for CSH as effectively the vice president. Resolved various conflicts relating to behavioral or organizational concerns between members in order to foster a collaborative and inclusive community.

CSH : Financial Director

September 2020 to Present - Rochester, NY

Supervise financial administrators and transactions involving house projects, maintain financial and inventory records of House capital and assets. Plan and enforce a budget, hold a weekly meeting to discuss any financial activity of House. Meet with RIT administration to discuss financial plans and activities, generate monthly reports on House spending.

CSH : Active Member

November 2018 to Present - Rochester, NY

Actively involved in a Special Interest Housing community at RIT called Computer Science House, which specializes in collaborating around and developing skills which are crucial to becoming a strong individual and a valued team member. Contribute to weekly technical seminars and social meetings, constantly immersed in all fields of computer science and engineering.

RIT : AI Club President

August 2019 to March 2020- Rochester, NY

Bring together students around a passion for learning and using AI by fostering connections and encouraging project collaboration. Prepare weekly presentations and discussions on topics such as regression, neural networks, and natural language processing.

RIT : Brick City Boppers President, Vice President

August 2020 to December 2021- Rochester, NY

Oversee planning and operation of lessons for RIT's Swing Dancing club. Assist in administrative responsibilities, plan social events, attend weekly lessons.

RIT : CS Department Student Amabassador

August 2018 to Present - Rochester, NY

Represent the Computer Science Department and Program to current and prospective students. Assist in Open Houses, prospective student meetings, and various administrative meetings.

RIT : New Student Orientation Supervisor

August 2019 , August 2020 - Rochester, NY

Managed well being and performance of 20 Orientation Leaders who each led their own groups of new students for RIT's New Student Orientation. Organized and assisted with various events and activities throughout Orientation. An incredible test of perserverance and time management due to long days of nearly endless social interaction and management.

RIT : New Student Orientation Leader

August 2018 - Rochester, NY

Led a group of new students through RIT's New Student Orienation. Organized icebreakers as well as other social and academic activities. Developed leadership, communication, and team building skills.

RIT : Supplemental Instruction Leader

August 2018 to October 2019 - Rochester, NY

Develop weekly study sessions for students in Python and Java based courses to provide a more practical approach to course content. Collaborate with students in class and support their efforts in problem solving and team dynamics.

Projects & Classes

Cosmo

[WIP] An Alexa skill that increases your productivity by answering : What should I do with my free time? Cosmo listens to your Goals, Interests, and Reminders, and prioritizes them so you have enough time in each day for all of them. Check out more on the Github.

CSH Introduction Evaluator

Tertiary classification model created and trained using simple numpy / scipy with data curated and cleaned from Postgres server. Predicts the evaluation result of a new applicant to the Computer Science House intro process. Extensive testing done with performance of various hypothesis functions, currently experimenting with effects of regularization and feature scaling.

Covid Factors

An independent study with Dr.Homan of the CS Department at RIT to determine which real world events are the most reliable factors for predictive models to use. We analyse models for their overall performance, and dates when they perform the best and worst. With these insights, and a thorough understanding of how the models work, we can determine what features are the best predictive measurements. This would ideally culminate in a new ensemble model, or at the very least advise the public which models are most reliable. These insights would ideally support political, healthcare, and general lifestyle decisions.

Collegiate Advantage

A personal investigation into the effect that collegiate prestige has on monetary success afterwards. This project analyzes salary data from Payscale associated with major, school, and school type. It is ongoing and has already determined, unsurprisingly, that Ivy League graduates seem to perform significantly better than graduates from other types of schools. Research currently going into classifying 'prestigious' schools, and determining what margin of those schools are in the top earning groups.

Bored

An LED board turned personal assistant with the aid of a Raspberry Pi, Arduino, and Alexa. Currently automatically updates the date, and there are plans to integrate Alexa to allow for display of weather and daily reminders. The arduino serves as the main driver for the board, while the pi maintains functionality for getting any data necessary before rewriting the sketch on the Arduino and reuploading.

Machine Learning Algorithm Implementations

Solutions to Andrew Ng's Machine Learning Coursera course. The GitHub repo explains this more in depth, but essentially these are all implementations of core machine learning concepts such as linear regression, logistic regression, neural networks, backpropagation, etc. There you will find my explanations of these concepts.

Intelligent Agents : Conversational Project Staffer

Project at MITRE, a Microsoft Bot Framework bot implemented in Microsoft Teams which utilizes Microsoft Graph to intelligently pair employees with project managers based off of shared interests and other criteria. A project lead starts a conversation with the bot, describes in natural language what skills they are looking for, availability, etc. The bot reaches out to potential employees with this proposal, then gets back to the project lead with those who would like the position.

hapi : Twitter sentiment analyzer

Check it out at hapi-0.appspot.com!
Partner hackathon project made at RIT's Brickhack. Simple flask app that reads in a handle or hashtag, uses the Twitter API and Tweepy library to pull tweets from that source, then engages Google Cloud Platform's Sentiment Analysis API to derive a sentiment score on each of those tweets. We serve this information back to the user in an aggregated fashion by displaying statistics such as their average sentiment, most positive tweet, number of negative tweets, and more.

Advent of Code 2019

Never before worked with R, or done the Advent of Code event, so taking this opportunity to become familiar with both. See GitHub for updates on what I've learned about R as each day goes along.

lil lexie : Alexa rap bot

Group hackathon project made at Hack Dartmouth. Alexa skill which prompts the user for a rap, then creates a response utilizing parts of the user's utterance. The response is formulated using nltk and a pickled version of a naive bayes classifier, which tags parts of speech. This tagger parses the user's input for words to use in the response. Then, a context free grammar structures the response and Lambda serves the response back to the end user.

K.L.A.M.P. : interactive LED desk lamp

Displayed at RIT's Presidents' Alumni Ball as part of the Computer Science House Smart Dorm Room exhibit. It is a 32x32 LED matrix which is held onto the top of a desk lamp stand by a 3D printed mount. An Arduino Mega drives the display, which displays one of four designs. A bluetooth module accepts serial communication to toggle between the various displays and their respective speeds / colors. All designs custom made.

dammit_lite : dynamic lobby LED display

Part of the elevator lobby entertainment system on Computer Science House. Integrated with another house service, HAROLD, such that anytime a member scans their iButton, this light display turns into a rainbow party. The display is a 150 LED strip of individually addressable LED's, which are driven by an arduino. A raspi is hooked up to the arduino for remote update abilities.

Hey, MITRE!

Project at MITRE, a helpdesk assistant which streamlined employee requests and questions. Accessible by phone or web, employee engages in conversation driven by Watson Assistant, where they are appropriately redirected to the correct department. Frees up time of helpdesk agents and gets employees to solutions faster.

Machine Learning : Andrew Ng, Coursera

Discuss mathematical foundations of machine learning and their various applications. Implement the various concepts in Python and / or Matlab. Subjects studied were : linear and logistic regression, neural networks, superivsed and unsupervised learning, gradient descent, among others.

Seminars & Presentations

Automating the Intro Process

Discussion of project which automates the CSH Intro Process using logistic regression. Given to CSH.

Intro to Neural Networks in Tensorflow

Discussion of Neural Network concepts and live implementation in Tensorflow. Given to CSH.

What is AI and how to use it

Presentation on common AI algorithms, process for choosing a model, and tools to implement them. Given to CSH.

Intro to Linear Regression

Interactive workshop covering an implentation of linear regression using python and numpy. Given to CSH.

Recommender Systems

Discussion on collaborative and content based filtering and their real life applications. Given to RIT AI Club.

Enterprise NLP Offerings

Pros and cons of NLP API's from IBM, Microsoft, Amazon, and Google. Focus on one use case implementation. Given to RIT AI Club.

Intro to Regressions and Neural Networks

Mathematical and intuitive discussion of these topics. Approached from both high and low level, given to RIT AI Club with Vice President, Perry Deng.

Mathematical Foundations of Machine Learning

Interactive seminar discussing applications of and in-depth mathematical basis of linear/logistic regression, neural networks, and backpropagation. Given to Computer Science House.

CSH Meets AI

High level overview of the power of AI, presented in a light-hearted, comedic fashion. Given to Computer Science House.

Definitions of AI Buzzwords

Very brief overview of AI buzzwords so that people can actually use them with some intuition. Given to Computer Science House.

RIT AI Kickoff Fall 2019

Introductory meeting to RIT's AI Club, discussing the power of AI using the classic horse example. Comedic and light-hearted presentation, aimed at generating interest and understanding about the club.

Applications of NLP

How NLP is used in virtual assistants, smart home devices, and social media. Also contains brief discusion of personal project. Given to RIT AI Club.

Natural Language Processing

What is NLP, an introduction into semantic spaces and semantic relatedness, as well as how words are turned into vectors. Demo of NLTK abilities.