Parallel Audio Downloader
A Python GUI app for downloading `.wav` files with and without multiprocessing, and scraping audio metadata using pydub. Built with Tkinter and ThreadPool.
A collection of product engineering projects showcasing various technologies and frameworks.
Click on a project card to explore the details and source code.
Parallel Audio Downloader
A Python GUI app for downloading `.wav` files with and without multiprocessing, and scraping audio metadata using pydub. Built with Tkinter and ThreadPool.
SimpleRPC Container Simulation
A distributed client-server system simulating a pressurized container using C# and SimpleRPC. Features thread-safe logic, RPC-based communication, and dynamic pressure resets.
Traffic Light Simulation (RPC)
A multi-client traffic light simulation using ASP.NET Core Web API. Clients act as cars waiting, queuing, and passing through a light with logic to simulate real-world scenarios and crashes.
Distributed Container Simulation
A multi-client RPC simulation using RabbitMQ and C#. Clients adjust container mass based on pressure, triggering resets on implosion or explosion. Features real-time threading and message-based communication.
Shared Memory Concurrency in Go
A Go-based student processing system using goroutines and channels for concurrent filtering and sorting. Demonstrates shared memory patterns with custom thresholds and file I/O.
Shared Memory Concurrency (C++)
A multithreaded student sorting system using shared memory and monitors. Integrates C# and C++ components to demonstrate concurrency, custom comparators, and cross-language logic.
Shared Memory Concurrency (C#)
A multithreaded student sorting simulation with C# monitor-based synchronization and a parallel C++ implementation. Demonstrates dual-language shared memory concurrency and custom sorting logic.
Dijkstra's Shortest Path Finder
A C# implementation of Dijkstra’s algorithm with path comparison and dynamic edge weights using Euclidean distance. Calculates and evaluates optimal routes in a weighted graph.
Sorting Algorithms Benchmark
Heap Sort, Quick Sort, and Insertion Sort implemented with execution time tracking and Excel-based reporting. Compares algorithm efficiency under increasing data sizes.
CUDA Student Grading
A parallel student grading system using CUDA. Filters and formats students based on name and grade using GPU threads for high-performance data processing.
ToDo App (Firebase + MVVM)
A modern Android ToDo app using MVVM and Firebase Realtime Database. Features user authentication, task syncing, category views, LiveData, and Material Design UI.
Functional Java: Geo Matcher
A Java-based demo of functional programming using JSON-based region and location data. Implements bounding box logic to match locations to regions and outputs results to a JSON file.
Java Data Structures
A comprehensive Java project demonstrating custom array, stack, queue, and linked list implementations with interface-based design and student record manipulation using file I/O.
Hash Table Visualization – Java
Explore open addressing techniques like linear probing, quadratic probing, and double hashing with interactive JavaFX GUI. Benchmark performance and manage car data in custom hash maps.
EcoSort – Smart Waste Sorting
A mobile app built to promote sustainable construction site waste management. Includes reminders, manager controls, reward codes, and infographic-driven worker education.
BST & AVL Tree Demo – Java
JavaFX application visualizing binary search trees and AVL trees with benchmarking tools, live GUI interaction, and custom Car data generation for tree simulations.