About Me

I recently graduated magna cum laude from the University of Tulsa with a major in Computer Science and minors in Cyber Security, High Performance Computing, Bioinformatics, Spanish, and Mathematics. I have hands-on experience with frontend development, backend development, system adminstration, machine learning, DevOps, and penetration testing.

Outside of work, I enjoy playing tennis and tinkering with electronics. I am a quick learner and a team player, and I am always looking for new challenges and opportunities to grow.

I love traveling, and completed a short-term study abroad program in Spain in 2019, as well as a semester abroad in Ireland in 2023. Following my semester abroad, I independently traveled to Spain, Austria, and Japan, gaining experience living in multi-cultural environments.

Experience

Student Tutor | University of Tulsa
Aug '23 - May '24
  • Tutored students at the University of Tulsa on material for 10+ Computer Science and Cyber Security classes.
  • Taught topics including Software Reverse Engineering, Linux, AWS Cloud Principles, graph theory, and scripting.
  • Guided students through programming exercises in Python, Java, C, C++, and Bash.

Undergraduate Researcher | University of Tulsa
Sep '21 - Sep '22
  • Collaborated with the Laureate Institute of Brain Research to develop machine learning models to read and interpret EEG and fMRI waveform data from the human brain.
  • Attained over 96% accuracy at classifying brain signals into ruminative depression or healthy control.
  • Published results on a novel ensemble learning approach that outperformed any single ML model at classification.

Co-Founder and Technical Engineer | Charitas (Non-Profit)
Jun '19 - Oct '21
  • Created a novel grid-computing based approach to charitable donation handling and cryptocurrency mining.
  • Developed public website and desktop GUI using Electron, JavaScript, CSS, and PHP.
  • Wrote interfaces between miners and desktop control application using shell scripts, Pascal, and NodeJS.
  • Facilitated the donation of over 1,000 trees through an automated cryptocurrency donation system.

Front-End Developer | DealerGeek
Jun '20 - Aug '20
  • Worked with a primarily Spanish-speaking team to develop inventory management software for car dealerships.
  • Collaborated closely with backend engineers to develop, test, and implement various APIs for managing and searching inventory of thousands of rental cars and license plates across dozens of dealerships.
  • Rewrote an older Django codebase in Angular and Bootstrap, using Figma to prototype designs.

Skills

Languages

  • C
  • C++
  • Java
  • Python
  • JavaScript
  • HTML/CSS
  • SQL
  • R
  • Elixir

Frameworks

  • React
  • Angular
  • NodeJS
  • Express
  • Flask
  • Bootstrap

Tools

  • Git
  • Docker
  • Linux
  • Windows
  • GitHub Actions
  • Postman
  • IDA Pro
  • Wireshark

Projects

Cover for first project: A screenshot of the Recipe Helper homepage
Recipe Helper

Browser-based cookbook, allowing users to create, store, and manage recipes. Created as part of my senior capstone project.

Live Demo

Tech: PostgreSQL, Elixir (Phoenix), Docker, TypeScript (React), GraphQL (Apollo)


On this project, I worked with a team of 3 other students to create a full-stack web application, serving as the lead backend developer. I was responsible for creating, testing, and documenting the database, API, server-side logic, and CI/CD pipeline. I also assisted with small tweaks to the React frontend, and helped to debug and test the application as a whole.

Our tech stack featured a PostgreSQL database, Elixir/Phoenix GraphQL API, React frontend, and GitHub Actions for CI/CD. We also used Docker for containerization, and deployed the application on this infrastructure. I created an automatic build system that built images via GitHub Actions upon code push, and then deployed to either a production or development server with separate databases.

Cover for second project: A single run output from the genetic algorithm
Genetic Algorithm

Implemented a simple genetic algorithm, simulated annealing, and hill climbing algorithm from scratch to solve the Geometric Connected Dominating Set problem.

GitHub

Tech: Python, Matplotlib, NetworkX


For my final project for my Evolutionary Computation course, we were tasked with picking an NP-hard problem and developing an evolutionary algorithm to solve a series of increasingly large problem spaces. I chose the Geometric Connected Dominating Set problem, also known as the Radar Placement problem, which seeks to find the minimum subset of a graph such that every vertex in the graph is either a member of the subset or located within some specified Euclidean distance of a vertex in the subset.

I implemented a simple genetic algorithm, simulated annealing, and hill climbing algorithm from scratch in Python to solve this problem. I used NetworkX to generate and store the problem space, and Matplotlib to visualize the results. I also wrote a report detailing the results of each algorithm, and how they compared to each other and to the optimal solution. I automated and parallelized the execution and testing of these algorithms, creating a CLI for each type of algorithm to run on a variety of graph sizes and densities, as well as creating a standardized output that allowed me to save and restore the state of any given run.

Cover for first project: A screenshot of this website's homepage
tcsteiner.com

This website was built using Astro, and serves as an exercise in full-stack development and system administration.

Live Demo

Tech: Astro, TypeScript, CSS, HTML, MDX


I created this website to showcase my portfolio and resume. Astro was chosen for its performance benefits and flexibility in using different frontend frameworks. This site currently hosts this portfolio, my blog, and several other projects, including a few of the ones highlighted here.

This site is hosted on a budget VPS running Ubuntu 22.04 that I manage and tinker with myself. Everything is containerized using Docker, and Traefik is used as a reverse proxy to route traffic to the appropriate container.

Cover for first project: A screenshot capturing the Visual Studio editor as well as the physics engine
PhysSim

C++ pixel physics engine developed for a game jam, simulating various physical interactions at a pixel level.

GitHub

Tech: C++, OpenGL


For CSGConf 2021, I teamed up with two friends to work on a particle physics simulation engine developed in a single day. We used C++ and OpenGL to create a pixel-based physics engine that simulated various physical interactions, such as gravity, friction, and collisions. We also implemented a simple rendering engine to display the results of the simulation in real-time.

Our project won first place in the college division in the simulation category. I was responsible for implementing several particle interactions and the spawning of new particles.

Volunteer Work

Indian Pines Country Day School | Auburn, AL
  • Took over managing a local school's public website after years of using an outdated platform.
  • Cut total hosting and certificate renewal costs by a factor of three, and migrated all content to a WordPress-based CMS for ease of access and modification by teachers.
  • Audited all school computers, uninstalling any potentially unwanted programs and installing antivirus and adblock on teachers' devices.

Make A Difference Engineering | Tulsa, OK
  • Participated in the Make A Difference Engineering (MADE@TU) club at the University of Tulsa, in which engineering students create adaptive technology for local special needs students.
  • Worked for three consecutive semesters on a project building an interactive light panel for a local elementary school using ultrasonic distance sensors to detect touch and an Arduino to control the lights.

Eagle Scout, BSA | Auburn, AL
  • Achieved the rank of Eagle Scout in the Boy Scouts of America, demolishing and rebuilding a damaged fence at a local historical society as my Eagle project.
  • Served as a Patrol Leader, Senior Patrol Leader, and Troop Guide, planning campouts and activities while leading younger scouts and teaching them the skills needed to advance in rank.