~ $ whoami → software engineer

Invert
the tree.
Find the
roots.

Part workshop, part notebook: the products I build, the systems I pull apart, and the writing that comes out of both.

4 2 6 1 3 5 7
binary tree
// click to invert()
  root@invertr.ee: ~
~ $ ls -la ~/invertr.ee
01 Latest writing all writings →
WRITING · 8 MINJUN 2026

Closures: why your functions remember things

A function that should be gone keeps handing you the right answer. That's a closure — and once you see what it's actually holding onto, a dozen everyday patterns stop looking like magic.

languagesfundamentalspython
read →
WRITING · 10 MINJUN 2026

Where your program lives once you hit run

A program on disk is just a file. Running it makes the kernel build a process around it: an address space with four regions — text, data, heap, stack — and a control block it keeps for itself. Here's the whole map, one region at a time.

systemsmemoryfundamentals
read →
WRITING · 4 MINJUN 2026

I built a zip viewer nobody asked for

I needed one file out of a 4 GB archive. My Mac insisted on extracting all of it. So I built the tool that reads the index instead.

productsbuildingswift
read →
02 Selected work all projects →
live

Grizzly

A native macOS & iOS app that lets you browse a ZIP like it's already unpacked — open a multi-gigabyte archive instantly, Quick Look any file, and extract only what you need.

2026 · Swift · SwiftUI · macOS · iOS
</> live

invertr.ee

This site — a personal home built like a program. Static, fast, and themed by a single invert() toggle.

2026 · Astro · Canvas · design