Profile picture

kevin yu.

Gunn High School graduate and second-year student studying Computer Science @ Purdue University. Interested in art, photography, web development, and robotics.

My resume can be found here.

January 1, 2020
October 10, 2025

About this website

This website was originally created to experiment with (at the time) new web technologies to me like Next.js and TailwindCSS. Since then, it has become a personal portfolio site and host for various miscellaneous web tinkering.

The structure and function of this website was largely inspired by sheeptester.github.io. View the source code for this website on GitHub, or a directory of all pages here.

Jumpseat

2024

nextjstailwindcssprismaaws-rds

Jumpseat is a travel engine for college students that pairs flights with airport shuttles to find the optimal travel itinerary to and from Purdue, UIUC, and more.

Originally a student startup, a lightweight fork of Jumpseat is now hosted and maintained by me at jumpseat.kevin.fish.

Jumpseat is built using TypeScript, Tailwind CSS, and Next.js, and stores user preferences / breaks via Prisma + Postgres.

Photo host

2025

nextjstailwindcsssharpaws-s3

image-utils is a custom photo host built to address usability / cost issues with Microsoft OneDrive and other photo sites.

Along with a Next.js frontend, the repository contains several scripts to manage image conversion (HEIC -> WEBP with minimal color loss), optimization, and S3 uploading. The project supports grouping photos into albums, linking / embedding images, and more.

Scrape bot (Tom Scott)

2024-2025

discord.jsexpressslack-bolt

scrape-bot, affectionately called Tom Scott, is the central system coordinating the attack/dev CI pipeline for the Purdue team @ MITRE eCTF 2025.

Tom consists of a Discord / Slack bot that

  • tracks and summarizes the eCTF scoreboard into daily reports,
  • integrates with the build CI to maintain the current build status and alert on build failures,
  • listens on the Slack #targets channel to detect teams entering attack phase,
  • unzips and pushes new targets to the targets GitHub repository,
  • distributes new targets to the build server / attack queueing system to run automated attacks (incl. dispatching the special "pesky neighbor" attack via Slack userbot),
  • logs attack script output in Discord,
  • and automatically submits any flags found to the CTFd backend.

See Tom Scott at the eCTF awards ceremony here!

CTFs

I participate in Capture the Flag (CTF) competitions as part of Purdue's CTF team b01lers! I typically solve web and misc challenges, and we generally rank ~7th in the US on CTFTime.

View an incomplete collection of challenge writeups here:

CTF writeups->

Projects

Various programming projects for organizations like the b01lers CTF team or BWSI, as well as personal hobby projects like RBot and WATT.

TypeScript (16)
Python (7)
CSS (6)
Dockerfile (6)
Haskell (3)
Java (3)
HTML (3)
Rust (2)
JavaScript (2)
SCSS (2)
C++ (1)
Shell (1)
Unknown (1)
Svelte (1)
C# (1)
Q# (1)
Elixir (1)
Kotlin (1)
Go (1)

MIT RACECAR Neo


RACECAR Neo Library

RACECAR Neo Library

opencvnumpysphinx

Onboard library and autodocs for MIT BWSI RACECAR.

Dynamic Obstacles 2024

Dynamic Obstacles 2024

arduino

Arduino code for the dynamic obstacles featured in the 2024 RACECAR Grand Prix.

b01lers


bctf

bctf

nextjstailwindcssrctf

A custom rCTF frontend framework for b01lers CTF.

rctf-deploy-action

rctf-deploy-action

GitHub action

Opinionated challenge metadata updater for rCTF deployment.

ctfd-api

ctfd-api

npm

NPM package for user-bot interactions with the CTFd API.

b01lers-bot

b01lers-bot

serenitypoisesqlx

Upgraded discord bot for the b01lers CTF team server.

b01lers-ctf-2024

b01lers-ctf-2024

nextjsbash

Challenge source for b01lers CTF 2024. Authored: `use-cache`, `bash cat with pipe`.

bootcamp-ctf-2024

bootcamp-ctf-2024

hint

Challenge source for b01lers bootcamp CTF 2024. Authored: `>>=jail 0-3`, `lazy debugger`, `class-struggle`.

