Projects

  • tailwind-animatecss

    animate.css as a plugin for Tailwind v3

    tailwind-animatecss parses and transforms the classes exposed by the installed version of animate.css by walking the AST and registers them with Tailwind so the utilities can be used with purging and IntelliSense support.

  • vue-css-donut-chart

    Vue library for creating CSS donut charts

    vue-css-donut-chart exposes a Vue component for drawing donut charts with support for injecting arbitrary markup in the middle of the donut.

    No tree-shaking support aside, displaying content in the middle proved to be a surprisingly challenging task with Chart.js at the time, which is what prompted me to create the library.

    It was also a nice challenge to render the whole thing using just CSS. Though, if I had to implement it now, I'd likely go with a SVG and d3.js based solution.

  • treeflex

    CSS library for drawing hierarchy trees with HTML lists

    treeflex exposes a set of classes to render HTML lists in a hierarchical tree view. Flexbox is used heavily to achieve the end result, hence the name.

    This doesn't have an underlying problem statement to accompany it with, it just seemed like a fun thing to implement.

  • content-theme-blog-minimal

    A standalone blog theme based on Nuxt's content module

    content-theme-blog-minimal is a custom blog theme built on top of @nuxt/content with markdown, categories, tags, analytics and dark theme support, among other things.

    The theme was created because customizing SSG-specific themes tends to require a lot of trial and error and it's a painful process in general because SSGs tend to only support customization through shadowing.

    The project aims to solve those problems by exposing a high level config with sane defaults and direct access to theme code.


  • See more projects on my GitHub →

About me

I'm a frontend developer and I primarily work with Vue, CSS and most things JavaScript.

I like to build open-source libraries whenever I have ideas that are reasonably unique and interesting (admittedly, those are few and far between).

Metaprogramming is another aspect of frontend that has captured my interest as of late.

If you have any questions or just want to say hi, feel free to send me an email!