About me

Coding background

I'm currently an undergraduate student at Colorado School of Mines, studying mechanical engineering. I plan to pursue a masters in computer science once I finish my bachelors. Pretty much everything I know about software at this point is self-taught.

I definitely have the most practice in JavaScript, but I also know some Python, some C/C++, some Rust, and Arduino. For JS frameworks, I know Svelte/Sveltekit, and have the barest exposure to React.

I do a lot of tiny side projects, but not many of them are worth noting. I'm quite fond of the random name generator I made. The names are often hilarious.

Personal

I really enjoy mountain biking, speedcubing (my best time is 13.47s), and reading. Unfortunately, I don't read as much as I used to because I can't stop reading if I find a good book. I also enjoy playing piano and writing poetry on occasion.

It's kind of cliché to say so, but I really like learning new things. It's part of why I started learning to code in the first place. It's also why I refused to use any JS libraries or frameworks for a while—I wanted to understand how everything worked. Recently, I've been trying to get better at Valorant. I've never really played any fps games before, so I'm currently really bad at it. However, that just means there's more for me to learn, and hopefully I'll get better at some point.

Destination Imagination (DI)

DI gets its own header so you know how important it is. DI is a extracurricular STEAM program that focuses on creativity, teamwork, and problem-solving. If you've heard of Odyssey of the Mind (OM), DI split off from OM in 1999. I've been doing DI for 14 years now between competing and appraising and managing, and DI has had a huge hand in shaping the person I am today.

Being the type of person I am, I think I could have easily fallen into the habit of dropping anything I'm not immediately good at. Fortunately, I liked doing DI enough (and my mom pushed me enough) to learn how to persevere with things I'm not good at, because sometimes you need to just stick with it even though you're bad at it and it sucks.

Anyway, if you have kids (or if you are a student) you should check out DI at destinationimagination.org.

Skillz

Is the Z a bit cringe? Yes. Did it get your attention—who knows?

  • HTML/CSS/vanilla JS
    • I don't have much experience with TypeScript, as I haven't felt the need for it on my personal projects. However, I'm sure I could pick it up quickly.
  • Svelte/SvelteKit
  • NodeJS
    • Basic node servers and Express servers
  • Electron
  • Python
    • Basic Python knowledge (logic, file manipulation, etc.)
    • Some experience with PyTorch (see my sound classifier)
  • Rust
    • Most of my Rust experience is through making Tauri apps like this video downloader
  • Arduino
  • C/C++
    • Most of my practical experience using C/C++ is through Arduino (which isn't quite the same). I did make a very simple png editor with C++ for a school project.
  • Git/GitHub
    • I'm pretty comfortable using Git through VSCode. Just don't ask me to remember the commands off the top of my head.

Check my portfolio for examples!

Non-coding skills

  • Solidworks
  • Oxy-acetylene and stick welding, brazing
  • Bicycle maintenance and repair (I've worked at bike shops for about 2 years combined)
  • Rubik's cube solving
    • As mentioned above, I'm okay at speedcubing and this is a totally serious list.

About this site

This site is made with Sveltekit. The shadows are from Josh Comeau's Shadow Palette Generator. The animation on the homepage is made with three.js. The site itself is hosted on Netlify, the portfolio pages use Sanity, and the blog posts are hosted on GitHub (you can't read them there, though).