b01lers-ctf-2025

b01lers-ctf-2025

react-routervitehint

Challenge source for b01lers CTF 2025. Authored: `>>=jail`, `vibe-coding`, `trouble at the spa`.

Purdue eCTF


MITRE eCTF 2024

MITRE eCTF 2024

MAX78000FTHR

Secure medical device protocol implementation for the MITRE embedded CTF 2024.

Goldhaber-Gordon Group


flakefinder

flakefinder

opencvmultiprocessingnumpy

Scripts to detect and classify monolayer graphene flakes in microscope scan datasets.

GRT


GRT Website 2.0

GRT Website 2.0

nextjstailwindcss

A modern rewrite of the Gunn Robotics Team website.

GRT2023

GRT2023

wpilib

FRC team 192 code for the 2023 FIRST Robotics Competition, Charged Up.

GRTVision2023

GRTVision2023

zeromqpupil-apriltags

Attempt at a scalable vision framework for FRC 2023 supporting AprilTag and green-light detection.

GRT2022

GRT2022

wpilib

FRC team 192 code for the 2022 FIRST Robotics Competition, Rapid React.

GunnHacks


GunnHacks 9.0

nextjstailwindcss

Website for GunnHacks 9.0, the ninth iteration of Gunn's annual hackathon.

GunnHacks 8.0

sveltekit

Website for GunnHacks 8.0, the eighth iteration of Gunn's annual hackathon.

GunnHacks 7.0

Website for GunnHacks 7.0, the seventh iteration of Gunn's annual hackathon.

G'Floats


floats-2022

floats-2022

pygamepigpiomultiprocessing

Python scripts for the Raspberry Pi radio + hatch mechanism + fog machine in the 2022 Senior float.

hoco-radio-2021

hoco-radio-2021

pygame

Python script for the Raspberry Pi radio in the 2021 Junior float.

Personal / other


markov

markov

discord.js

A variety of silly Markov-chain models trained on b01lers server messages.

react-free-transform

react-free-transform

reactvite

A NPM library for free transform of arbitrary HTML elements in React.

Keep Typing And Nobody Explodes

Keep Typing And Nobody Explodes

nextjstailwindcssfastapinsjail

Boilermake 2025 submission.

Pyrite

Pyrite

nextjstailwindcssfirebase

A student-made schedule app for Purdue University!

WATT

WATT

create-react-apptailwindcssfirebase

Gunn schedule app used by 1300+ students.

kevin-yu

kevin-yu

discord.jscron

Fun discord bot for personal servers.

Corpus Obfuscator

Corpus Obfuscator

Simple obfuscator to represent any C program as any corpus of text using #define macros.

RBot

RBot

discord.js

Discord moderation and music bot written in discord.js 14, TypeScript, and sequelize.

Geckobot

Geckobot

discord.net

Discord.Net bot with Google Drive integration and quantum computing shenanigans.

PortalBot

PortalBot

discord.js

TypeScript discord.js bot for real-time cross-server communication.

Elixirbot

Elixirbot

nostrumnosedrum

A testing / moderation bot written to explore elixir.

competitive-programming-club

competitive-programming-club

Repository of competitive programming solutions from various competitions and events.

Gists

GitHub gists, educational resources, cool programming things, and more.

Deploying to Vercel

Deploying to Vercel

A guide on how to deploy an organization repository to Vercel for free.

Flex

Flex

Yet another CSS flexbox tutorial.

Purdue Housing 2023

Purdue Housing 2023

Purdue Housing Portal scraper to search for available rooms in the midst of a crashing website.

Short circuit evaluation

Short circuit evaluation

An explanation of short circuit lazy evaluation in boolean expressions, and its relevance in weakly typed languages.

Lambdas in Java

Lambdas in Java

A guide to lambda expressions in Java 17.

Schoolwork

Programming assignments and projects for high school and college.

AP CSA

Assignments from the first (scheme) semester of Gunn's AP CSA.

Competitive programming

My brief foray into competitive programming can be found on GitHub under competitive-programming-club, after the club at Gunn that inspired me to try CP.

My Codeforces profile can be found here.