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.

I reach for an AI agent constantly while coding, the borrow checker and I have a love-hate relationship, and I'd rather rewrite it in Rust than not. Segfaults? Never heard of her.

One project I'm particularly proud of is Hokkaido — a programming language with a cubical type theory backend. That backend started as a Haskell implementation in Octo, was migrated to Rust in pi-lisp where it saw serious improvements, and is now being used by Hokkaido — which has taken that cubical backend and further refined it for their own needs. Recently I've also been diving into web development, which led to Sapporo — a lightweight web UI library that lets you build interactive pages in Hokkaido compiled to WebAssembly. It bridges Hokkaido to the browser DOM through a JavaScript loader, so you can write your frontend entirely in Hokkaido without touching JavaScript.

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.