Motivation
In December 2025, I was working through the Advent of Code when I saw an ad for Jane Street’s Advent of FPGA in the sidebar. I had already planned to work through Nand2Tetris over the holidays to learn more about computer architecture and how it connects to software. After completing Advent of Code in Python and finishing Nand2Tetris, I decided to take a swing at the Advent of FPGA.
Grokking FPGAs
Section titled “Grokking FPGAs”I was completely new to OCaml, FPGAs, and RTL languages, so I learned an immense amount. It felt like learning to program all over again. Resources like HDLBits, nandland.com, Real World OCaml, and the various Jane Street Hardcaml resources were incredibly helpful as I was learning.
Advent of FPGA
Section titled “Advent of FPGA”I only made it through Day 1-3 and Day 12, and heavily relied on AI for Day 3 part 2. I may revisit to tackle more problems in the future, but the experience was invaluable.
Building a Hardcaml Web IDE
Section titled “Building a Hardcaml Web IDE”The biggest hurdle was getting the toolchain set up. It was an endeavor, and I wanted to build a project that would make it easier for more people to get their hands on Hardcaml. There’s a pre-existing template project from Jane Street, but setting up the development environment still requires significant effort.
This web-based IDE can also be used as a playground for OxCaml. The OxCaml homepage currently notes that a GitHub Codespace takes 30+ minutes to initialize, so a web-based IDE is much quicker for a new user to get started!
Next Steps
Section titled “Next Steps”Future work includes LSP integration, client-side compilation, and reformatting circuits to run on real hardware.