Ethan Kellerhals

Project Archive

2024

Health Tracker

I created a website to track some of my health statistics. I realized I wasn't getting enough sleep, so I wanted a way where I could fill out a simple form so I could look back at the end of the month/year and see the data. I could've easily used Google Forms/Sheets, but they aren't the best company, so I created my own. The database runs on my Linux laptop (for now), and I have a shortcut to the website on my phone, where I fill out the information. There's a discrete-looking login/registration form (i.e., super barebones looking) in case someone stumbles upon the website (when I publish it). The login/registration uses Flask-WTF for form security, including CSRF protection, and Werkzeug.security for hashing (generate_password_hash and check_password_hash).

Python • Flask • HTML • Sass • JavaScript • SQLite

Terminal Tetris

A terminal-based Tetris game. I came across spotify_player that runs in the terminal and after building Tetris.js, I wanted to try and do the same. This was a good C++ refresher.

C++ • ncurses

Concocto (Ongoing)

A web application that allows users to discover what kinds of drinks they can make with the ingredients in their house.

Python • Flask • SQLAlchemy • HTML • CSS • JavaScript

Recipe Scraper

A web scraper that scrapes recipes from any website (legally) and stores them in a database. I wanted to learn more about web scraping and how to store data in a database (and because I needed drink recipes for Concocto). I've gotten thousands of drink recipes so far. Web scraping is very interesting. I will be building more of these soon.

Python • BeautifulSoup

Chat Program

A chat program that allows users to chat with each other through the command line. I wanted to learn more about networking and try out Go.

Go

Tetris.js

I just wanted to play Tetris.

HTML • CSS • JavaScript

2023

Automated Meter Reading

My senior year capstone project focused on machine learning and computer vision. It was an API built for a New York-based company that provides an operational intelligence platform for commercial real estate. This program takes an image of an energy meter as input and outputs the value of that energy meter. I was designated to do the computer vision aspect (making sure the program could read the value of the number or dial). The dials were the challenging part. If the user took the image at an angle, then the detection of the dials and the dial pointers would be slightly off. To try and counteract that, I utilized NumPy's linspace() function to count the pointer along radial lines.

Python • PyTorch • Pytesseract • OpenCV • NumPy

GameHub (Paused)

This Android application enables users to connect, share, and review video games - the gaming version of IMDb or Rotten Tomatoes. Time constraints, and this being our first experience using Android Studio, prevented full completion; the app is functional locally - though not as engaging as it could be. I believe the completed web version has lots of potential.

Java • Android Studio • JUnit • Git

Yellow Submarine

An underwater VR scavenger hunt to find and learn about endangered fish species. My team and I built the game to raise social awareness about these endangered fish species. It includes physics to make it seem like your character is swimming and moving underwater. There are also dozens of textures for fish, plant life, and structures for the game.

Unity • C# • Oculus Rift

2022

ConnectFour Simulator

A program that simulates different algorithms playing Connect Four. I wanted to learn more about AI and how to create a game simulator.

Python • NumPy • TQDM

Color Coded

A website that allows users to choose a color on a spectrum and receive its color codes and complementaries. A team of three and I built this to help others choose good color schemes for their projects.

HTML • CSS • JavaScript • Docker • Heroku

2019

G.O.T. Terminal Game

A terminal-based where you choose a character from Game of Thrones to build your army, forge alliances, and defeat rivals across Westeros.

C++

2018

LoL Champion Stats

A program that allows users to pick a League of Legends champion and see all base stats (levels 1-18). I wanted to learn more about GUI development and how to create a program in Visual Studio.

Visual Studio • C#

2017

NBA 2K17

This was my first real project I did in school. Before this, I was making simple websites with JavaScript animations and Python calculators in my free time. In this game, you played as Steph Curry and tried to make the most baskets as possible in 60 seconds.

MIT App Inventor