sarah ridley's portfolio
Home About

Hack@Brown Dev Team

Programming


Hack@Brown


In my first semester of college, I joined Hack@Brown, which organizes Brown University's annual hackathon. Students at Brown and from colleges across the US come to Brown to compete in this hackathon, which is such a fun event. Specifically, I became a part of the Dev team, which creates a new website for the hackathon every year. We build the website with React, which gave me the challenge of learning React as I programmed my assigned pages!


Website


Another programming experience that I'm particularly proud to share is this website itself. In the summer of 2020, I took the Harvard CS50 course, which was their Intro to Computer Science class. At the end, I learned HTML and created my first website. I didn't have a domain at that point, so I just ran my little website on a local host. Then, in the fall of 2020 to the spring of 2021, I worked for the Healthtech Hunches website, where I learned website design using tools like Wordpress. When I decided to create my own website, I challenged myself to only use HTML, CSS, and JavaScript. The culmination of my work building those skills is this website before you.



Rideshare Fare Predictor GUI

Rideshare Fare Predictor


This rideshare fare predictor was my first project in my Advanced CS: Data Science and AI class that I took in my senior year of high school. I wrote all the code for this project in python. First, I used the pandas library functions to make an SVC (Support Vector Classification) predictive model for based on data about the prices of rideshare services that I found on Kaggle. I also used geopandas to make the map that shows up on the right side of the GUI. To make the GUI itself, I used the tkinter library.


Mancala Game

Mancala Game

The second project I made for this class was a game of mancala. Even if you don't recognize the name 'mancala', you might have played it before because it's very popular. It's a two player game where the goal is to end up with the most marbles in your pot at the end. You take turns moving marbles according to specific rules, which I won't get into. In my game, you play against the computer, which is programmed using search trees and alpha-beta pruning. The computer makes a tree with every possible move, pruning some branches as it goes with alpha-beta cutoffs, and then chooses the best move. Depending on how many moves you let the computer look ahead to (which correlates with how many layers of the tree it will create), the computer can become virtually unbeatable!



A* Pathfinding Map

A* Pathfinding Across the United States


For my third project in this Advanced CS class, I coded an A* pathfinding algorithm to find the shortest distance across a map of the United States with randomly generated obstacles. The obstacles include water and mountains, which do not accurately represent the landscape of the United States (because they are randomly generated). Each green block is a viable step on the path, and the number on each green block represents how many steps away from the start it is. When the "Find Shortest Path" button is pressed, the algorithm then finds the shortest path and highlights the steps in white. The starting point is always in Washington and the end point is always in North Carolina. However, the obstacles generate differently each time, so the shortest path is always different.



COVID Symptoms Chatbot

COVID Chatbot GUI

For my final project in this class, I created a COVID symptoms chatbot. This was a challenging project, so I got help from websites like these. The idea of this chatbot is to ask the user questions about their COVID symptoms and general behavior (including exposure and mask-wearing) and make a prediction about the likelihood of the user having COVID. The prediction algorithm uses a Random Forest Classifier model based on data about COVID symptoms and cases from Kaggle. Then, the chatbot recommends options for treatment. Instead of statically asking a series of questions, however, the chatbot uses deep learning to properly react to whatever the user enters, even if it doesn't fit the expected response pattern. The chatbot is definitely not perfect, as the user still needs to be clear with their responses for the chatbot to make a prediction. And of course, this chatbot could not replace a real doctor, but who knows! Telehealth might be the future of health care.



Critter Sitter App


In the summer of 2021, I attended an engineering camp where I participated in a General Electric sponsored design challenge, and my team won third place. We designed a pet feeding machine that we called the Critter Sitter, which I have on the Robotics and Mechanics page. To pair with that machine, I coded this app.

Critter Sitter Critter Sitter Critter Sitter Critter Sitter



Critter Sitter

Weather Updates App


I challenged myself to create a program that would run on my computer daily, and I decided to code an application that would post the daily weather each morning when I opened my laptop. Through this project, I used the Tomorrow API, which allows the application to get a lot of data on the day's predicted weather. Then, the program extracts the pieces of information that I want to display in my notification, which includes the temperatures, chance of rain, and general description (sunny, cloudy, etc).



Palette Designer

Palette Designer


Another time that I was experimenting with applications on my computer, I created a palette designer that I can use when creating the color scheme for my art projects. You can add as many panels to the palette as you want, and then you can change the color of these panels using their hex codes.

I have actually used this tool to help me visualize the fabrics or color scheme that I want to use on drawings and sewing projects like quilts. I always lean towards pinks, purples, and peaches in my art, but this palette autoloads with random colors. This random combination pushes me out of my comfort zone and inspires me to use different colors and combinations. Being able to use my creations in my everyday life is very rewarding, and the practicality of Computer Science and programming is part of what makes me love it so much.




sarah ridley's portfolio
Contact