I'm a creative doing graphic design and programming. I spend my days creating tools and participating in game jams.


Runt is a code editor that became my primary project in spring of 2018. It is written in C99 to be small, fast, configurable and easy to compile. Runt's UI and workflow is inspired by modern TextMate-inspired editors, by editors with long trandition like Vim or Emacs and by DOS-era file managers like Norton Commander.

Runt is in development and is planned to be released under MIT as long as it stabilizes.


Ri is an embeddable statically-typed programming language with small footprint that I started working on in fall of 2018. Syntax is inspired by minimalism and orthogonality of Lisp. Type system and semantics follow C99 very closely so the two are binary compatible. Runtime and compiler is inspired by VM from Quake 3 as well as Per Vognsen's Bitwise series.

The backbone of the language is a hybrid stack-based virtual machine RiVM. Bytecode can also be compiled into x64 for extra performance in embedded scenarios. Additionally it can transpile to C99 and be compiled with heavy-weight compiler.

This architecture allow for meta programming with compile-time execution via RiVM as well as possibility to generate code in the runtime. Ri can compile and run Ri can compile and Ri, etc.

Example of recursive Fibonacci to show the syntax:

fib: Function {Int; n: Int{}; {
    n = n + 1;
    if {n < 2, {
        return {n};
    }; {
        return {fib {n - 1} + fib {n - 2}};

print {fib {3}};

Ri is tied closely to Runt as it's main scripting language, and so it's future is bound to Runt. It'll be released under MIT.


Punity is a tiny single-file engine for making retro games. It renders via CPU, and supports as much as 255 colors (no one'll ever need more). I've made a jam game or two in it and despite me now rocking Runt. Although it is considered complete and stable, Punity is still my go-to bragging project.