David Sancho
banner
david.sancho.dev
David Sancho
@david.sancho.dev
Open Source UI infra at @ahrefs.bsky.social with OCaml

Made styled-ppx and server-reason-react
Working on reason-react / Melange / Reason
The future of programming: same as poker players with 24 tables at the same time, but with agents
November 12, 2025 at 11:00 AM
same, to be honest
November 10, 2025 at 9:03 AM
Looking forward to next days for the OCaml and ML workshop @icfp_conference
October 15, 2025 at 5:57 PM
every great product has a gambling system, which is why I feel the endorphins from CI yoloing
October 15, 2025 at 12:46 PM
Day 2 of hacking before ICFP

Finally finished odoc markdown backend support in dune, it should make release nicer documentation sites (docusaurus, vitepress, etc) or even github itself

Before (odoc html) After (odoc to markdown |> vitepress)
October 15, 2025 at 12:07 PM
Day 1 of hacking before ICFP! 🐫

Releasing opam packages used to take me ~1 hour each time. So I automated it.

Now? On each new git tag → dune-release-action does everything (GitHub release + opam-repository PR).

Please use it and report issues github.com/davesnx/dun...
October 14, 2025 at 4:03 PM
github needs a spam PR filter right now. This is beyond ridiculous (and happens every month)
October 11, 2025 at 1:41 PM
when Ruby devs are interested in OCaml, it's over, we are mainstream af
October 10, 2025 at 10:01 AM
ouch
October 5, 2025 at 2:30 PM
One week until ICFP ✨ (in Singapore this year, btw)

Super excited. My 4th time attending (and a bunch of the ahrefs crew will be there too)

Should I organize a chill-run through the city?
October 5, 2025 at 9:39 AM
fun-ocaml tshirt goes harder this year 🔥🐪🌴
September 28, 2025 at 1:48 PM
Implemented atomic CSS when extracting in styled-ppx

bundle-size for atomic CSS vs not atomic CSS for a 200 pages site is insane

Each page increases the bundle for all page's styles (all classnames must be pushed). In atomic, the increase is just "the new properties" (if any)

x.com/davesnx/sta...
September 26, 2025 at 5:48 PM
do you think it's based?
September 25, 2025 at 10:25 AM
me: "i'm too busy creating, can't release stuff now"

me later: "shit, that's the wrong mentality"
September 19, 2025 at 9:58 AM
This is ready @FunOCaml
September 15, 2025 at 6:58 AM
with all the work with CSS extraction, I improved the error messaging system.

Multiple errors can be reported at once (the type-checker runs on each declaration!) and locations are mapped to the right value
September 12, 2025 at 10:00 AM
I'm implementing the supreme feature for styled-ppx (I have been postponing for years!)

Static CSS extraction at build time. No emotion runtime, minimal (or zero runtime) and everything dynamic via CSS variables.
September 11, 2025 at 10:35 AM
claude code breaks the github UI
August 28, 2025 at 6:00 PM
POV: you’re about to review the sloppiest code you’ve ever seen
August 28, 2025 at 3:59 PM
WELL PLAYED
August 27, 2025 at 11:09 AM
them: "I'm a functional programmer, I love abbreviations, code clean makes me happy"

me: Sure, let's play a game
August 27, 2025 at 9:59 AM
First time reading a paper about React
August 22, 2025 at 10:01 AM
TIL there's "whatever" and "any" in CSS, which styled-ppx's CSS parser doesn't support

used in

content: attr(<attr-name> <attr-type>? , <declaration-value>?)
August 22, 2025 at 8:19 AM
no cheating, post the last pic of your pet
August 19, 2025 at 9:28 PM
CSS is becoming a great compilation target
August 14, 2025 at 2:55 PM