jihoo@nixos:~$ ▍
Hi, I'm Jihoo.
Rust by default. Compilers and operating systems by obsession.
I'm Jihoo — an undergraduate who lives and breathes systems-level code. My main languages are Rust, C++, C, and Astro, and I'm happiest when I'm deep in a compiler or poking around inside an operating system kernel. You can find me on GitHub.
My day-to-day machines both run NixOS with niri and noctalia shell — laptop and desktop, same setup. Nix is more than a package manager to me; it's how I think about reproducibility and system design. Beyond that, I'm fascinated by compilers and language implementation, AI agents and how they're reshaping the way we write software, Lisp and its family of languages, and Cubical type theory — which sits at this beautiful intersection of type theory, homotopy theory, and constructive mathematics that I find endlessly compelling. Outside of code, I enjoy dabbling in philosophical thinking — nothing rigorous, just casual reading around East Asian traditions like Buddhism and Taoism, and lately Plato's ideas too. There's something about impermanence and non-duality on one side, and the theory of Forms on the other, that feels oddly resonant with how I think about types and computation.
I reach for an AI agent constantly while coding.
One project I'm particularly proud of is cuviz — a cubical type theory visualizer written in Rust. It parses and typechecks cubical lambda terms written in a small surface language I call .uwuc, normalizes them via NbE, and renders the AST as an interactive, searchable tree with step-by-step β-reduction traces and geometric/topological diagrams — think the interval type, path types, squares, HITs like S¹ and the torus, transport, and Glue/univalence, all rendered live through a React + D3 frontend with KaTeX-typeset types. The Rust backend also exposes a C FFI for embedding, and doubles as the cubical backend for Hokkaido, a programming language I'm also working on.
On the OS side, I'm building KaguyaOS — a hobby OS written in Rust targeting x86_64 UEFI. It boots via UEFI with a GOP framebuffer, enforces ring 0/3 isolation with 25 system calls, runs a cooperative round-robin scheduler with SMP support, and has drivers for xHCI USB, NVMe SSD, and E1000 Ethernet. There's a FAT16 filesystem and a shell to tie it all together.
I've also been building Albireo — a hardware-accelerated 3D voxel renderer built with Rust and wgpu 30, for visualizing N-dimensional objects through what I call χ-polynomial encoding: any point in N-dimensional space becomes a single polynomial in χ, α = c₀ + c₁χ + c₂χ² + ... + cₙχⁿ, where each coefficient cᵢ is the coordinate along dimension i. Albireo parses expressions like n^2 + (1-n^2)*x, evaluates them across a parameter sweep, and maps the results to alpha-transparent voxel cubes with an orbit camera — including a 4D tesseract demo where each of the 16 vertices traces out its own cubic curve in χ-space. Named after the Albireo star — just because I like it.
