I started coding in my second year of college. Before that, I had never compiled a program, written documentation, or even downloaded an IDE. I missed learning about tech during some of my most formative years, but I don't believe that means I can't contribute to good software. Here is what I've come up with so far.

2026
christopher-benson.com

Personal Website

2026
Huskie Motorsports Website

Organization Website + News Page

2026
NCC

x86 Compiler

2025
Varsity Music

Contract

2025
ReadMetric

Correlative Research Study

2024
Fennec

Chess Renderer

NCC

Simple language compiler in C. Supports: arithmetic, strings, integer variables, basic I/O, relational expressions, logical expressions, if/else, and while loops. Source files are read entirely into memory. Lexer handles identifiers, integers, float constants, string literals with escape sequences, operators, and line/block comments. Parsing uses recursive-descent architecture to produce AST. Arithmetic, relational, and logical expressions handled according to traditional precedence and associativity rules. AST is walked post-order. x86 ASM is written directly into a byte array using stack model. The final program is casted to a function pointer and called. Utilizes short-circuit evaluation.

Varsity Music

Varisty Music is a startup based out of Ames, Iowa. I contribute primarily to the Illuminant app, ensuring that end-users have a seamless interaction with the product. Currently, Illuminant has multiple collegiate customers, with active development moving product improvement forward on a daily basis. UI, UX, and Bluetooth interactivity are all components that need to be flawless in order to deliver a product that meshes well with musicians. We also use a stack that is convenient for developers. The Flutter stack, created by Google, allows us to facilitate fast changes to the product due to its simple syntax and mobile compatibility.

Huskie Motorsports Site / Newspage

The Huskie Motorsports FSAE team needed a new website. The current Google Site version was outdated, and no one wanted to spend valuable season-hours on developing something that wasn't directly related to the car. As a curious student looking to expand my knowledge on web development, I decided to participate in creating a new, updated website for the team. I originally coded the website in pure Bootstrap in order to faciliate self-learning. I also learned about Content Management Systems through integrating Decap and Hugo into the team's news page. Introducing a realtime news feed to the website was the first time I had to consider multiple factors in design, facing the dilemma that I had to create a platform for non-programmers to contribute to the website.

ReadMetric

Research project that aimed to uncover relationship between GitHub README quality and overall project popularity. Data was scraped using GraphQL and GitHub's official API due to GHTorrent's hosts being dead. API ordering presented issue as GitHub orders repos through recency, with no official way to fetch a random repo. So we implemented random fetching. Absurdly-made READMEs affected quality metrics. Outliers needed manual review, even after an automatic pass. Educational repos had absurd fork counts, which contributed to them being "more popular." Influencer repos also presented unbiased popularity metrics. Ultimately, found no correlation after accounting for all of these potential outliers and biases.

Fennec

PyQt6 chess renderer. Supports PGN and FEN format translations. Includes basic Stockfish engine integration. This was my first project, and it was very fun to create. Currently working on recreating it in a TUI, as the PyQt6 size for something as simple as a chess engine renderer isn't ideal.

christopher-benson.com

This site. Focused on minimal styling. A combination of scripts and makefile is used to build locally, with templates for website header and footer to reduce boilerplate.