Hey there, I’m Ethan. I study computer science at UCI, and I've been building my ideas into projects for nearly a decade. My experience ranges from creating internal tools for streamlining organizational processes to designing web apps for clients and customers.
Skills and Languages
No JavaScript? No problem. You can still click each icon to learn more!
React
I learned React to familiarize myself with frameworks used by a majority of web developers. Using React with both Vite and Next.js, I’ve created Anteater Atlas (to track daily services at UCI) as well as a Hopscotch Curation App that lets me review 2700 projects per week.
Python
I recently created a Python machine learning model that accounts for 94% of variability between project metadata and quality using SciKit-Learn. I’ve also used it to create backend logic using Flask in a beginner-oriented workshop.
TypeScript
I used TypeScript while creating the frontend and backend code for my hackathon judging platform, HackEval. The frontend code controls the fluid user interface, and the backend code handles database interactions, authentication, and route management.
JavaScript
I have the most experience with JavaScript and use it to create most of my projects. JavaScript is at the core of developing interactive web apps, and I learned it over the years by creating everything from my first big project to a full web-based code editor.
While I prefer the traditional approach of SCSS, I picked up Tailwind CSS for apps that require fast prototyping and efficiency within a developer team. I used it to develop the Treasure Hacks Seminar Site as well as a new version of Hopscotch’s Web Editor (WIP).
Git
I believe Git is one of the most important skills in software development. Through my internship with Hopscotch, I used git collaboratively and learned commands like rebase and cherry-pick. This then led me to write GitHub 101 & 201 for those new to version control.
Jest
Through both formal education and internships, I’ve accustomed myself to writing unit tests with Jest. I’ve used it to write tests for APIs, web app behavior, and Discord bots as it ensures that code I write or review is reliable and behaves as expected.
PostgreSQL
While I was familiar with NoSQL databases, I chose to use PostgreSQL for my hackathon judging platform since it is a robust RDBMS. Due to the many relations needed for the app, I’ve written several nested queries and migrations to return the proper data.
MongoDB
In addition to learning SQL, I’ve experimented and used document-based databases like MongoDB. Using both replica sets and change streams together with websockets allowed me to mod Hopscotch and create a realtime multiplayer system.
Node.js
I’ve used Node.js for a variety of projects. I got started with Node.js when I wanted to build an API for a collection of Hopscotch Tools I made. Once familiar with routing, I moved on to writing backend apps like the Treasure Hacks Discord Bot as well as full stack apps.
SciKit-Learn
I used Sci-Kit Learn to overcome a long-standing struggle with Hopscotch: picking out high-quality projects more efficiently to feature in the community. Coupling a RF Regressor with a web interface, I can now feature 5.2x more projects in 7x less time.
I’m always looking for opportunities to build out a new idea or experience. Feel free to check out the rest of my projects or contact me [email protected] if you have an inquiry!