Shreyansh Agrawal

Logo

View the Project on GitHub Shreyansh7A/shreyansh.github.io

Welcome to My GitHub Portfolio

Welcome! I’m a Software Engineering enthusiast with a background in Computer Science and Mathematics from the University of Illinois Urbana - Champaign. This portfolio highlights my journey through various domains of computer science and its practical applications in solving real-world challenges. As I continue to explore and refine my skills, I look forward to discovering and shaping my unique niche in the field.

Projects

Drag and Drop Data Manipulation Tool: The project is designed to simplify complex data workflows, enabling individuals with non-coding backgrounds to explore data science and interact with data effortlessly.

HackIllinois 2024: Participated in HackIllinois John Deere Hardware Track. Created a BotPatrol. Bot-Patrol is an autonomous vehicle designed to patrol designated areas for enhanced security. Built using Python on a Raspberry Pi, the bot leverages YOLOv8 image recognition for real-time human detection and ultrasound sensors for obstacle identification. Users can define custom patrol paths via a web interface built with Flask, HTML, and CSS. The bot follows the path and detours upon detecting unusual activity. If a human is identified, it moves closer to assess the situation before returning to its original route.

Android App - Favorite Places at UIUC: Developed an Android application using Android Studio that allows users to add and explore favorite campus spots. The app enables users to view and interact with their friends’ favorite places, with options to filter locations by category and proximity. Integrated Google Maps API to display locations visually on an interactive map, enhancing the user experience with intuitive navigation and seamless location-based exploration.

NVIDIA Stock Technical Analysis: Performed a detailed technical analysis of NVIDIA Corporation’s stock. Using tools like moving averages, MACD (Moving Average Convergence Divergence), and Fibonacci retracement levels, I analyzed price trends, identified potential reversal points, and mapped support and resistance levels. This project combines theoretical explanations with practical Python implementations to provide a clear understanding of these technical indicators. It serves as a resource for anyone interested in exploring NVIDIA’s stock performance and learning how to apply technical analysis in trading and investment strategies.

Mosaic Generator: Created a Mosiac Generator. Steps on how to use it: Upload a folder of images and name it tiles. Upload a base image that you want to convert into a mosaic and name it base_image.png. Clone the repository and run the code, this project will transform the base image using the provided image dataset. This tool is perfect for creating personalized birthday or celebratory posts with stunning, high-quality mosaics. The project leverages Python to handle image loading, color analysis, and tile selection. Using NumPy, it implements distance-based color matching algorithms to analyze the average color of different regions in the base image. An energy function is employed to find the tiles that closely match the average color of these regions, ensuring seamless blending and a visually appealing result.

Creating my own shell/bash using C:

In this project, I implemented my own shell using C, focusing on creating a functional and interactive command-line environment. My shell supports a variety of features, including:

I utilized system calls such as fork(), execvp(), and waitpid() for process creation and synchronization, along with signal handling for operations like pausing (SIGSTOP) or resuming (SIGCONT) processes.

This project deepened my understanding of Unix/Linux process management and shell behavior while showcasing the capabilities of C in building system-level applications. I’m proud to have built a robust and user-friendly shell from scratch.

Spy Camera Detector: In this project, I developed a system to detect and locate hidden spy cameras using a Raspberry Pi setup. This setup is particularly useful for anyone concerned about privacy, such as when staying in hotels or Airbnbs. By walking through a room with this system, you can detect and locate hidden surveillance devices in real time, providing an easy and effective way to enhance personal security and privacy.

Working

By capturing WiFi packets and analyzing their Received Signal Strength Indicator (RSSI), I was able to estimate the location of a hidden camera. I used scripts to filter packets based on MAC addresses, extract signal strength, and record the data for further analysis. Combining this data with readings from an Inertial Measurement Unit (IMU), I created a trajectory map where signal strength was color-coded, making it easier to pinpoint the camera’s location.