My Portfolio

Scroll down to catch a glimpse.

Meet GoGetter, your go-to buddy for crushing goals like a pro! We whipped up this awesome goal-tracking web app from March to June 2023, making sure it's super easy to use and looks great on any device.

We used Angular, Node.js, MongoDB, TypeScript, HTML, and CSS to build GoGetter, giving you a smooth experience from start to finish. Your goals are safe and sound with MongoDB and Mongoose handling all the data magic on MongoDB Atlas. With Node.js Express and RESTful APIs, everything in GoGetter talks to each other seamlessly. Plus, we've got Google OAuth keeping your account super secure.

We tested everything with Mocha to make sure it runs like a dream, hitting a whopping 98% in test coverage. And guess what? You can access GoGetter from anywhere, thanks to our slick deployment on Microsoft Azure.

Users love how easy it is to use and how smoothly everything works together. Want to see for yourself?

Introducing Scentinel, your secret weapon for cleaning up messy TypeScript code! I cooked up this nifty tool from January to March 2024, and it's all about making your codebase cleaner and more efficient.

Scentinel is a responsive web app that uses Abstract Syntax Trees (ASTs) to spot those pesky long functions, lengthy parameters, and code clones lurking in your TypeScript projects. I used the Jaccard similarity index to help tidy things up without breaking a sweat, ensuring your code stays in top shape.

And guess what? You can access Scentinel anytime, anywhere, thanks to its smooth deployment on Microsoft Azure. It's built for developers tackling big projects, offering seamless accessibility and scalability.

Curious to see how Scentinel works its magic?

A little while ago, I tackled a cool project involving forex arbitrage detection. I built a system that subscribes to a forex service, updates a graph with exchange rates, and uses the Bellman-Ford algorithm to sniff out arbitrage opportunities. It was like playing detective with currency graphs and negative cycles!

By converting exchange rates to negative log weights, I could easily spot profitable trade loops. And guess what? I leveraged Python sockets for seamless communication with the forex service.

GoGetter

A goal-tracking web application

Scentinel

A refactoring tool for TypeScript codebases

Pub/Sub Currency Arbitrage

An implementation of a publish/subscribe system for determining currency arbitrage opportunities using the Bellman-Ford algorithm.

MPI-Based K-Means Clustering

A parallel implementation of the K-Means Clustering algorithm using MPI C++.

I've improved the k-means clustering algorithm with some C++ and MPI (Message Passing Interface) to give it a turbo boost for munching through big data sets. This project was all about letting MPI do its thing, spreading the work across a bunch of processors to speed things up and scale up big time. Instead of the k-means being like a lone chef trying to whip up a massive feast, with MPI it's more like a whole crew of chefs, each rocking their own dish, to get that huge banquet sorted fast and uncover the tasty patterns in the data.

Diving into the performance stats and runtime figures, I snagged some cool insights into how slick and scalable my setup was, no matter the size of the data or the cluster. With MPI and parallel processing in the mix, it's like hitting the data analysis jackpot, cranking up the speed and accuracy to whole new levels.