In the coming weeks I need to finish up a frontend project for LIMINAL Lab. Several months ago, I (vibe-)coded a prototype of the application using React and zustand. There is an interactive table component in this application that has been fragile since I spun up the prototype; and I am almost unconquerably unmotivated to delve into the particulars of react-window to work out why the styling keeps going out of whack.
In an attempt to motivate myself to get steaming on the project again, I spent an evening (vibe-)porting the basics of the application to Jane Street’s Bonsai framework. Almost a decade ago now, I explored the tradeoffs between Elm and React as an undergraduate project, and in all of the serious frontend work done since I have longed for a framework that feels better than React, for a way to write web applications with more express use of types.1
The OCaml tooling setup (opam, dune, etc.) took an hour or two to get used to, as it’s not quite as smooth-surfaced as the modern bundling tooling for JS (pnpm, vite, etc.). But I now have a basic copy of the single-page-application prototype I had in React, and am much more excited to rewrite the interactive table component while refining my OCaml and Bonsai. This will be the thrust of what I work on in this coming week.