Back Home
Cocktail Browser Web App

A web application made with React.js that accesses over 700 different cocktail recipes from the CocktailDB API. The user can search cocktails by name or the serving glass and view the recipes. The user can also filter the cocktails he or she wishes to make based on a chosen list of ingredients. I thought that this app would allow people to discover different drinks but also see what they are able to make based on the ingredients they possess. I learned many valuable skills from this project, but I also enjoyed using my creative side to style the website. I made an effort to implement animations, a simplistic but aesthetically pleasing theme, and unique functionality. I quickly became passionate about this project and strived to provide not only an easy-to-use app but also one that solves a real-world problem.

This project was intended to sharpen my frontend skills by learning React.js. First, I used tutorials and documentation to learn the basics of React and then moved to create this project to test myself. Creating this web application taught me a variety of skills in different areas. I became more comfortable with the React component system and am now able to quickly envision the structure of basic React applications. Generally speaking, practicing my React skills has given me a better understanding of how the frontend side of applications works. Additionally, working on this project has also developed my knowledge of the Node Project Manager environment. Much of the time I spent developing this application was devoted to debugging, which generally strengthened my fundamental programming knowledge but also taught me what errors are common when making web applications and how they can quickly be tested or fixed.

This application accesses all drink information from the CocktailDB, which is a free API. I learned how to make API requests in JavaScript using Axios, and I also learned useful skills when it concerned unpacking and processing the JSON information that is received upon a request. When making these API calls, it was important to use asynchronous functions. Consequently, developing this application made me very comfortable with using asynchronous JavaScript and allowed me to recognize why it is important.

This web application serves as a perfect example of why I love doing projects at my leisure. With this project, I was able to learn many important skills, such as JSON parsing, API requests, and asynchronous programming, which are not discussed in a typical computer science degree but are important in the real world. Although I enjoy learning in a classroom setting, practicing my skills on a project that I choose is the most rewarding because I find them more enjoyable but also more meaningful.

Github
US Media Bias API

An API made with Node.js and express.js that scrapes Google News and sorts news articles by their respective source's political bias. Users can choose to scrape news only of a certain bias along with keyword filters.

Github
Financial News Headline Generator

A natural language model that was trained on over 10,000 financial headlines. The model receives a root string starting the headline and will generate relevant, context-aware text that finishes it.

The data was preprocessed into an n-grams model and vectorized. The model used an embedding layer as an input and a recurrent neural network (LSTM). It was built and trained using Keras and Tensorflow.

Github
Search Engine from Scratch

Built with Python 3, the rudimentary search engine contains three components: the SQLite3 database, the main search interface, and the crawling bot. The crawling bots were designed to self-replicate to increase the discovery rate.

This project allowed me to understand how search engines work more meaningfully.

Github
Sorting Algorithm Visualizer Tool

Using HTML, CSS, and JavaScript, I made a responsive and minimalistic visualizer for the most famous sorting algorithms. Although JavaScript shows minimal support for OOP, this program heavily relied on the use of objects and classes.

Aside from learning about sorting algorithms and recursion, this project taught me the basics of JavaScript canvas animations and the use of animation arrays.

Github
Online TCP Checkers

A Pygame-based checkers game that uses TCP sockets. Using a threaded client-server architecture, two players send and receive game state packets to and from the server.

Players can join, leave and reenter without losing a game's progress.

Github