Awesome_E Awesome_E
GitHub Experience Projects
E Starburst

Awesome_E

Full Stack Web Developer


Hey there, I’m Ethan, a computer science major at UCI. My experience consists of both formal education and many years of self-taught, passionate learning. I pay close attention to user experience and believe that attention to detail makes software enjoyable to use.

Wrench and Hammer

Skills and Languages

No JavaScript? No problem. You can still click each icon to learn more!


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.

HTML

As another building block of the web, HTML is a vital skill and makes up many sites I’ve developed. I’ve used HTML to develop several websites and frontends, including the GameChanger Project Website and the Treasure Hacks Hackathon Website.

CSS

CSS is another introductory language to the web, and I’ve learned many of the ins and outs of the language. I have used it to style many apps and websites such as the Treasure Hacks Hackathon Site and a personal Hopscotch-related website.

SCSS

Sass CSS (SCSS) is a more robust stylesheet language that has allowed me to construct larger stylesheets for more complex layouts like those found in the Treasure Hacks Organization Website and the fully-featured Web Editor for Hopscotch.

Git

Learning 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.

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.

Python

I learned Python through creating several small command-line apps, and I used it to extend the base application in a workshop I helped to prepare. Python was used to create backend logic like interacting with webhooks to notify users and editing items in a personal list.

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.

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.

HackEval Logo

HackEval

Hackathon Judging, Simplified


Hopscotch Logo

Hopscotch Web Editor

Bringing a fully-featured coding platform to the web!


Treasure Hacks Logo

Treasure Hacks Website

Elegantly presenting the goals of my nonprofit


Treasure Hacks Logo

To be continued...

I’m always eager to build the next app that creates new and interesting experiences. Feel free to check out the rest of my projects or contact me [email protected] if you have an opportunity!