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 to streamline 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.
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.
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.
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.
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.
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.
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.
Tailwind
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).
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.
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.
Ruby on Rails
Through interning with Hopscotch, I was quickly able to get a hold of the language’s syntax and behavior. Since one of their backend applications was written in Ruby, I learned the language so I could add features that the web editor needed to achieve full functionality.
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!