My name is Rishab Chawla and I am a software engineer based in New York City who loves to build applications with a social impact. I have developed across the entire web stack and mobile devices with a focus on developing irresistible user interfaces, such as this website, and scalable backend systems.
Currently, I am a software engineer at Capital One, where I use my development superpowers to provide a better online banking experience for millions of money makers in North America.
When I am not trying to center a div within a div, you can find me exercising to maximize gains, plucking the wrong strings on a guitar, adding to my pristine cardigan collection, escaping reality in another country, or preparing South Asian delicacies.
Java
Python
Web Development
Swift
Below I have illustrated a timeline of my work experiences. For a brief overview of my most important tech-driven roles, check out my résumé.
Earned a degree in Computer Science for completing 4 years of relevant coursework in algorithm design, computer architecture, systems programming, operating and distributed systems, database management systems, and object oriented programming.
Facilitated weekly recitations of 30+ students in a collaborative learning environment to solve and explain challenging data structures problems and concepts. Conducted weekly office hours with 15+ students to answer questions regarding coursework and material. Organized optional review sessions of 200+ students to reinforce course material in preparation for exams.
Conducted study groups to facilitate small group discussions, encourage collaborative learning, and challenge students to discover new problem-solving techniques for complex computer science and physics concepts. Applied pedagogical learning techniques including learning theories and strategies, mental models, discursive teaching methods, and leadership.
Designed and developed a 10000+ node relational graph of AWS IAM that describes trusted principals and permissions granted to 250+ AWS engineer accounts. Queried data from a PostgreSQL database to develop a command line interface tool in Python to answer questions regarding Capital One's cloud footprint and IAM entities.
Prepared a ten-week lesson plan on topics related to economics such as capitalism, game theory, cryptocurrencies, and financial crises to introduce students to topics studied in economics. Mentored 25 students in their transition as a first-year student at Rutgers University by presenting them with on-campus resources.
Collected and organized data labels on 2000+ Instagram posts using the Google Forms platform. Analyzed the data using Python's Pandas and Scikit-learn libraries. Presented the results using visualizations made through Matplotlib and Seaborn to aid in automatic cyberbullying classification.
Welcomed, prepared, and engaged 6000 first-year students, transfer students, and their families to aid in their transition to Rutgers University. Interacted with small groups of up to 15 students during 22 orientation sessions and facilitated thought-provoking discussions about sexual assault, microaggressions, diversity, and resources on campus. Coordinated logistics with a special operations team to ensure utmost efficiency during each session.
Con Artist is an online multiplayer game that allows players to take up the role of a detective. At the beginning of each round, everyone but one detective knows a word from a particular category. The players have to go around and say something they know about the word and discuss who is the con artist: the person who does not know the word.
The app consisted of two components: a front end developed with HTML, CSS, Bootstrap, and JavaScript and a server developed with Node.js, Express.js, and socket.io. The app allows multiple players to join their own private rooms and communicate with each other using web sockets. The server allows users to interact with buttons that will change categories and lock them at the start of a round.
All frontend functionality is handled by the backend server, thus eliminating the need for the frontend to store resources locally. A playable demo website will be available soon!
An iOS lunch pairing app for students around Rutgers University to find new people and mentors with similar interests as them.
The app consisted of a front end developed for both iOS and Android devices using Swift and Java, respectively, and a backend developed with Python's Flask microframework and a MongoDB database. The iOS app was my primary responsible for the project. I programmed a login/signup system via Google Firebase as well as a table view controller that displayed users on the platform, which was fetched from a Python REST API using HTTP network requests.
The Flask API served as an intermediary between the frontend and MongoDB database. The database stored additional information about the user, such as interests, social media account links, and location preferences.
A text message service that allows anyone to send a simple message queue up their favorite songs on Spotify or control media buttons on a Bose speaker.
The app consists of two components: a text-message interface powered by the Twilio API to send requests and a Flask server that handles those requests. After sending a text message, the Flask server, exposed by ngrok, will redirect the request to Spotify's API if the user wants to queue a song, skip a song, or show what songs are up next in the queue and Bose's API if the user want's to adjust the volume or mute the speaker.
After songs are requested, they are queued in order or priority. In other words, the more times a song is requeusted, the higher it gets pushed up the queue.
At Hack Princeton Spring 2018, we developed an android app that can take a picture of an object and classify the its recyclability.
The app consists of three components: an Android app, stdlib seerverless api connection, and a custom Wolfram Alpha classifier. The Android app was built in Java and it was my primary focus for the project. Upon opening the app, the user can take a picture of an object using the phone's camera. The picture is then passed to a custom Wolfram classification model via an HTTP request from Stdlib. The model will then return the recyclability of the object: trash, recycling, or electronics, and present it to the user of the app. If the item is an electronic, the app will show you the closest electronic recylcing centers near you via Google Maps.
In order to create an accurate classifier, we trained our Wolfram classification model by labeling the recylcability of pictures of different objects we found online.
A computer player built using an Arduino micro controller and Myo armband, which tracks a user's hand gestures, and beats a player at a game of rock, paper, scissors.
We started by interfacing a Myo armband, a device with an eight point EMG sensor that reads electric signals from your forearms, and an Arduino to read hand gesture data from the armband. The hand gesture data was used to program the rock-paper-scissors moveset in C++.
After engineering three servo arms for rock, paper, and scissors to an IO pin on an Arduino, the computer was programmed to detect the user's hand gesture and rotate the winning servo arm.