Sitemap

A list of all the posts and pages found on the site. For you robots out there, there is an XML version available for digesting as well.

Pages

Posts

The Datomic Peer Is a Cache. Here’s What That Means Under Load

7 minute read

Published:

A few days ago I was running a Datomic load test. Nothing fancy — a Clojure application using the Datomic Peer library, backed by a PostgreSQL Transactor, with Locust driving HTTP requests against a Ring API. I had just replaced the fixed step load shape with an infinite ramp: +100 users every 30 seconds, starting from 1.

Pulso Dashboard: From Zero to a Tested, CI-Ready Dashboard in Under an Hour

5 minute read

Published:

A few months ago I built Pulso, a streaming ETL pipeline that loads 3.4M+ Apple Health records into PostgreSQL. The data was sitting there in normalized tables, ready to be visualized. Today, in a single session of less than one hour, I shipped a complete analytics dashboard: Django backend, React + Chart.js frontend, 23 unit tests, and a CI pipeline — all green and pushed to production.

Pulso: Building a Production-Grade ETL Pipeline in an Afternoon with Claude Code

4 minute read

Published:

I just shipped Pulso, a complete Apple Health XML to PostgreSQL ETL pipeline that processes 1.5GB+ health exports and loads 3.4M+ health records into a normalized relational model. What’s remarkable? The entire project—from concept to production—was built in a single afternoon using Claude Code with human supervision.

Clojure and Homoiconicity: When Code Is Data

4 minute read

Published:

If you’ve spent enough time around Lisps, you’ve probably heard the phrase “code is data”. It sounds like a platitude until you actually experience it. Clojure, a modern Lisp hosted on the JVM, makes this idea tangible through a property called homoiconicity — and once you internalize it, it changes how you think about programming languages in general.

portfolio

publications

talks

teaching