← Back

More Projects

Auctioneer: Multithreaded Auction & Reliable File Transfer North Carolina State University
PythonSocketsTCPUDPMultithreading
  • Built a multithreaded TCP auction server that runs first- and second-price sealed-bid auctions between a seller and multiple concurrent bidder clients, handling connection state, invalid input, and role assignment entirely over raw sockets.
  • Designed a custom Stop-and-Wait reliable data transfer (RDT) protocol over UDP to securely deliver the auctioned file from seller to winning bidder, with sequence numbering, ACKs, timeout-based retransmission, and IP-based sender authentication.
  • Simulated a lossy network at the application layer and benchmarked transfer completion time and throughput across packet loss rates from 10–50%, demonstrating the protocol's correctness and graceful degradation under loss.
View on GitHub
Secure File Transfer & MITM Attacks North Carolina State University
PythonPyCryptodomeSocketsAES-GCMDiffie-Hellman
  • Built an encrypted file transfer system over raw sockets using AES-256-GCM with PBKDF2-derived keys, ensuring confidentiality and integrity of transferred data.
  • Implemented Diffie-Hellman key exchange to dynamically establish session keys, replacing static command-line key input.
  • Designed a man-in-the-middle proxy that performs separate DH exchanges with client and server to transparently decrypt and re-encrypt intercepted traffic, demonstrating on-path attack techniques.
Network Security Audit: NC State Infrastructure Recon North Carolina State University
PythonCensysShodanPlotlyCertificate Transparency
  • Conducted a passive network security audit of NC State's infrastructure, identifying owned IPv4 CIDR blocks via ASN and WHOIS research without performing active scans.
  • Queried the Censys and Shodan APIs to catalog hosts across identified networks and built visualizations profiling operating systems, web servers, and exposed protocols.
  • Documented a discovered security finding with vulnerability context, impact analysis, and remediation recommendations, and identified external "shadow IT" hosts using DNS and certificate transparency data.
Face Recognition Based Attendance System KLS Gogte Institute of Technology
PythonOpenCVHaar CascadeNumpy
  • Built an end-to-end facial recognition pipeline for automated attendance: capturing and grayscaling face samples via webcam, training them into a recognition model, and matching live faces to enrolled identities.
  • Designed a three-stage workflow (dataset capture, model training, live detection) that logs each recognized user's ID with a timestamp to a running attendance record, removing the need for manual sign-in.
View on GitHub
Virtual Mouse: Hand Gesture Mouse Control Personal Project
PythonOpenCVMediaPipeNumpyPynput
  • Built a markerless, camera-driven virtual mouse that tracks 20 hand landmarks in real time using Google's MediaPipe and maps thumb-to-fingertip gestures to click, double-click, and scroll actions via Pynput.
  • Implemented an image acquisition pipeline supporting both a built-in webcam and an IP Webcam Android app over a local network, with OpenCV and Numpy handling frame decoding and processing.
  • Designed a GUI with a live control overlay guiding users through gesture-to-action mappings for an intuitive, contact-free input experience.
View on GitHub
Sudoku Solver: CNN-Based Image Recognition & Backtracking Personal Project
PythonOpenCVTensorFlowNumpyMatplotlib
  • Built an image processing pipeline that isolates a Sudoku grid from a photo using thresholding, contour detection, and perspective warping, then splits it into individual cell images.
  • Trained a Convolutional Neural Network to recognize handwritten and printed digits from each cell, filtering empty cells via white-pixel density thresholding.
  • Implemented a backtracking algorithm to solve the recognized puzzle and overlaid the solved digits onto the original image at each cell's centroid.
View on GitHub
Blinker: Eye-Blink to Morse Code Communication Personal Project
PythonOpenCVdlibNumpy
  • Built an assistive communication tool that detects 68 facial landmarks with dlib to track eye state and measure blink duration in real time.
  • Classified short and long blinks as Morse Code dots and dashes, then decoded the resulting sequences into alphanumeric characters, enabling hands-free text input through eye movement alone.
View on GitHub