My Projects
Project List:
Collection of my projects, both for career and fun (often overlapping with each other).
DSA Mini Textbook⌗
A handbook for data structures & algorithms, based on Purdue CS251 class.
Work in progress.
Theovim⌗
“Theovim is my Neovim configuration, geared toward my CS studies (C, Python, Java, LaTeX, LaTeX, and LaTeX). It features opinionated base Vim settings and keybindings, ~30 carefully selected plug-ins, and custom UI components written 100% in Lua.”
– Theovim README
It feels special to be able to configure a text editor to fit my exact preference as a programmer while having fun in the process. I believe that Theovim will be my life-long project, constantly evolving and adapting to my new interests and needs.

Haunted Tiles⌗
Haunted Tiles is my personal i3 WM and Sway setup, along with essential tiling WM tools like notification daemon, app launcher, and Bash/Python scripts to bring some of the DE experience to minimal tiling WMs. It used to be a part of my dotfiles repository, and with the growing size of configurations and shared scripts between i3 and Sway, I made a separate repository for it.
Both sets of configuration strive to be a minimal setup that gets out of your way while providing practical features and being aesthetically pleasing. The overall theme is Dracula, hence the name “Haunted”-tiles (it’s also partially because I like naming everything).
I love Linux tiling WM, and I have tried a number of them (Awesome, Xmonad, QTile, etc.). But I keep coming back to i3 and Sway for their simplicity. The repository contains Drcaula-themed configurations for i3/Sway and surrounding tiling WM tools, as well as Bash/Python scripts to provide the “sane default” tiling WM experience.


Dotfiles⌗
Well, some might say it is not a project, but I say it’s a lifelong project. My dotfiles repository includes configurations for (mostly) open-source tools I use in day-to-day life as a programmer, including but not limited to:
- Shell trifecta: Bash, Zsh, and Fish
- Terminal emulators: Wezterm and Kitty + Tmux
- Text editors other than Neovim: Doom Emacs, vanilla vim
- Weirdos: Neofetch, lf, and Qutebrowser
- Other dev tools: Git, Homebrew, etc.

Vim Contents⌗
Vimscript Vimrc Guide ⧉ | Using vim.ui.select to Group Features and Fix Keybinding Problems ⧉
I write about (neo)vim on this website.
Archives⌗
The following projects are no longer actively maintained.
Theosume⌗

My personal resume template as a CS major.
i3 & Sway Tips⌗
Collection of commands, keybindings, and recommended applications for i3 and way window manager.
Pytranscript⌗
This A+-worthy-cs-freshman-level Python project is a simple CLI GPA calculator I use when I don’t have the patient wait a week for my professors to publish my grades.
Clean Linear Algebra Homework Template⌗
Linear algebra is fun, but it can be more fun with the right LaTeX template.
CS240 Comprehensive Review⌗
17 pages of C.
