I am a junior at the University of Minnesota Twin Cities, majoring in Computer Science in the College of Science and Engineering and pursuing a minor in Business Management at the Carlson School of Management. Throughout my college career, I've completed courses such as Computer Science Principles, Data Structures and Algorithms, Advanced Computer Science Principles, Machine Architecture and Organization, Computational Linear Algebra, and Program Design & Development. At 21 years old, I am focused on building a career as a full-stack software engineer, with interests in full-stack web development, object-oriented programming, machine learning, and DevOps. Outside of computer science, I enjoy learning about business, working out, and watching podcasts about successful individuals in the field.
While searching for jobs and internships, I've been having a recurring problem while perusing the job description: Many of these jobs do not have relative skills on my resume. This has made the search much more difficult that I had believed it to be. So I came up with my own solution: Create an using a Gradle built-Spirngboot Java application that parses skills on my resume, fetches jobs using Adzuna's open API and returns said jobs that closely match my resume. For the frontend, I chose a Tinder-Style UI since I felt that it would be easier to concentrate on one job at a time rather than 50 jobs all together. Finally, I created an account system that holds user information and saved job information as well. Users can save jobs recommended to them and also delete them from their wishlist incase they have applied and no longer need to hold onto it.
Smart Budget Tracker, or SBT for short, is a financial management web application that allows users to manage their finances by setting budgets, tracking income and expenses, and visualizing spending trends. The server side was built using C# .NET Core for API development and business logic, and the MS SQL Server was used as the relational database. React.js was used to power the client-side., with features such as Chart.js to create interactive dashboards that visualize financial trends and Axios to seamlessly communicate with the backend API for real-time data retrieval. Key features include setting budgets for various spending categories, tracking and categorizing income and expenses, receiving real-time overspending alerts, automatically categorizing transactions, and setting up recurring expenses. Users can also export their data in formats like CSV, PDF, or JSON for further analysis, enhancing the overall financial management experience.
SmartShopper is an E-commerce website templete I created in order to express all the skills, tools, and technologies I have learnt and gathered over the past 6 months. It is a full-stack application that utilizes Front-end, Back-end, Database, CRUD storage, RESTful APIs, Machine Learning, and Deep Learning. In January of 2024, I signed up for a hackathon that involved some form of ML integration. Originally, we wanted to create a E-commerce website with a Chatbot customer support. However, none of us had the necesary tools, skills, or knowledge to create a product such as that. I spent the past 6 months mastering the skills of Full-stack application development and RESTful APIs. During this time, I also took time to learn about ML and DL through Python libraries such as Pytorch and Sci-Kit Learn.
Neuro is an AI Chatbot that utilizes a Neural Network and Natural Language Processing to read in human speech and output a message dependant on what it predicts the message is saying. Neuro has many functionalities alongside simple conversation. It can solve math equations, check the weather and check stock prices and trends through API calls, and more!
CineMood is a free web application that utilizes a Machine Learning model to recommend a movie to the user based on their current location's date and time. This application collects weather information using the OpenWeatherAPI and returns a weather code and time. This code and time is then fed to a Machine Learning model and returns a list of genres. Next, this list is fed into an algorithm, which returns a list of 25 movies that best fit the given genres. Finally, a movie is randomly selected from this list and is recommended to the user. The user can freely swap through this list in case their first pick isn't to their liking. This project was contained using Docker and deployed to the web using Render
The classic game of Minesweeper was a project we worked on in our Data Structures and Altgorithms course. Originally, the game was created in Java, but it only ran through the Terminal. I wanted to add a user interface to this game for better experience. So I utilized HTML & CSS along with JavaScript function in order to run the Minesweeper code with a better UI. This game only exists on a 10x10 board with 20 mines. Left click is to reveal a mine and right click is to place a mine down. If you click on a tile that is flagged, it will reveal it, and you will get your flag back. There is a reset button to restart the game at the bottom of the page.
In an effort to teach myself Java's main GUI and learn more about Java, I decided to replicate the old arcade-style pong game. Pong utilizes Object-Oriented-Programming principals and the Java's built-in GUI Swing. The first player to 5 points wins the game.
I have this tendency to constantly calculate my GPA, whether it be for the semester or my overall GPA. One thing I struggled to find online was a GPA calculator that allowed me to view my Cumulative GPA along with my Technical GPA. My Cumulative GPA is important to me for to inform my employers of how I performed during my college years. However, in the College of Science and Engineering, the technical GPA is a type of GPA that is calculate using only STEM courses. The Tech GPA helps determine whether students are eligible for their majors they wish to pursue.
This project was my first attempt at machine learning. I used a linear regression model to predict the chances of a person surviving in an apocalyptic scenario as a for-fun project. Along with that, I used Javascript to add animations such as a loading spinner to the bottom of the div that appears while the model is predicting the user's chances of surviving
This basic tools helped me in grasping the concepts of SQL along with expanding my knowledge in Python and routing backend programs to Database systems. This program runs in the command terminal. This program has two different Databases: One for storing the master username and password, and one for storing the information of accounts by user input. On first run, you must create your account with a username and password. Once that has been completed, you must login using the master password and master username to access your saved accounts. Once you have access to the password database, you can view or add your saved passwords. This process will continue until the program is terminated via user input. Thanks to SQL and SQLite3, data will persist even after the program is done running.