Skip to content

About Me

I find it fascinating how the tools we use shape what we create, and then how we can design tools to encourage certain types of behaviour.

Favorite Projects

  • BNF Parser 2021


    Takes in a BNF representation of a syntax and compiles it all the way down to a wasm application for parsing that specific syntax with compiler optimisations applied to it.

    The compiler also generates type-definitions corresponding to the possible syntax tree layout. To create a much more ergonomic developer experience using the outputted syntax, since the structure will be somewhat known.

    Website

  • Predictable Bot 2023


    A discord bot + website to allow people to post predictions allowing people to place wagers on what they think will happen.

    The whole system was designed to be robust, ensuring no faux money is lost even in the even of an error. And also ensuring that there is zero down time even during upgrades.

    Ensuring as the old version is shutdown it completes currently active operations while not interrupting the start up of the new version

    Website

  • htmX Router 2023


    A request router for generating html responses statically similarly to Remix.js's router. But instead being fully server-side rendered, also computing the minimal route returnable to a client given their current route, and sending only the minimal route back to the client and telling them where in the DOM to swap it out.

    Source

  • Wiki Thesaurus 2023


    Uses the simple-wiki dataset to generate a graph structure for wikipedia based on links between articles.

    From that it then uses Jaccard similarity to take any given input word or entity and attempt to find similar entities. Hopefully producing thesaurus like results (spoiler it's not thesaurus like)

    Source