- A byte-level BPE tokenizer bundled as a Python package with the training and encode/decode pipeline written in Rust.
- Encoding and decoding both run in parallel and on large batches, the average speed is roughly 15 MB/s in and 77M tokens a second out.
01 路 Axle
Axle: Yet another terminal coding agent.
It's a coding TUI inspired by Claude Code and OpenCode and is mostly written from scratch on top of OpenTUI library. It combines features I like from popular coding agent interfaces and automates some of the manual workflows that I use daily.

npm install -g @vm2/axleIt鈥檚 invite only for now. Email contact@vihangamihiranga.com and I鈥檒l send you a code.
02 路 Projects
Some cool stuff.
In no particular order. I built most of them thanks to my intellectual curiosity.
03 路 Stack
What I use.
The most random tech stack. I haven't used Java in 3 years and I don't recommend LangChain to anyone.
04 路 Education
Monash, 2022 to 2026.
I finished the undergraduate degree in 2025, majoring in algorithms and data structures. Honours is mostly thesis, and mine is on detecting audio deepfakes.
2026
Bachelor of Computer Science (Honours)
Monash University 路 Melbourne, Australia
In progressSupervised in partnership with the Australian Federal Police.
Cloned voices show up in scam and impersonation calls a lot, and people are bad at catching them. Current detectors fail once the audio stops being clean, where their accuracy degrades when the clip is shortened, run through phone-quality compression, or generated with a system the detector hasn鈥檛 seen before.
My thesis tests whether representing audio as discrete tokens can improve detection compared with the continuous features commonly used today. I am building a pipeline that keeps the same benchmarks and self-supervised speech encoders, changing only the representation.
2022 to 2025
Bachelor of Computer Science, Algorithms & Data Structures
Monash University 路 Melbourne, Australia
Graduated December 2025