- Computer systems and architecture
- Memory, locality, and accelerators
- Representation and abstraction design
- Tools and systems that reduce complexity
- Graphics and spatial computing
- Interface and visual design, especially in earlier projects
pixelet · 2025–2026
A location-based spatial world built over real-world geodata (OpenStreetMap + Copernicus GLO-30 elevation).
The work includes custom spatial coordinates and hierarchy, compact typed-array transport, terrain representation and streaming, a sparse-octree object layer for placed voxels, voxel rendering, and LOD.
This is also where I'm leaning on AI-assisted implementation the most, while still designing the core system architecture and representations myself.
SCALE-Sim-PREMA · 2021
An undergraduate research project extending SCALE-Sim with PREMA (HPCA 2020), a preemption-aware multi-task scheduling algorithm for neural accelerators.
The implementation adds task scheduling, runtime prediction, checkpoint/resume, and mid-layer preemption to the simulator.
A from-scratch, user-level ELF64 loader, demand pager, and cooperative thread runtime for x86-64 Linux.
Written as a programming test for admission to a KAIST research lab, with no starter implementation. It builds process startup state manually, implements SIGSEGV-driven demand paging and cooperative user-level scheduling, and transfers control directly into loaded binaries.
Take-0 · 2015, 2022
A keyboard rhythm game inspired by DJMAX, originally written in Flash and later revived and ported from ActionScript 2 to ActionScript 3.
Along with the game itself, it includes a note editor and configuration tooling.
PIVOT · 2010–2014
My first long-running software project, started in middle school.
A widget-based desktop launcher built with Flash/ActionScript 2 — widgets snap to a grid across multiple pages, each with its own settings, inside a shared launcher UI.
It began as a quicker way to search the web and gradually grew into a small personal software environment.



