My projects


A graphical modular synthesizer, using the Web Audio API

Modulator is a totally static HTML/JS app. It requires a modern browser such as Chrome, FireFox or Safari, but has no server-side code.

Modulator can be used live 👉 here.

You can check its documentation, and get the source code from the GitHub repository. There is also a presentation that I use when I give a talk about Web Audio and Modulator.

Contributions are welcome. Please read the ToDo list in from the repository for suggestions.

Genetic TSP

A genetic engine that solves the Traveling Salesman Problem (TSP): finding the shortest path for visiting a given set of locations. This is a pure client-side application that uses one or more Web Workers for doing the computations without blocking the UI.

The application can be used online here, and the GitHub repository is here. There is also a Presentation that explains what is a Genetic Algorithm and why it is a good technique for solving the Traveling Salesman Problem, and a corresponding video of me presenting this software.

Neural Network

A neural network, implementing the backpropagation algorithm in order to learn and adjust its weights from sample input and output data. After the learning phase, the network can be used to generate the output from new input data.

A web-based user interface is provided, which can be used to adjust the network parameters and provide learn and test data.

Check out its GitHub repository

Shape Wars

A small retro Space Invaders style videogame using the HTML5 <CANVAS> element and 2D vectorial drawing.

You can play it Here. Use Z and X to move the ship left and right, and M to shoot.

Check out its GitHub repository


Minion is a tiny WebComponent-oriented UI framework. It can be learned very fast and is good enough for small to medium single-page applications.

Minion does not make use of the WebComponent standard for building the UI, but still the development approach is based on breaking the Web App into independent and reusable web components. Each component is defined as:

For more information and a working demo, check out its GitHub repository.

Typing contest

A web application to practice typing. It lets the user provide some text to type, and measures the elapsed time, amount of errors and typing speed in keys per minute.

You can test it Here, or check its GitHub repository.