Here you can get information about some of the projects I worked/work on:

Endless OS

Endless OS is a Linux-based Operating System aimed at providing access to technology to the next billion people in the developing world. It relies on several Open Source projects we contribute back to, as well as on other projects specifically created for this platform.

As a member of Endless‘s core team, I work on any part of the stack I can contribute to: from lower level elements such as systemd, printing configuration or the audio subsystem, to higher level components such as WebKit, Chromium or the Desktop Shell, for instance.

Check out our website for more information

Chromium and Blink

Chromium is an Open Source browser and Blink is the web rendering engine powering it behind the scenes, being both widely used across different types of platforms and devices such as Android, iOS, Linux, Mac OS X and Windows.

As part of Samsung’s Open Source Group, I contributed both to Chromium and to the Blink web engine, with a focus on text layout and rendering, at the same time I mentored other members of the team to help them get started with the project.

Check out its website for more information

Samsung’s Smart TV platform

Samsung’s Smart TV is a platform that integrates Internet and web features in TVs and set-top boxes, as well as provides a way for technological convergence between those TVs and other devices like computers, smartphones and tablets.

I worked on performance optimizations and infrastructure related improvements in the context of WebKit and the Smart TV platform as part of Samsung Research UK‘s Smart TV team.

Check out its website for more information

WebKit Watcher

WebKit Watcher is an Android application to monitor the WebKit buildbots. I developed this small app with Android 2.2 (Froyo) and a HTC Nexus One in mind, but should work fine in any other Android based phone with at least the 1.5 version of the Android platform.

Grab the APK file from here, or right from Google’s Play Store.

Check out the source code from its git repository

WebKit & WebKitGTK+

WebKit is an Open Source web browser engine, and also the name of the Mac OS X system framework version of the portable engine that’s used by Safari, Dashboard, Mail, and many other OS X applications.

In the past, I mainly hacked on WebKitGTK+, the port of WebKit to the GTK+ platform, mostly improving AT-SPI/ATK based accessibility support and implementing the new API based in WebKit2. These days, however, I mostly contribute to the project as a WebKit Reviewer, as well as with any kind of patches that can be interesting for my employer’s specific needs.

Check out its website for more information

epiphany: the GNOME browser

Epiphany is the web browser for the GNOME desktop. Its goal is to be simple and easy to use. Epiphany ties together many GNOME components in order to let you focus on the Web content, instead of the browser application.

As part of the GNOME project, Epiphany is Free Software. In epiphany, I worked mainly on a few bugfixing tasks as well as helping port some parts of the code to the new WebKit2GTK+ API, which I also helped to write.

Check out its website for more information

epiphany extensions

I worked for a while in writing the new epiphany’s ads blocker extension to a better system compatible with Adblock Plus, by backporting some code from the Midori browser.

Check out its website for more information

frogr: a flickr remote organizer for GNOME

Frogr is a small GTK+ application for the GNOME desktop that allows users to manage their accounts in the Flickr image hosting website. It supports all the basic Flickr features, including uploading pictures, adding descriptions, setting tags and managing sets and groups pools.

I am the lead developer of this project, which I started working on back in 2009, and so far I’m fairly happy with its current status and the implemented features it provides, specially considering that I only work on it every now and then in my spare time, a really scarce asset nowadays. This project is Free Software and published under the terms of the GNU General Public License v3.

Check out its website for more information

Vagalume: Client for and compatible services

Vagalume is a client written using GTK+. It should work on any GNOME-based system, but it was originally designed work on Maemo, the platform used by some Nokia devices such as the 770, N800, N810 and N900.

My main contributions to this project are the implementation of the Maemo status bar plugin, a freedesktop tray icon for the desktop, a vagalumectl script for remote control capabilities through D-Bus, and “media keys support” for the freedesktop version, using the gnome-settings-daemon.

Check out its website for more information

Litl OS

Litl OS is a cloud-based operating system designed an implemented specifically for the Litl Webbook, which as been described as the “world’s first” true cloud-based netbook, released even before than the well-known ChromeOS, from Google.

As an external member of the team, I worked on the design and initial implementation of Litl’s automatic and seamless update system, as well as improving and implementing different effects and animation in Litl’s cards-based UI.

Check out its website for more information

Hildon Application Manager

The Hildon Application Manager is a program to manage add-on software components for the Hildon Desktop. It uses the Debian package management tools provided by the Maemo platform (namely APT and dpkg) and presents a ‘end user oriented’ interface to them.

On this project, I worked both on bugfixing, development of some new features and also helping co-maintain it for some time as well, being responsible of publishing regular new releases.

Check out the source code from its git repository

Maemo’s APT

As part of my work on Hildon Application Manager, I eventually hacked on the Maemo’s version of the well-known APT system as well.

Check out the source code from its git repository


Fisterra is an open source GNOME development framework. It is indicated for the implementation of whole business management applications, ad hoc ERPs or modules of other management systems.

I worked here in the development of customized use-cases for an end-user application based in Fisterra, as part of my internship in Igalia.

Check out its website for more information


PhpReport is a web application for time tracking, which provides useful statistics about users, projects, and more. The application is focused on companies or any situation where multiple people collaborate on a project. PhpReport allows managers to see project-level statistics such as cost and deviation, as well as user-level statistics like number of days worked and unused vacation days.

I worked in the first version of this project, mainly by implementing new features such as customers management, improved projects and users management, support for charts support both for users and projects and improved tasks management and “new tasks” form.

Check out its website for more information


If you mix functional programming (using Erlang) with web apps development (using Yaws) and a fault-tolerant storage system (using Mnesia) for your preferred fortunes… what do you get? Yeah!… eFortunes: a distributed, fault-tolerant and scalable fortunes server developed in Erlang.

Nowadays eFortunes is just an abandoned project that used to be useful for me to learn more about web development with erlang, and the fortunes server was just an excuse for me to programming such that workbench.

Check out the source code from its git repository