A B O U T M E
I am a recent MakerSquare and Colgate graduate looking for a full stack opportunity. I mainly use Ruby and JavaScript, but I am also open to learning new languages. I am passionate about Thai food, photography, technology and new apps, proteins and genome therapy technologies, artificial intelligence, health care, and playing squash. Please contact me if you are looking to hire a developer or if you are working on a cool project and need a volunteer programmer (I'll try to help on my free time). |
P O R T F O L I O
|
Rui's Playlist Recommendation Engine
You can enter up to 10 artists that you like and this application will search through other people's Spotify playlists to find the top 5 that you might like. You can choose between two algorithms (one using the Jaccard similarity index and the other using the cosine similarity). Each song in the suggested playlist has a 30 second preview that you can play. Technologies used: Ruby, Rails, Javascript, sqlite3 and postgreSQL, Spotify API Explanation of the algorithms |
SORA
SORA is a social network for girls to make new friends in a new city. All data is synced in all devices in real time. Users will sign in with their Facebook accounts and can post an event or chat with the person that created the event. They can send a friend request to anyone they are interested in meeting and accept or decline an invitation to connect from others. 1 on 1 chats can be initiated with friends. A user can also browse trending restaurants and venues at that particular time of day. Role: Everything other than chatroom, 1-on-1 chat, Facebook authentication Technologies used: AngularJS, Firebase, JavaScript, Facebook API, OAuth, Foursquare API |
|
|
Feedback Now
During the Austin Education Startup Weekend, our team created a web-app to solve problems in education. I was the designated fullstack developer and wrote this application in 30 hours. A teacher can sign up and log in, create a lecture, and add multiple students to the lecture. When they select the lecture, they will get real-time visual feedback (color-coded) from all of the students in the lecture. All feedback is anonymous so that students do not have to feel self-conscious. A student can also sign up and log in, and can see their feedback history and the date and time they gave the feedback along with what lecture it belonged to. Role: everything other than logo design, header and footer design. Technologies used: Ruby, Rails, JavaScript |
ATX Hot Spots
Created a Yelp like web application in two days in which the user can find a restaurant in Austin, TX on a map and read/write reviews in addition to give a star ranking on that specific restaurant. Each user can sign up and sign in securely, and have their picture show up on the side of their review (fetched from their email address). Role: all (pair-programmed the entire application) Technologies used: PostgreSQL, Sinatra, Javascript, jQuery, leaflet, SHA1 encryption, gravatar, and HTML/CSS |
|
|
Rock Paper Scissors Game A simple rock paper scissors game created in 2 days during our first mock hackathon. Each game can be played asynchronously by any two people that are signed in. The first player to win 3 times wins the match. Pair programmed with one other developer. Technologies used: Sinatra, Ruby, JavaScript, jQuery, PostgreSQL |
Archery Trajectory Motion Simulation
A silly side project I played around with one Sunday. Using the trajectory motion equation, I created a visual animation that incorporates kinetics and gravity. The user can put in a velocity in the X and Y direction (in meters per second) and the simulation will behave as it would in reality. The canvas width is set as if it were 100 meters. When I have time, I would like to incorporate a scoring system and a moving target. Technologies used: JavaScript and jQuery |
|
S T E P S I N T H E A P P M A K I N G P R O C E S S
Wireframing
It's really important to have an idea of what you want each view to look like, so that you can then think of what functionalities you want to add and what kind of routes you are going to create. For something like my archery game, I had to convert meters into pixels so getting an idea of how it'll fit on the page was a big step.
(left is SORA, right is archery game) |
Algorithm Design
Designing the algorithm is a very long process because there's a lot of research that goes into it. As you can see for my playlist recommendation engine, various types of big data methods were considered (my own simple scoring system, Jaccard similarity, log-likelihood similarity, Pearson correlation coefficient, using the vector space model, cosine similarity, Euclidean distance, k-nearest neighbor analysis) and the pros and cons of each of these methods had to be understood to choose the model that fit best with what I was trying to accomplish.
Database Design
Designing the database well before starting is super helpful in the long run. Trying to change it later after you obtain all of your data is so much work and wastes a lot of time. It's definitely crucial to have a perfectly designed database when dealing with big data. ( <-- database design for FeedbackNow) |
E D U C A T I O N
MakerSquare
MakerSquare is an immersive bootcamp which teaches the fundamentals of software engineering and web development. I devoted 70+ hours every week to complete projects that are aimed to help us better understand how frameworks and applications work. Some projects that we worked on includes building our own version of a CSS framework (similar to Foundation), recreating some parts of jQuery, creating our own balancing binary search tree, creating a backend application that learns and predicts what category a book is listed as and more. We were also exposed to multiple algorithm principles and data structures.
MakerSquare is an immersive bootcamp which teaches the fundamentals of software engineering and web development. I devoted 70+ hours every week to complete projects that are aimed to help us better understand how frameworks and applications work. Some projects that we worked on includes building our own version of a CSS framework (similar to Foundation), recreating some parts of jQuery, creating our own balancing binary search tree, creating a backend application that learns and predicts what category a book is listed as and more. We were also exposed to multiple algorithm principles and data structures.
Colgate University
Graduated Cum Laude
Major: Molecular Biology
Extracurricular Involvement: Dance team member, sailing team member, Japanese language tutor, organic chemistry lab teaching assistant, student worker at the office of Alumni Relations, Australia study abroad group
Graduated Cum Laude
Major: Molecular Biology
Extracurricular Involvement: Dance team member, sailing team member, Japanese language tutor, organic chemistry lab teaching assistant, student worker at the office of Alumni Relations, Australia study abroad group
Interested in my genetics research? You can read it here.
Lots of data analysis, statistical analysis, and bioinformatics tools used if you're into that.... |
|
Massachusetts Academy of Math and Science at WPI
Mass Academy is a project based high school in which students complete a rigorous program during their junior year and enroll full time in classes at WPI, a nationally ranked engineering college during their senior year.
Wellesley Book Award recipient, national honors society member
Mass Academy is a project based high school in which students complete a rigorous program during their junior year and enroll full time in classes at WPI, a nationally ranked engineering college during their senior year.
Wellesley Book Award recipient, national honors society member
R E S U M E
|