

Personal Website
My personal website — projects, blog posts, and notes, built with Next.js 16, Tailwind CSS v4, and MDX.
Browse my programming, design, and 3D art projects.


My personal website — projects, blog posts, and notes, built with Next.js 16, Tailwind CSS v4, and MDX.


The website for the Lake Oswego High School Rubik's Cube Club — schedule, countdown, monthly tournaments, cube guides, and team.


Fixing the misaligned Lake Oswego High School logo — redrawn on a grid with consistent strokes, built to hold up from favicon to football field.

A Sanity-powered site for the Create-O-Holics Minecraft SMP, including a gallery of builds, an interactive lore experience, and profile cards for each player on the server.


A home page for the LOHS Computer Science Club — member projects, a posts feed, realtime chat, and meeting management. Laravel and React, still in development.

Three looping animations made in Blender with Geometry Nodes. Each one starts from a simple shape, with all the movement driven by animated noise instead of keyframes.

A modern train station modeled and rendered in Blender — architecture, tracks, timetable, and a Geometry Nodes grass system.
A grid of glass cubes bending large white type behind them — a Blender test of glass shaders, refraction, and dispersion.
Pastel blocks, spheres, and a wood curve stacked on a pedestal — a composition exercise rendered in Blender.