Nicholas Vadivelu

Aspiring Data Scientist


About Me

I'm a computer science & statistics student at the University of Waterloo with industry experience data wrangling, cleaning, modelling, and communicating actionable insight. I've recently fallen in love with writing about data science here. I'd love to connect to chat about anything data, tech, or life!

Personal Projects

project name

Competitive Pokemon Analysis

Python, Pandas, Scipy, Scikit-learn, Seaborn, Jupyter

I set out to predict a Pokemon’s competitive tier based on its in-game characteristics. So, I scraped data from Smogon, Bulbapedia, and Veekun using BeautifulSoup for Python. I then cleaned and analyzed various properties about pokemon with respect to their tiers in a Jupyter Notebook. Finally, I built a regression model using Scikit-learn.

View on GitHub     See my Article on Medium

project name

Kaggle TED Talk Dataset Analysis

Python, Pandas, TensorFlow, Keras, Matplotlib, Jupyter

A quantitative measure of rating was extracted from qualitative descriptors in the data set. Two neural networks were trained on various features, including talk sentiment and themes, to predict this measure, achieving good accuracy. Created with Lawrence Pang.

View on Kaggle

project name

Sofa Search

Python, TensorFlow, Keras, Flask, HTML/CSS, Javascript, Heroku

Created at Hack the North 2017, this web app helped users find and purchase a sofa. The app presents users with photos of sofas that they rate. Each rating will train a convolutional neural network with their preferences to suggest sofas that they may like.

View on DevPost       View on Github

project name

Chrome Tab Predictor

Javascript, Synaptic

Every time a tab is opened, this extension will predict what website the user will want to visit. Given a user's browsing history, this chrome extension will train an artificial neural network to make these predictions based on the day and time.

View on Github       View on Chrome Webstore

project name

PixelShot 300: One-pixel Camera

Java, Arduino, C++

One-pixel camera that can capture a 300-by-300 photo in under 5 minutes. This was achieved using a lens-phototransistor module with two stepper motors to control direction. It was created by a team of four with nothing more than basic electrical components along with an Arduino MEGA2560.

The software controls the motors and sensors, undistorts the captured fisheye image, can demosaic a Bayer colour filter image, and balances colours and brightness.

View on Github

project name


Android (Java), MYO SDK, Google Location Services

Android application that allows users to discretely call for help using the MYO armband. A simple hand gesture will make your smartphone send out a distress call or text to trusted contacts.

View on DevPost     View on GitHub     View Live Demo

project name


Node.JS, Amazon Web Services

App receives a keyword through Facebook messenger or the Amazon Echo and finds a matching rap line based on rhyming and context. Created in a team of 5 using Node.JS, Amazon Alexa, and Heroku, this application won top developer hack and top use of Amazon Web Services out of 40 teams at StarterHacks 2017.

View on Github

project name


Python, PyMongo, Flask, Heroku, HTML/CSS, JavaScript

Created at Hack the 6ix, this web app keeps track of money you owe and money owed to you.

View on Github       View on DevPost       Try it out!

project name

Magnetic Field Simulator


Simulates and visualizes magnetic field interactions between two or more solenoids. Paramters include the physical and magnetic properties of the solenoids, including the length, width, thickness of coils, number of windings, and strength of the current.

View on Github

project name

Thrive Life Simulator


Simulates a complex dinosaur ecosystem. Over a dozen species of carnivores, herbivores, and omnivores interact in a forest-type environment. Phenomena such as natural disasters, breeding, hunting, disease, aging, and simple genetic variation are factored in. For this project, I wrote a 3D ray-casting engine from scratch.

View on Github

project name

Collision Simulator

Written in C#, this program simulates a 2D elastic collision between two identical stress balls. The compression of the balls is factored into the simulation. A spreadsheet is outputted with the force, acceleration, velocity, and positions of both balls with respect to a dynamic time interval.

View on Github


Data Science Intern - John Hancock Financial - Advanced Analytics Team (May 2018 - Aug 2018)

  • Compiled, cleaned, and analyzed data to build an unsupervised fraud detection model using Python, Pandas, and Scikit-learn
  • Cleaned and wrangled legacy data to deploy 25 fraud identifying rules in SQL, scoring 20000+ and flagging 100+ claims
  • Worked closely with clinicians to engineer features from 5 new external data sources for current and future models

Perception Team Member - WATonomous - Self-driving Car Design Team (Sep 2017 - Apr 2018)

  • Piloted development of a support vector machine based on an academic paper to classify stop-lines candidates
  • Implemented real-time object classification using the TensorFlow Object Detection API and OpenCV in Jupyter Notebook (Python)

Software Development Intern - Sunnybrook Research Institute (Jul 2017 - Aug 2017)

  • Reduced time to contour MRI scans from ~5 hours to ~40 minutes by developing automation software in MATLAB
  • Improved MRI image segmentation accuracy by up to 80% through implementing modern segmentation techniques
  • Designed GUI and output format to integrate application seamlessly with the existing software
  • Researched unsupervised learning for automatic segmentation

Research Intern - McMaster University (Jul 2016 - Aug 2016)

  • Collected, analyzed, and presented research on photoluminescence data; recognized contributor on the conference paper
  • Installed and wrote Standard Operating Procedures manual for an Intun TLX-B Laser.
  • Over 200 hours of lab experience with equipment such as a variable angle spectroscopic ellipsometer, annealing furnace, photo-luminescence system, and other optical devices