Full-stack developer experienced with creating fully-responsive mobile-first web applications and doing API integrations, reading documentation to add new features to an existing codebase, code review processes, CI/CD testing. Self-motivated and passionate to learn new technologies and build projects on top of it. Experienced with deploying 5 projects on Vercel, contributing to open-source projects on GitHub for over 5 years, and maintaining a technical blog with 16 published posts.

Table of contents

Education

  • Master of Science in Computer Science
    • University of Georgia, Athens, GA, USA (Jan 2021 - Dec 2022)
    • GPA: 3.82 / 4.00
  • Bachelor of Technology in Electronics and Communication Engineering
    • Punjab Engineering College (Deemed to be University), Chandigarh, India (Aug 2016 - Jun 2020)
    • CGPA: 7.0 / 10.0

Work Experience

  • Full Stack Developer (Jul 2022 - Dec 2022) (UGA)
    • Worked in the IT department of the College of Agriculture and Environmental Sciences, University of Georgia (Athens, GA, USA)
    • Implemented Node.js/Express parser to do real time Microsoft Access to PostgreSQL query conversion
    • Brought up development and production servers, including IP whitelisting and backup configuration with periodic syncing, and migrated 18 years of data from Access to PostgreSQL database
    • Automated data entry pipeline using Python/TypeScript, resulting in a reduction of time from 2 minutes per handwritten form to 25 seconds on average, by implementing autocomplete functionality for various fields
    • Rewrote the entire codebase for a proprietary language, which included converting information from a 200-page manual to a TypeScript/Next.js application and updating the queries from Access to PostgreSQL
  • Graduate Teaching Assistant (Jan 2022 - Aug 2022) (UGA)
    • Worked in the Computer Science department, University of Georgia (Athens, GA, USA)
    • Led weekly meetings and facilitated group discussions for the course Discrete Mathematics for Computer Science
    • Held one-on-one office hours for 2 transfer students, covering the entire course in detail while covering practical applications of the content and mentored students on the career paths in computer science

Additional Experience

  • Google CS Research Mentorship Program (Sep 2022 - Dec 2022) (Athens, GA, USA (Remote))
    • Selected for a 12-week competitive Google CS Research Mentorship Program (CSRMP 2022B) among 50 candidates selected from all across USA and Canada.
    • The mentorship program inspires students from Historically Marginalized Groups (HMGs) to pursue and persist a career in CS research.
  • Poster submission, School of Computing Research Day (Sep 2022 - Oct 2022) (UGA)
    • Submitted 2 posters for the School of Computing, Research Day at University of Georgia (Athens, GA, USA)
    • Created a module that improves the robustness of Graph Neural Networks (GNNs) against adversarial attacks
    • Proposed module beats state-of-the-art in 3 out of 4 datasets, while only adding 5 lines of code
    • Presented a poster on generating full human body 3D scans from random noise
  • Workshop paper reviewer, CVPR 2021 (Apr 2021) (UGA)
    • Reviewed 2 papers for the Biometrics Workshop, jointly with the Workshop on Analysis and Modeling of Faces and Gestures, CVPR 2021
    • Split the review into summary, strengths, weaknesses
  • Paper reviewer and presentation judge, GJSHS 2021 (Feb 2021 - Mar 2021) (UGA)
    • Reviewed 6 papers for the 46th Georgia Junior Science & Humanities Symposium (GJSHS) from high-school students.
    • The review included detailed feedback on the strengths and weaknesses of the paper and suggestions for improvement based on the recent research in the field
    • Presentation judge for the final round of the competition.
  • Winner TechGig CodeGladiators hackathon (May 2019 - July 2019) (Mumbai, Maharashtra, India)
    • Won the first sole place in TechGig CodeGladiators, in the Artificial Intelligence theme where 15 teams were selected from all across India from a pool of 0.5 million candidates.
    • Implemented a fully-deployable parking space detection system using PyTorch from video.
    • Detections from multiple frames can be combined and adjusted over time depending on where the cars are being parked.
    • Frame can be split into a 3x3 grid allowing to make finer and more robust predictions and the result is combined into a single frame.
  • Third place at IndiaSkills Nationals (Sep 2018 - Nov 2018) (Chandigarh, India)
    • Won third place at the North-Zone regional finals in IT Software Solutions for Business at IndiaSkills, representing my state Chandigarh (India)
    • Build a desktop application using C# and an android application using Java.
    • Both applications required a database setup using MySQL and phpMyAdmin.
  • 8-bit computer at PEC IEEE showcase (Feb 2017 - Apr 2017) (PEC, Chandigarh, India)
    • Created an 8-bit computer on breadboard using NAND chips.
    • Implemented Add, Subtract logic and 2 byte memory module using Flip Flops
    • Showcased the work to high school students at Punjab Engineering College (Chandigarh, India) IEEE Project showcase

