About Me

I'm Joyjit Choudhury, a computer scientist, researcher and software engineer. I like to work on complex problems in Distributed Systems and AI.

Currently, I'm a grad student at the University of Victoria, BC, Canada. My research areas include VLS Databases and LLM based multi-agent orchestration. I previously worked as a senior backend developer at a US logistics startup Turvo (acquired by Lineage). Before that I was a full-stack engineer at Oracle.

I hold a bachelor's degree in Computer Science & Engineering from NIT Durgapur. Some of my hobbies are reading, listening to all kinds of music, cycling, playing Rocket League.

Here are some of my past and ongoing projects.

Feel free to get in touch:

Blog

C++ Standard Library "Crash Course"

This is something I wrote back when I was younger—my first blog post ever. Even now, I sometimes go back to it as a quick crash course for syntax and expression.

Projects

HTTP Server

Personal Project | Python, TCP Sockets

  • Built a complete HTTP/1.1 server from scratch, handling raw TCP connections to parse and respond to requests.
  • Implemented support for core HTTP methods like GET and POST, including request body and header processing.
  • Engineered the server to manage multiple concurrent and persistent connections for improved performance.
  • Added advanced features such as serving files, HTTP compression with Gzip, and graceful connection closure.
  • Python Implementation

GNOME Calendar

Open Source Contribution | C, GTK+

  • Authored and merged patches fixing bugs in the week-view functionality.
  • Contributed to the calendar application for the GNOME Desktop Environment.
  • GitHub Link

Python: 2D Games using SimpleGUI Module

Personal Project | Python, SimpleGUI

  • Created remakes of Classic Atari games such as Asteroids and Pong, along with games like Blackjack implementing concepts of Object Oriented Programming and 2D Physics.
  • The user can give input through a mouse or keyboard
  • Source Code