Hi, my name is
Vihanga.
I'm a full stack software engineer that's currently building cool things at Stripe.
A Little About Me.
Hello! My name is Vihanga. I've been glued to the computer ever since I can remember and so naturally I ended up becoming a software engineer. I went to the University of Toronto where I graduated with a BSc where I did a double major in Statistics and Psychology. During this time, I took all the available computer science courses and filled in the remaining gaps on my own by taking MIT OpenCourseWare and Udemy courses. For the first 4 years of my career, I worked at a fast growing startup as a full stack developer where I got to build some incredible products and wear many different hats. Now, I work at Stripe. My first taste of a large scale tech company. Having seen both sides, I feel fortunate, and I'm excited to keep learning.
Technologies I love.
Some Projects.
Chirp.
Chirp is a room based chat application that I built from the planning stage to the final product as a challenge over 48 hours. It's similar to the old school chat rooms in the sense that there's public chat rooms geared towards a certain topic which anyone can join and talk amongst each other.
This was built on NodeJS using Express as the framework and instead of using my comfortable MongoDB, I decided to refamiliarize myself with SQL by using PostgreSQL. I also used Redis for caching purposes in scenarios where the data is constantly changing and would be too inefficient to grab from a database but would be very quick to grab from memory. The chat functionality itself is done through Websockets since I feel like it's the most stable and seamless route.
Show more...
Shell Clone.
This is a clone of a standard shell, similar to Bash in Linux. This was created in Java by me and three other members for our Software Design class at UofT. We created custom data structures such as a file system and utilized object-oriented programming.
We also used various design patterns which we had learned in class such as polymorphism, singleton design pattern, generics, and dependency injection. There are various commands such as mkdir, echo, cat, ls, mv, cd, and more. If you click the image, you'll be able to see the commands in use.
Show more...
Blogging Platform.
This project is one of the first projects I ever worked on. It's a barebones blogging platform with a functional Content Management System (CMS). I also practiced building a RESTful API by allowing the admin create, update, or delete posts.