Projects

  • Youtube Video Platform github, demo
    • Built fully-responsive React/Next.js/TypeScript/Material-UI web app using YouTube API and deployed on Vercel
    • Implemented video section, category section, responsive channel and video cards, channel pages, video pages with ability to play videos straight from the app and see related videos
  • Video Sharing App github, demo
    • Built fully-responsive full-stack video sharing social media app using React/Next.js/TypeScript/Tailwind CSS/Zustand/Sanity and deployed on Vercel
    • Google auth to register and login user, ability to upload, publish, share, comment on and like the videos
    • Advanced search functionalities, filter by categories, profile pages, and see suggested accounts
  • Chat Messaging App github, demo
    • Built fully-responsive full-stack chat messaging application using React/TypeScript/Bcrypt/Stream Chat API
    • Support for authentication, Twilio SMS notification, direct and group chats, emojis and reactions, GIF support
    • Deployed React frontend on Vercel, and deployed Express.js backend on Heroku
  • Ecommerce Website github, demo
    • Built full-responsive and scalable modern ecommerce website using Next.js/TypeScript and deployed on Vercel
    • Used Next.js as backend endpoint, Stripe for managing payments, shipping rates and entire checkout process
    • Manage entire content of website using Sanity, change details of products or add new products on the go
  • Music Player and Discovery App github, demo
    • Built fully-responsive modern music player app using React/Next.js/Tailwind CSS/TypeScript/Redux/Shazam API
    • Choose genre and view top songs, see top charts and artists for the country or worldwide
    • Music player with controls to go to next/previous song, repeat, shuffle, fast forward, adjust volume
    • Fully functional search and pages to explore most popular songs in the country, using IP Geolocation API
    • View song’s lyrics and official video, related songs, and other songs by the artist
  • Sort Visualizer github, demo
    • Built React/Redux/Material-UI web application for visualizing sorting algorithms and deployed on Vercel
    • Implemented over 30 sorting algorithms, with ability to view upto 9 algorithms in parallel
  • Group Video Chat github, demo
    • Built group video chat app using JavaScript/Agora, and deployed the backend on Heroku and frontend on Vercel
    • Conference chat with multiple people at same time, screen share, private/group messaging, admin controls, polls
    • Worked with an enterprise scale codebase and added features on top of it by reading documentation
  • Restaurant Website github, demo
    • Converted Figma design into fully-responsive Next.js/TypeScript/CSS(BEM) web app and deployed on Vercel
    • Modern UI/UX website built using CSS Flexbox/Grid, animations, and gradients
  • Pathfinding Visualizer github, demo
    • Built fully-responsive React/Next.js/TypeScript/Redux web app for visualizing path-finding algorithms, maze-generation algorithms and deployed on Vercel
    • Implemented 9 different path-finding algorithms and added random weight generation methods to visualize weighted shortest cost algorithms
  • Sort Visualizer github, demo
    • Deployed fully-responsive React/Next.js/TypeScript/Redux web app for visualizing sorting algorithms on Vercel
    • Implemented over 30 sorting algorithms, view multiple algorithms in parallel, generate 4 types of random array
  • JSON/YAML Graph Visualizer github, demo
    • Built React/Next.js/Redux/Material-UI web app to convert JSON/YAML data into graph for improved readability
    • Wrote YAML to JSON parser in TypeScript
  • Bookstore application github
    • Built full-stack bookstore application using HTML/CSS/JavaScript for frontend and Django/SQLite for backend
    • Implemented user authentication with email, change/forgot password, edit profile, advanced search options, cart management, apply promotions, entire process for placing an order
  • 3D Human Reconstruction github
    • Engineered a machine learning project to generate a full human body 3D object from random noise
    • Combined GAN, Pose Estimation, RGB-to-3D object models from 3 different repositories
    • Upgraded PyTorch dependency from 0.4.0, 1.4.0, 1.9.0 to 1.11.1 and upgraded all repositories to CUDA 11.3 from 10.x versions
  • Credit Assessment github
    • Created a fair and explainable model to approve credit card requests
    • Used LIME predictions and built PySimpleGUI to explain the predictions
  • Resizer Network for Computer Vision github, blog
    • Built PyTorch model to resize images for downstream tasks, based on Google AI Learning to Resize Images for Computer VIsion Tasks
    • Tested model on 2 subsets of ImageNet dataset and demonstrated the improved performance using the proposed model
  • Parking Lot Detection github
    • Built a fully deployable and unsupervised parking space detection system using PyTorch
    • Ability to adjust the predictions based on where cars are parked over time
    • Combine results from multiple frames to fill spots and make the predictions more robust
  • Semantic Image Synthesis github, blog
    • Open-sourced the first public implementation of GauGAN paper by Nvidia
    • Implemented PyTorch GAN model to convert an image map into a realistic image
  • Style Transfer github, blog
    • Implemented PyTorch model to transfer style between images
  • Unscramble Game Solver github
    • Created a Python program to solve Unscramble android game
    • Implemented an efficient English dictionary lookup
  • Random Duty List github
    • Built PHP/MySQL program for Chandigarh, India police department
    • Assign duties at various stations without repetition between days

