Projects
I really enjoy programming, especially writing simple utilities to solve common
problems. Here, I list project I’ve written on my own time. For my academic
work, please see the research section.
Static Site Builder
Zona
- Static site builder written in Go and optimized for lightweight blogs
following minimalist design principles.
- Support for templates, declarative metadata, and configuration files.
- Interprets inline image “alt text” as Markdown, rendered as an image tag.
- In active development, plans for many more features.
- Used to build this website.
Libraries
Typst
- typpres
- Provides functions to make creating slideshows with
polylux more convenient.
- reflib
- Provides functions to make typesetting label references more convenient.
Utilities
System Maintenance
- AutoYADM
- Shell utility to automate managing dot files with yadm.
- Intelligently auto-tracks newly created children of tracked subdirectories.
- Consists of two Bash scripts; very lightweight.
- I use this daily to keep my dotfiles in
sync.
Email
- Email Parser
- Forked and maintains a Tree-sitter parser for
mail
files.
- Extended formal grammar definitions, supporting additional syntax elements &
fixing critical bugs.
- Wrote highlight and text object queries implementing
mail
support for
Helix; contributed the feature upstream.
- Currently researching how to leverage the parser to contribute
mail
support to the Harper grammar checker.
- Email Formatter
- Wrote a lightweight email formatter in Python, intended to format outgoing
plaintext emails.
- Wraps paragraphs at specified column width.
- Automatically reflows uneven paragraphs.
- Preserves long words, quoted lines, indented lines, lists, code blocks, and
signature blocks.
- Custom heuristic for preserving two-line signoffs.
Desktop
Repository
- Screen Recording Utility
- Niri Window Status
- Python server that integrates with Niri to provide a live indicator of
windows open on active workspaces.
- Designed for use with Waybar and similar software.
- Niri Window Picker
- Simple Python script that spawns a fuzzy picker allowing users to fuzzily
select an open window to switch focus to.
Keyboard
- Self-built wireless corne keyboard.
- Colemak-DH (non-QWERTY, ergonomic
layout).
- Custom columnar split layout
leveraging overloaded modifiers and layers to maximize efficiency.
- Custom ANSI layout
intended to make my ThinkPad internal keyboard as ergonomic as possible
without conflicting with external keyboards.
Ashen
Ashen
- Original color scheme designed by me.
- Carefully tuned to fill a particular niche.
- Opinionated, clean, muted, and dark.
- Active user base, receives contributions.
- Ported to a wide variety of software, including (but not limited to):
- Helix (text editor).
- Terminal emulators (Most popular emulators covered)
- Firefox
- CLI tools (eza, bat)
- TUI tools (lazygit, yazi)

Plugins
Fish
- jrnl.fish
- Small utility for managing daily journal entries.
- Template support.
- smartcd.fish
- Adds contextual smart behavior to the
cd
command.
- Fisher (contribution)
- Added support for sourcehut plugins and fixed a critical issue with unsafe
tilde path expansion.
- PR
Helix
Mandatory caveat: Helix does not have a plugin system! However, it does
allow your to invoke shell commands, making it possible to implement some very
hacky functionality.
- hx-typ-zathura
- Easily open a PDF preview of your current Typst file in Zathura.
- justfile formatter
- Workaround for formatting justfiles without any dependencies.
Neovim
Academic.nvim
- Neovim plugin.
- Automatically installs and configures an Academic English spelling
dictionary.
- Minimal performance overhead.
Ashen.nvim
- Implementation of Ashen for Neovim.
- Supports numerous plugin integrations.