I write about computer science algorithms, maths and web-development.


  1. Grassy

    A Sass mixin library which lets you draw an ASCII grid as a Sass string and have elements positioned in a grid as specified. I made this before CSS grid was a thing, so it's kind of irrelevant now. Still, creating a tokenizer and parser in Sass was a fun challenge and it made me realize just what Sass is capable of.

  2. Wane

    A framework, bundler and optimized, all in one. A proof-of-concept project for my Master's Thesis in Computer Science degree. It statically analyzes code and performs various optimizations on the framework level, instead of the general language level (such as UglifyJS/terser). A Hello World project's bundle comes out at 166 bytes.

  3. Angular Common Forms

    A collection of low-level Angular directives for handling all the nitty-gritty details when users deal with the form: focus management, displaying client and server errors, disabling submission while the form is submitting, etc. All that, achievable in a declarative way, utilizing existing standard Angular Forms modules.

  4. Type Guards

    A tiny TypeScript module packed with utility functions for easily creating strongly typed validation rules. By creating a runtime validator, you automatically get a TypeScript type to go with it. This means that your codebase can have validators “just in case”, but if you never use them, it will not increase your bundle size.

More to come...