Jupyter Notebooks

  • Mish activation function is tested for transfer learning. Here mish is used only in the last fully-connected layers of a pretrainened Resnet50 model. I test the activation function of CIFAR10, CIFAR100 using three different learning rate values. I found that Mish gave better results than ReLU. notebook, paper

  • Multi Sample Dropout is implemented and tested on CIFAR-100 using cyclic learning. My losses converged 4x faster when using num_samples=8 than using simple dropout. notebook, paper

  • Data Augmentation in Computer Vision
    • Notebook implementing single image data augmentation techniques using just Python notebook
  • Summarizing Leslie N. Smith’s research in cyclic learning and hyper-parameter setting techniques. notebook
    • A disciplined approach to neural network hyper-parameters: Part 1 – learning rate, batch size, momentum, and weight decay paper
    • Super-Convergence: Very Fast Training of Neural Networks Using Learning Rates paper
    • Exploring loss function topology with cyclical learning rates paper
    • Cyclical Learning Rates for Training Neural Networks paper
  • Photorealisitc Style Transfer. Implementation of the High-Resolution Network for Photorealistic Style Transfer paper. notebook, paper

  • Weight Standardization is implemented and tested using cyclic learning. I find that it does not work well with cyclic learning when using CIFAR-10. notebook, paper

  • Learning Rate Finder. Implementation of learning rate finder as introduced in the paper Cyclical Learning Rates for Training Neural Networks. A general template for custom models is provided. notebook

  • PyTorch computer vision tutorial. AlexNet with tips and checks on how to train CNNs. The following things are included: notebook
    • Dataloader creation
    • Plotting dataloader results
    • Weight Initialization
    • Simple training loop
    • Overfitting a mini-batch
  • Waste Seggregation using trashnet github. Contains the code to train models for trashnet and then export them using ONNX. It was part of a bigger project where we ran these models on Rasberry Pi, which controlled wooden planks to classify the waste into different categories (code for rasberry pi not included here).

Blogs

  • Complete tutorial on building images using Docker link
  • Data augmentation with learnable Resizer network for Image Classification link
  • Writing custom CUDA kernels with Triton link
  • Complete tutorial on how to use Hydra in Machine Learning projects link
  • What can neural networks reason about? link
  • ImageNet Dataset Advancements link
  • Deep Learning Model Initialization in Detail link
  • How to setup personal blog using Ghost and Github hosting link
  • Study of Mish activation function in transfer learning with code and discussion link
  • Reproducing Cyclic Learning papers + SuperConvergence using fastai link
  • How to become an expert in NLP in 2019 link
  • All you need for Photorealistic Style Transfer in PyTorch link
  • SPADE: State of the art in Image-to-Image Translation by Nvidia link
  • Weight Standardization: A new normalization in town link
  • Training AlexNet with tips and checks on how to train CNNs: Practical CNNs in PyTorch link
  • Theoretical Machine Learning: Probabilities and Statistical Math link

Certifications

  • GCP Essentials (Qwiklabs) link
  • Executive Data Science Specialization (Johns Hopkins University, Coursera)
    • A Crash Course in Data Science link
    • Building a Data Science Team link
    • Managing Data Analysis link
    • Data Science in Real Life link
    • Executive Data Science Capstone link
  • Data Science at Scale Specialization (University of Washington, Coursera)
    • Data Manipulation at Scale: Systems and Algorithms link
    • Practical Predictive Analytics: Models and Methods link
  • Machine Learning (Stanford University, Coursera) link
  • Bayesian Statistics: From Concept to Data Analysis (University of California, Santa Cruz, Coursera) link
  • Neural Networks for Machine Learning (University of Toronto, Coursera) link
  • Deep Learning Specialization (DeepLearning.AI, Coursera)
    • Neural Networks and Deep Learning link
    • Improving Deep Neural Networks: Hyperparameter Tuning, Regularization and Optimization link
    • Structuring Machine Learning Projects link
    • Convolutional Neural Networks link
    • Sequence Models link
  • Recommender Systems Specialization (University of Minnesota, Coursera)
    • Introduction to Recommender Systems: Non-Personalized and Content-Based link
    • Nearest Neighbor Collaborative Filtering link
    • Recommender Systems: Evaluation and Metrics link
    • Matrix Factorization and Advanced Techniques link
  • Genomic Data Science Specialization (Johns Hopkins University, Coursera)
    • Introduction to Genomic Technologies link
    • Python for Genomic Data Science link
  • Algorithms Specialization (Stanford, Coursera)
    • Divide and Conquer, Sorting and Searching, and Randomized Algorithms link