Ethan DeGuire

My Projects

spotify shuffle

SpotifyShuffle

OAuth2, HTML/CSS/JS, Netlify

I found myself dissatisfied with Spotify's shuffle alogrithm, as it just shuffles the whole playlist. I want to listen to my playlist in order, but just a little bit shuffled. So, I made a web app that let's me log in with spotify, import a playlist, and then add a slightly shuffled version to my queue.

corona friends image

CoronaFriends

Firebase, HTML/CSS/JS

This project was my first time using Google's Firebase to create a website with a front and a backend. I learned a lot about how modern websites work, and gained a much better understanding about how the front and back ends of a website interact with eachother. This projects also uses the OAuth2 flow to log in, which was a new tool to me. The website itself is a prototype of a social media website designed to connect people who must be physically isolated, and it automatically creates google hangouts for people to connect in.

HackIAW Phoenix Logo

HackIAW

Project Management, Airtable/HTML/CSS/Netlify

Along with members of the programming club I founded at my high school, I worked on every aspect of planning an event. I built a website, worked to market our event, approached sponsors and dealt with logistics. We planned to host over 50 students from the surrounding area, but had to cancel it due to COVID-19 :(

Hack Club Logo

Hack Club

Leadership Skills, HTML/CSS/JS/Netlify/Airtable

I founded the first ever programming club at my high school, Hack Club. With my co-leaders, we created workshops to introduce people to coding to fill a void left by the lack of computer science classes available to us. We maintained a club attendance close to 5% of the size of our school.

Extended Essay Illustration

IB Extended Essay - Physics

Major Project as IB Diploma Candidate

For my extended essay, I chose to investigate a field of physics that my curriculum did not cover: engineering physics. I investigated the effect of changing the radius of an axle of a vehicle with constant input force and energy. I learned about the entire process of academic research.

NotifyMe

NotifyMe

NodeJs, FaunaDB, Netlify

This is multi-platform desktop notification service built using Netlify on the JAMStack. It uses serverless Lambda functions as the backend, and connects to a serverless database service, FaundaDB. Sign up today!

p5.graphing example

p5.graphing

JavaScript, p5.js

This is a library for the JavaScript framework, p5.js, that is an all purpose graphing library. It supports many types of graphs, including bar graphs, line graphs and pie graphs. You can read more about it on the wiki and documentations at p5graphing.info

MinMax Program

Min-Max Line Finder

JavaScript, HTML, Desmos GC API

This project makes use of a powerful API, made by Desmos, with a graphing calculator embedded in the page to show points with uncertainty values, and equations based off of calculations done in JavaScript. The purpose of it is to automate a process which can take a significant amount of time, finding minimum and maximum slope gradients given a dataset. I did this to help speed up the process of writing Physics lab reports.

Sine / Cosine

Laws of Sines and Cosines

JavaScript, HTML

This is a calculator with walkthroughs for calculating the other side lengths and angle measures of a triangle when given any of the possible combinations.

WebArt Pic

WebArt

p5.js

A project created in collaboration with my classmate, Jake, that seeks to create a basic yet capable online pixel art platform. Code

Stats

Statistics Calulator

p5.js

Histogram, box plot, and number cruncher for 1-var statistics data. Created as a side project to further understand mathematical knowledge. Code

Block Breaker IMG

Block Breaker

p5.js, Express

This project is a clone of the CoolMath game https://www.coolmathgames.com/0-bricksbreaking, with a server hosted leaderboard and score tracking system coded in Express, with the front-end written in p5.js.

rpi diagram

Alarm Pi

python

10th grade personal project. I created an alarm clock with the goal of being able to wake me up - and succeeded.

Electric Field

Electric Field Simulation

p5.js

WIP - Basic simulation of an electric field.

War Simulation

Rubiks Cube Simulation

p5.js

While not visually impressive, this simulation performs all of the calculations for the rotations when a Rubiks cube is turned. It can take CSV data representing a cube as an input, and displays the Cube in two dimensions.

War Simulation

Kepler's 3rd Law - Gravitation

p5.js

Uses Kepler's 3rd Law to model gravitational orbit given two of three variables: period, distance between bodies, and mass of the Earth