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
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.
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.
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
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
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