Projects

Some of my work that I have built, tinkered with, or accidentally broke along the way :)

Distributed Task Scheduler

Distributed Task Scheduler

Built a distributed task scheduler with a dashboard, scheduler, and worker services using PostgreSQL, Redis (ZSET & Streams), and Go; capable of handling 1M+ daily jobs (tested for 80k spike in 10 mins) with retry and failure tracking. Deployed on AWS ECS Fargate, supporting scalable job ingestion, processing, and real-time monitoring with Redis locks, partitioned DB design, and consumer groups.

GolangginmicroservicesRedisPostgreSQLDockerAWS
Distributed URL Shortener service

Distributed URL Shortener service

This is a distributed url shortener service built with Go, gRPC, Redis and PostgreSQL. It has three services: JWT based api-gateway with gin, shortener gRPC service and getter gRPC service. Shortener service lets shorten url, register click of url and delete an url. Getter service lets getting all urls, get an url clicks and click history.

GolangginJWTgRPCmicroservicesRedisPostgreSQLDocker
Cron Scheduler service with RabbitMQ in Go

Cron Scheduler service with RabbitMQ in Go

This project is about a cron scheduler service which schedules cron jobs that are created using a dashboard interface. It publishes the jobs to the consumer service through RabbitMQ job queue, where it acknowledges successful job execution and retries for upto 3 times on job failures. And thus updates the job status in PostgreSQL database for tracking through the dashboard interface.

GolangginPostgreSQLRabbitMQDocker