Projects

A selection of things I have built, helped build, taught with, or kept around because they turned out to be useful.

Research and teaching

tr.iatgen

tr.iatgen is an R package I co-developed with Michal Kouril for adapting Qualtrics QSF files generated by iatgen for non-English samples. The work is described in our 2026 PLOS ONE paper.

NRB

NRB is an open collection of European Portuguese teaching materials on research methods, statistics, R, and scientific writing. I initiated it and still do most of the development and maintenance, with contributions and review from RUGGED colleagues.

RUGGED

I co-created RUGGED, an informal R user group for people working or studying in psychology and nearby fields. I did much of the initial setup and still maintain parts of its infrastructure and related projects.

Pi and LLM tools

These are newer and a little more experimental. They mostly came from wanting my own LLM-assisted work to be easier to inspect, easier to stop, and less mysterious.

pi-sych

pi-sych is my attempt to make longer LLM-assisted projects easier to keep track of without building a large agent framework around them. Important project information stays in ordinary files, small jobs can be handed to fresh model contexts, and the final decisions stay with the user. There is more detail in the documentation and in my post about the experiment.

pi-pew-pew

pi-pew-pew gives Pi a small, read-only way to look at the web. It can fetch normal pages, render pages that need JavaScript with Chromium, and take screenshots when seeing the page actually matters. It deliberately does not try to become a full browser automation framework. I wrote more about how it ended up with that boundary.

pi-filler

pi-filler gives Pi one bounded, deterministic tool for working with DOCX and PDF files. It can read and search documents, render PDF pages, generate DOCX files from Markdown, inspect DOCX formatting, and apply a deliberately narrow set of DOCX patches. PDF writing and patching are intentionally unsupported.

pi-lease

pi-lease is for the occasions when Pi really does need a browser. It starts a separate, visible Chromium profile for that session and loads pi-chrome-use. Normal Pi sessions are left alone, which is exactly the point. The longer version is in this post.

pi-auch

pi-auch puts quota information for OpenAI Codex and GitHub Copilot in Pi’s footer. The name becomes increasingly appropriate as the quota disappears. There is a post about why I made this one too.

pi-tin

pi-tin is the reusable repository mould behind small Bakery projects. It carries the shared packaging, verification, documentation, GitLab release, and mirrored Pages conventions without becoming a runtime dependency itself.

J’s Pi Bakery

J’s Pi Bakery is the small home page for these extensions and companion tools, including pi-sych, pi-auch, pi-pew-pew, pi-filler, pi-tin, and Pi-lease. It is built with make-it-stop, another tiny project of mine whose main design goal is fairly accurately described by its name.

Selected Earlier Projects

QHELP

During QHELP I moved from participant to short-term mentor and later helped organize the 2023 Arrifana mobility, where I also taught git/GitLab and SciOps sessions and mentored the SciOps student project.

SciOps

I initiated SciOps as a set of templates and practices for reproducible and transparent research workflows. It was later extended by two QHELP students I mentored in 2023.

SPGrow360

I collaborated with Sérgio Moreira and Cristina Mendonça to automate reporting for a 360-degree worker social-performance evaluation tool.

Other work

There are more experiments, old projects, and bits and pieces on my GitLab profile and GitHub profile. The CV has the more respectable version of the story.