TeenyURL

A URL shortener app built using NextJs and Express, styled with Tailwind.Ensured high code quality by writing unit tests with Jest. The application is deployed on AWS Elastic Beanstalk and implemented CI/CD pipelines with GitHub Actions and AWS CodePipeline.

Load Balancer

Implementation of application layer load balancer in Go using round robin as the load balancing algorithm. It also health checks the servers before forwarding requests to it. That is, handles a server going offline or coming back online.

Rate Limiter

Implemented various rate limiting algorithms such as the token bucket, fixed window counter, sliding window log and sliding window counter and enabling rate limiter to work across several servers using redis.