Skip to content

Web • Mobile • Development

Guylian Cox

Who am I?

Hi I'm Guylian

I'm a deeply passionate developer who continuously strives to be better at both who I am and what I'm doing.

I strive to do my part in creating a fast, and accessible World Wide Web.
I really enjoy finding new, automated, optimizations to make my apps faster.

Currently, my language of predilection is JavaScript. I am also very enthusiast about other web technologies such as the DOM, HTML, CSS and the gazillion of other specs.

I love discovering new technologies and keeping myself up to date with (and sometimes a bit ahead of) the tech of our industry by actively reading (and writing too!) the TC39 (ECMAScript), WHATWG (HTML), and W3C (CSS) githubs and mailing lists. I love the open source community and try to give back when I can.

I've worked on and with community-produced tech such as React, Webpack, SCSS, PostCSS, Babel, Gatsby, PHP, Wordpress, PostgreSQL, MySQL (others too but they're not as used anymore).

Guylian Cox

Past experience

MAD Kings

At MAD Kings

Pictawall

Pictawall was a SaaS platform that provided dynamic displays for User Generated Content to events and websites.

During my time at Pictawall, I worked on implementing and optimizing the website integration of the platform.
It had to provide numerous different layouts and be highly flexible and configurable, while still loading extremely fast.

It was an extremely fun experience which allowed me to research and apply new techniques for optimization and modularization.

My own projects

Joi Config Generator

It is my opinion that one of the biggest pain point when joining a project is filling in the configuration files of the project as they're often very cryptic and/or provide little to no information on what is needed.

This work in progress library is an attempt to solve that issue by letting the application declare exactly what it needs, using Joi.

dom-unoverride

Did you know that there is a browser quirk that can cause dom properties to become inaccessible?
For instance, if you were to name an <input> tag "className", the className DOM property of the form that owns the property will start to return the input instead of the actual className. Madness! Gotta love browser quirks.

With a little bit of black magic, I wrote this library as the ultimate way to bypass this bug. (But honestly, just rename your input)

I've explained the details of this insanity in more details on the project page

react-intl-formatted-xml-message

This project is now inactive as it has been included natively in react-intl 🎉🎉

My biggest issue with react-intl is was how complex it is was to insert tags in one of their formatted message. Especially when they become nested. To solve this issue, I wrote a library that replaces XML tags, found inside the formatted message, with React components or elements. It does so before any user variable is injected into the formatted message, to avoid XSS.

dotenv parser/serializer

I wanted to add support for dotenv files in joi-config-generator, and wanted to learn how to parse non-trivial file formats. So I wrote a naïve parser!

The gender unicorn

The gender unicorn is a website created for the TSER. It is a recreation of their Gender Unicorn infographic as an interactive, printable, and mobile friendly version.

This project was incredibly fun, and a great opportunity to learn how to adapt a design for a different medium, while trying to stay true to the source material.

StyleSheet Observer

During my time at Pictawall, I had to write a masonry wall that had to reload when the style of the page changed, as the layout would break otherwise.
The best way to do this at the time (in 2016), was to detect stylesheet changes and cause a re-render.

Detecting such a thing was unsurprisingly extremely inconsistent between browsers at the time (likely still is), so I decided to write a library that handled just that, which is how StyleSheet Observer was born.