Software engineer from Maldonado, Uruguay. I build systems end to end, from the backend and the cloud infrastructure down to the NFC reader on the table. Most of my work lives where software meets physical things: wristbands, smart cards, kiosks and installations that real people touch at events.
These days I spend most of my open-source time on smart cards, especially getting the Uruguayan eID to work with open tooling.
I contribute to OpenSC, the open-source smart card middleware, where I work on support for the Uruguayan cédula de identidad:
- Contactless (PACE) support for the
cedulauydriver, so the cédula works over NFC with a standard reader. - A fix in
sm-isofor response buffer sizing andLein Secure Messaging, which truncated chained responses like RSA signatures read over NFC. - Multi-batch testing and card identification (ATR mask) for the original driver by Carlos Planchon, validated end to end with a PAdES signature.
- Smaller fixes to the tools and documentation in the wiki on the MRZ requirement for PACE.
Around that work:
- cedulauy-mrz-scan reads the MRZ of a cédula from a photo or a live webcam feed. That's the input PACE needs to open a contactless session. On PyPI.
- On FirmaUY, a CLI to sign and verify PDF, XML and other files with the cédula, I added the
fetch-identityandlist-readerscommands, a native PKCS#11-free signing backend and Windows support, which I also brought to firmauy-desktop and firmauy-mcp-inspect.
As a tech lead I designed a dynamic NFC wristband system (backend and Android app) that handled real-time, queue-free check-in for events with 500+ people at once. Any wristband could be linked to any guest live, which removed a third-party dependency.
simple-nfc-tag is the library that came out of it: tag-agnostic data storage over PC/SC that hides reader, tag and protocol details. Tested on real hardware (ACR122U, NTAG213, MIFARE Classic 1K). On PyPI.
I've also built Raspberry Pi installations, like personalized welcome holograms and photo booths that send pictures straight to the event app, plus interactive experiences for BMW, Campus Party and Burger King.
I work mostly in the Python and FastAPI ecosystem. I contribute to FastAPI Boilerplate, an extendable starting point for async APIs built on FastAPI, Pydantic v2, SQLAlchemy 2.0, PostgreSQL and Redis.
I also contributed to UruAPI, an API for Uruguay's daily economic indicators, through LibreCourseUY.
moanpoint makes every interaction with your ThinkPad TrackPoint awkward. It plays moaning sounds whose volume scales with how hard you push. It's also my most-starred repo, and I've made peace with that.
Stack: Python · FastAPI · PostgreSQL · Redis · AWS · Docker · Linux · C · Android · PC/SC, APDU, PKCS#11




