Javier Chávarri


Hi there! 👋

Welcome to my site, where I write about the challenges of creating software products, UI engineering, type systems and programming languages, especially JavaScript and Reason.

Beyond TypeScript: Differences Between Typed Languages

September 08, 2023 • 25 min read

For the past six years, I have been working with OCaml, most of this time has been spent writing code at Ahrefs to process a lot of data and…

Js_of_ocaml: a bundle size study

January 23, 2022 • 11 min read

Historically, I have noticed a recurring theme in OCaml forums and Discord, where from time to time someone mentions that Js_of_ocaml —a…

React server-side rendering with OCaml

August 25, 2020 • 11 min read

A while back, Dan Abramov mentioned —to my surprise— that it would be relatively easy to have React server side renderer implemented in a…

When two worlds collide: using esy to consume BuckleScript ppxs from source

January 09, 2020 • 10 min read

In this article, we will take a look at the existing landscape of ppx rewriters for BuckleScript. We will also see the work involved in…

Data-first and data-last: a comparison

May 10, 2019 • 24 min read

BuckleScript is a quite uncommon project. It takes the compiler from one language, OCaml, and modifies it in a way that it becomes more…

Js_of_ocaml and BuckleScript

March 17, 2019 • 5 min read

When compiling Reason / OCaml applications to JavaScript, there are two main options: BuckleScript and Js_of_ocaml. In this article, we will…

Language Debt

November 26, 2018 • 13 min read

A few days ago, there was a great conversation on Twitter between James Kyle and Jordan Walke about Reason and JavaScript, and what approach…

Adopting Reason: strategies, dual sources of truth, and why genType is a big deal

October 03, 2018 • 11 min read

Disclaimer: migrating an existing product to a new language, even if partially, is one of the most impactful decisions that a team or tech…

Performance Of Records In BuckleScript

April 12, 2018 • 6 min read

BuckleScript is a compiler backend, created by Hongbo Zhang, that allows to build apps using Reason or OCaml code, and produces clean…