Long-running backend work, doctoral systems research, public software, standards work and smaller projects that are still useful. Source and status are kept explicit.
Long-term ownership across architecture, implementation, releases, documentation and contributor support.
Lead developer and maintainer · 2019-2022
GNU social
I worked across GNU social v2 and led the v3 effort, modernising a long-lived PHP codebase while preserving the interoperability and community practices that make federated software useful. The work was funded in part through the EU Horizon 2020 NGI0 Discovery Fund.
ArchitectureModern PHP, Symfony, plugin boundaries and application structure.
FederationActivityPub behaviour, APIs and interoperability across independent servers.
BackendData modelling, attachments, storage and maintainable service boundaries.
CommunityReviews, onboarding, mentoring, documentation and delivery planning.
Spatial computing, perception and dependable systems.
Public summaries focus on engineering questions and demonstrated capabilities; unpublished implementation and evaluation details remain private.
Doctoral research · public overview
Reusable projector-camera systems
I research systems that combine projection, visual sensing and physical surfaces to create interactive spatial environments. The aim is to move beyond one-off demonstrations towards systems that can be calibrated, deployed, operated and extended as maintainable infrastructure.
One strand of the work asks how several interactive applications can share a projected environment without turning the installation into one tightly coupled program. It covers application boundaries, lifecycle management, resource coordination and predictable operation.
Spectaria applies my projection-based interaction work to museums and cultural venues through reusable spatial installations, web-based authoring and operation, and privacy-aware visitor interaction.
A ROS 2 and Gazebo prototype that uses a fixed depth camera above a stage to infer the spatial extent of the action and automatically reposition a differential-drive RGB camera platform.
At FEUP/LSTS I worked on docking and target tracking for an autonomous surface vehicle. In aerospace contexts I worked on on-board data handling and supervised a student software team, with reliability, interfaces and coordination treated as engineering concerns.
At INESC TEC I built research infrastructure around parametric human-body models, connecting state-of-the-art methods, reproducible experiments and reporting that another researcher could pick up and extend.
Projects with inspectable source, clear ownership and enough documentation to be useful beyond their original context.
Original project · MIT · 2023
SotA Lens
An open-source toolkit for exploratory literature mapping through citation networks. A Python pipeline turns scholarly metadata into inspectable graphs and browser-ready datasets; a static explorer keeps local files in the browser.
A real-time eyewear try-on built from one TypeScript codebase. MediaPipe landmarks drive frame position and perspective while face-aware occlusion keeps the temple arms behind the head.
A configuration-driven PyTorch toolkit for training, evaluating and running image classifiers on arbitrary folder datasets, with explicit splits, augmentation, checkpoints and reproducibility metadata.
An interactive browser-and-ESP8266 exercise for learning binary representation through six switches, live sums and optional physical LED feedback. It is still used at the University of Porto.
A shared interface for Porto public-transport information. It handles expected passages, route lookup and platform-specific favourites through Telegram, Discord and encrypted Matrix conversations.
A quick way to check weekly U.Porto canteen menus without repeatedly opening the supplier website. It formats the menu by weekday and provides direct commands for several faculties.
A dependency-light POSIX-shell command that downloads a Microsoft Spotlight landscape image, validates it and atomically updates a configured wallpaper file.
Russel! is a Haskell compiler for a small Rust-like language. A separate archive preserves selected coursework and teaching prototypes with their original licences and attribution.
A design for linking Group or Organization actors so communities could cooperate across independent servers. I withdrew it when I could not give it the sustained time needed.
A proposal co-authored with Phablulo Joel exploring Web Monetization information in ActivityPub. The discussion later informed the newer Payment Links draft.