My portfolio
Over more than twenty years I have worked across very different domains: industrial control and SCADA systems, bespoke web applications, WordPress plugins, Home Assistant integrations, desktop and mobile apps, and my own products. Switching language, stack and team to fit what each project needed is precisely what I do best. This page brings together both the products and open-source projects I maintain and a selection of the most relevant work I have done for clients.
My own projects
Products and open-source projects I have built and maintain.
Clipboardwire. Clipboard sync between your devicesClipboard sync across devices (Linux/Wayland and Windows) over WebSocket, with its own architecture and security model.
Cuéntamo – Personal Finance and Freelancer TaxesWeb app for personal finance and freelancer accounting: track income, expenses, taxes and cash flow in one place.
gnoMint. Visual Certification Authority managerVisual and command-line manager for X.509 Certification Authorities, written in C/GTK. A free-software classic.
HabeasBrowser extension (AGPL-3.0) that extracts your personal data from services with no automatable export, within your own session.
Laudanza. Your songbook, organizedWeb service (and Android app) to manage songbooks with lyrics and chords: private library, songbooks and event programmes.Home Assistant
History Editor for Home AssistantCustom Home Assistant component: view, edit and clean state history and statistics from a dedicated panel.Professional ACL for Home AssistantContribution to Home Assistant's permission system: per-entity permissions and custom roles beyond the three fixed roles.WordPress Plugins
HabeasBrowser extension (AGPL-3.0) that extracts your personal data from services with no automatable export, within your own session.Coupon Audit and Analytics for WooCommerceCoupon audit and analytics for WooCommerce: detect live, overlapping and orphaned coupons, and compute the real margin per coupon.
DFX Feed for Telegram ChannelsPlugin that displays a public Telegram channel's messages in WordPress, with three layouts and media support.
DFX Parish Retreat LettersPlugin for a parish to manage confidential retreat letters: submission form, secure printing, permissions and encryption.LeanRolesWordPress roles-and-permissions plugin with a lightweight primitive to grant access by user tags.
Membership & User Roles for WooCommerce (Automatic Role Changer)Automatic user-role management for WooCommerce and MemberPress, with a Premium version (subscriptions, store restriction, sync).
Random User IDsPlugin that assigns random user IDs in WordPress to hinder account enumeration.User TagsLibrary and plugin adding user tags that behave like roles without granting permissions, with an optional admin UI.
Membership & User Roles for WooCommerce (Automatic Role Changer)Automatic user-role management for WooCommerce and MemberPress, with a Premium version (subscriptions, store restriction, sync).Client work
These have been my most relevant client projects, so far:
Ama y Sirve: bulletin in Spain of the Siervos de JesúsDesign and build of the website for the Servants of Jesus bulletin with WordPress and IssueM, with a bespoke responsive theme.Reporting system for Canal de Isabel IIReporting system for Canal de Isabel II (Madrid's water utility): C#/ASP.NET MVC backend and a React frontend.Navigate Oceania (via Toptal)Web development, sysadmin and security advisory for Navigate Oceania (Auckland) on a multi-domain site. Via Toptal.Nautilus: Web-based Operational Assistance SystemDesign and development of Nautilus (SICE), a modular web system for infrastructure operations: incidents, fleets, inventory and shifts.SIDERA Reports: web based reporting system for SICE’s ITS solutionDesign and development of SIDERA, a web reporting system for SICE's ITS solution, with Excel and PDF export.Fundación MAIOR websiteWebsite for Fundación MAIOR (non-profit) with WordPress and WooCommerce.Kelly Doe Studio websiteWebsite for Kelly Doe Studio with WordPress, reworking the base template to match the studio designs.Calculation Engine for Damdata: Dam Auscultation SCADAJava calculation engine for DamData, Ofiteco dam-monitoring SCADA, with a custom formula language and compiler.Madrid Calle-30 Urban TunnelsAnalysis, design and development of the ventilation control algorithms for the Madrid Calle-30 urban tunnels (47 km).Employee portal for Hospital Clínico San Carlos (Madrid)Employee portal for Hospital Clínico San Carlos (Madrid): multi-step procedures (leave, family status…) with role-based notifications.Routing calculator for Huexpo.netRoute-planning engine for Huexpo.net (Huesca museum network): optimal routes across the selected museums.