Pet Projects

Building interesting things using technology is my passion. I keep experimenting with technologies and all phases of product development through my pet-projects.

MediaStream Audio Visualization

Working with the Web API (MediaRecorder)[https://developer.mozilla.org/en-US/docs/Web/API/MediaRecorder] is not easy. I have been using it extensively in my project Playcocola. I have built this small visualization tool as a playground for my researches with this collection of libraries.

Ryby in Fantasy

In many occasions I have been giving programming classes to children from 8 to 14 years old. And what better hook for any children (and adult) for learning programming that programming a video game. The are (many ruby libraries)[https://ruby-toolbox.com/categories/game_libraries] that covered video game development, the most popular one is gosu, but the API lacks of basic things like UI elements, collision detection, keyboard mapping, ...

I have created fantasy to offer an user friendly API and DSL for quickly building video games using ruby.

The library is based on Gosu, but offering a nicer programming experience.

Leveraging the metapraming super powers of Ruby.

  • Status:

    Pre-Alpha Version

  • Dates: 2021 - 2023
  • Client:

    Open Source

  • Responsibilities:

    Ruby DSL design and implementation.

  • Participation As:

    Product Owner, Developer, Designer

  • Technology: Ruby Gosy
  • Code: https://github.com/fguillen/fantasy
Art-ificial Flower, Generative Art experimental project

Sometimes the only thing we need is to feel our uniqueness, how special we are, how difficult is to find someone exactly as you. This small creation will be born specially for you, it will be unique as you are.

Books Brook, Book sharing paid service specialized in high quality graphic novels

Receive a different award winner graphic novel at home every month. Replace with a different one when you have finished reading it.

Scrap Stats, Monitor and keep track of any number on the internet

With Scrap Stats you can easily start tracking these numbers you care about. You don't need to visit all these pages to see what is the actual value of the numbers you are interested on, you can have all of them in one single page.

My Perfect Weekend, Web site to share how your perfect weekend looks like

Artistic exercise to experiment and create some muscles with P5js.

Geometric Sounds, Overlapping metronome

We all have these good moments in Berlin, on these places that we have made ours because they really suite our personality or resonates with the mood we are. Berlin is such a kaleidoscope of discoveries.

If you can imagine in detail your perfect weekend in Berlin, how it would be? Where will you go for breakfast and just after that?

Appreciations Billboard, simple App to deliver appreciation

Built during my period at Dalia to promote a culture of appreciation among our team of 80 people.

The application was running in the big screen of the kitchen all the time showing random appreciations from one person to another.

All the team was really engaged with the spirit and contribute adding content to the app almost every day.

It generated a very good vibe making the team work more efficient.

  • Status:

    Production Version

  • Dates: 2020
  • Client:

    N/A

  • Responsibilities:

    Front Developer, Back Developer, Deployment

  • Participation As:

    Project Manager, Developer and Maintainer

  • Technology: Ruby on Rails
  • Code: https://github.com/fguillen/AppreciationsBillboard
Mini Graphite, Simple wrapper for Graphite and Statsd

TCP API wrapper to abstract your code from the connection to Graphite or Statsd backends.

  • Status:

    Production Version

  • Dates: 2014-2019
  • Client:

    Open Source

  • Responsibilities:

    Ruby Developers

  • Participation As:

    Product Owner, Developer and Maintainer

  • Technology: Ruby
  • Code: https://github.com/fguillen/MiniGraphite
Engage Meter, a real time way to connect with your audience

Distribute the QR code of your talk/show/performance among your audience.

Receive and monitor the engagement of your audience in realtime.

Realize post-mortem analysis of the moments where the level of engagement was not as expected.

  • Status:

    Alpha Version

  • Dates: 2018
  • Client:

    N/A

  • Responsibilities:

    Front Developer, Back Developer, Deployment

  • Participation As:

    Product Owner, Developer and Maintainer

  • Technology: Ruby on Rails
  • Code: https://github.com/fguillen/EngageMeter
Country Codes Conquest, challenge your knowledge about Country Codes

Small quiz game to test your ability of associating the correct Country Code to a Country Name

This application was created to encourage our development team to know by heart all the Country Codes in the World. We were working in a very international product and all our internal references to countries were made via Country Codes.

Transmission API, Small ruby wrapper for the Transmission RPC API

Very simple Ruby Gem to communicate with the Transmission API.

  • Status:

    Production Version

  • Dates: 2014
  • Client:

    Open Source

  • Responsibilities:

    Ruby Developer

  • Participation As:

    Product Owner, Developer and Maintainer

  • Technology: Ruby
  • Code: https://github.com/fguillen/TransmissionApi
Log Book, Ruby on Rails, Automatically keeping record of all Model Changes

Active Model integration mechanism to store changes on your Models.

  • Status:

    Production Version

  • Dates: 2014-2021
  • Client:

    Open Source

  • Responsibilities:

    Ruby Developer

  • Participation As:

    Product Owner, Developer and Maintainer

  • Technology: Ruby
  • Code: https://github.com/fguillen/LogBook
Style Palette, The simplest way to Stylize words in Ruby on Rails

When you have a bunch of tags and you want to render them in a colorize way you can implement your own colorize system or you can use StylePalette.

StylePalette offers a json based configured color collections that can be associate with words.

  • Status:

    Production Version

  • Dates: 2013
  • Client:

    Open Source

  • Responsibilities:

    Ruby Developer

  • Participation As:

    Product Owner, Developer and Maintainer

  • Technology: Ruby
  • Code: https://github.com/fguillen/StylePalette
Cineto.tv, Self-hosted Torrent Movies Management System

Manage all your movie torrents on the web. Stream them directly from the browser, add subtitles, share them with friends.

  • Status:

    Beta Version

  • Dates: 2013
  • Client:

    N/A

  • Responsibilities:

    Front Developer, Back Developer, Deployment, DevOps

  • Participation As:

    Product Owner, Developer and Maintainer

  • Technology: Ruby on Rails
  • Code: https://github.com/fguillen/Cineto
Rubio de Marzo.com, AdHoc minimal CMS

Super simple and minimal CMS. Easy to manage and upload new content.

Time Window Drop Collector, Very Light Counter Storage System

System to keep record of an amount for a concrete duration. With Time Window Drop Collector you can define a maximun time you want to keep the record. You can also keep record for different keys.

Backend integrations for: Memcache, Redis, Rails

SimpleCov Rcov, SimpleCov formatter to generate a simple index.html Rcov style

Rcov style formatter for the ruby 1.9+ coverage gem: SimpleCov.

The target of this formatter is to cheat on Hudson so I can use the Ruby metrics plugin with SimpleCov.

So if you are looking some kind of workaround to integrate SimpleCov with your Hudson + Ruby metrics plugin this is a beginning.

Booky Sitter, The Perfect Companion for the Indie Publisher

Online shop multi client management system. Template system.

MDMagick, the simplest MarkDown WYSIWYG for html input elements

jQuery plugin for add MarkDown buttons and preview to any kind of input field.

Just add the class mdm-input to any input element in your page and it will became in a MarkDown Editor.

Dummy Javascript Emulators, Windows and OSX web emulators

After see the amazing things that the people is doing with Javascript, like the Linux Javascript Emulator I just couldn't resist to make my own Windows and OSX Javascript emulators.

Attention: this is just a joke.

Animal Chat, massive multi user live web chat

Animal Chat is a massive multi user on live web chat developed using the HTML5 WebSocket technology.

It is just a programming experiment to taste how the WebSocket technology works, how to implement it and how is its performance.

  • Status:

    Production Version

  • Dates: 2011
  • Client:

    N/A

  • Responsibilities:

    Front Developer, Back Developer, Deployment

  • Participation As:

    Product Owner, Developer and Maintainer

  • Technology: Ruby EventMachine Web Sockets BackBoneJS
  • Code: https://github.com/fguillen/AnimalChat
Sweety Backy, Backups made wow!-simple

Simple mechanism to configure and execute backups of folders and MySQL DBs and store them in local folder or S3 bucket.

Space Suckers Chronicles, multiplayer permanent universe text based game

Experiment for developing a text based game.

Three layers:

  • The Core Logic
  • The Server
  • The Client

API development and communication.

Console based client.

Vitreous Cloud, the revolution of the personal website CMSs

Is the commercial, hosted and multiuser version of the Vitreous project.

No more web forms, no login, no file uploads. Manage your website from your local hard-dis and let Vitreous to make the magic.

Dealing with the Dropbox API, using Mustache template engine to allow users to modify their own designs, offer and standalone solution to fast design development.

Design a system to using just files as content and metadata.

  • Status:

    Beta Version

  • Dates: 2011
  • Client:

    N/A

  • Responsibilities:

    Ruby Developer

  • Participation As:

    Product Owner, Developer and Maintainer

  • Technology: Ruby Sinatra Mustache Ruby on Rails
Booky Sitter, a market place for independent publishers

Multi online store service. Liquid template engine to allow users to modify their own designs. Online store specialized in the small and independent publishers needs. Common shop window and multi shopping cart. Back office design by Juan José Vidal.

  • Status:

    Alpha Version

  • Dates: 2010-2011
  • Client:

    N/A

  • Responsibilities:

    Ruby Developer

  • Participation As:

    Product Owner, Developer and Maintainer

  • Technology: Ruby Liquid Ruby on Rails
Computer Malfunction

CSS3 experiment. Very simple animation to simulate the 'computer malfunction' signal in HAL9000

Travelling Me jQuery plugin

JS library to convert any static div in an interactive scrollable div. Experimental project. jQuery and javascript juggling. Developing the Pieles gallery web site based in an infinite horizontal scroll I decided to externalize the JavaScript logic to a jQuery plugin.

  • Status:

    Beta Version

  • Dates: 2011
  • Client:

    Open Source

  • Responsibilities:

    JS Developer

  • Participation As:

    Product Owner, Developer and Maintainer

  • Technology: JavaScript jQuery
  • Code: https://github.com/fguillen/TravellingMe
Sweety Backy, backups made wow!-simple

Ruby configurable gem for backing up folders and MySQL databases, the destination can be a local path or an S3 bucket.

Focused in very simple configuration.

Used in production in dozens of projects.

  • Status:

    Production Version

  • Dates: 2011
  • Client:

    Open Source

  • Responsibilities:

    Ruby Developer

  • Participation As:

    Product Owner, Developer and Maintainer

  • Technology: Ruby
  • Code: https://github.com/fguillen/SweetyBacky
Simplecov Rcov Formatter

Output formatter for the Ruby 1.9 test coverage gem Simplecov.

Adopted for other 20 gems as standard adapter for Simplecov.

  • Status:

    Production Version

  • Dates: 2010-2011
  • Client:

    Open Source

  • Responsibilities:

    Ruby Developer

  • Participation As:

    Product Owner, Developer and Maintainer

  • Technology: Ruby
  • Code: https://github.com/fguillen/simplecov-rcov
Ruby Thimbl gem & Thimbl Singing

A Ruby gem to communicate with the thimbl protocol and a very simple example of web application for thimbl networks.

Wanting to support this distributed open-source fork of Twitter I have developed a Ruby wrapper for the protocol and a Sinatra example of a web site.

  • Status:

    Production Version

  • Dates: 2011
  • Client:

    Open Source

  • Responsibilities:

    Ruby Developer

  • Participation As:

    Product Owner, Developer and Maintainer

  • Technology: Ruby Sinatra
  • Code: https://github.com/fguillen/ThimblClient
Los Ojos de la Ciudad

Public webcams repository.

Multiple government webcams sources, history snapshots, animation play mode.

Experimental project developed with the company of Alvaro Ortiz for the rumble contest AbreDatos defending the OpenData.

  • Status:

    Production Version

  • Dates: 2010
  • Client:

    Open Source

  • Responsibilities:

    Idea and development

  • Participation As:

    Product Owner, Developer and Maintainer

  • Technology: Ruby Ruby on Rails
  • Code: https://github.com/fguillen/LosOjosDeLaCiudad
Vitreous

Transparent Portfolio Manager.

Online portfolio that synchs with your Dropbox online folder so you can manage your online portfolio directly from your local hard disk.

  • Status:

    Experiment Version

  • Dates: 2010
  • Client:

    Open Source

  • Responsibilities:

    Idea and development

  • Participation As:

    Product Owner, Developer and Maintainer

  • Technology: Ruby Sinatra Dropbox Api OAuth
  • Code: https://github.com/fguillen/Vitreous
Fibber Mailman

Ruby library for mocking the POP calls so you can simulate your mail inbox on a local folder.

  • Status:

    Beta Version

  • Dates: 2010
  • Client:

    Open Source

  • Responsibilities:

    Idea and development

  • Participation As:

    Product Owner, Developer and Maintainer

  • Technology: Ruby
  • Code: https://github.com/fguillen/FibberMailman
Dummy Dropbox

Very simple ruby library for mocking the dropbox ruby gem.

You can test your application without making real calls to Dropbox API using a local folder to fake a Dropbox account.

  • Status:

    Production Version

  • Dates: 2010
  • Client:

    Open Source

  • Responsibilities:

    Idea and development

  • Participation As:

    Product Owner, Developer and Maintainer

  • Technology: Ruby
  • Code: https://github.com/fguillen/DummyDropbox
Testilia

Multi-test quiz system.

Simple application to store and manage online tests.

CVS exams digester, user management, user history tracking.

Arduino Phixter Visits

This is my very first Arduino experiment.

Although it is an Arduino centered project the truth is that the hardest part is on the WebService layer and and on the LocalServer layer.

Sockets connections.

  • Status:

    Experiment Version

  • Dates: 2010
  • Client:

    Open Source

  • Responsibilities:

    Arduino programming. Ruby desktop application programming. WebService programming

  • Participation As:

    Product Owner

  • Technology: Arduino Java Ruby
  • Code: https://github.com/fguillen/ArduinoPhixterVisit
iPhone Verb Conjugations

This is the iPhone native app for other of my pet-projects: Verb Conjugations

Is a simple iPhone application that tries to help the people is learning Spanish to find out how verb is conjugated.

  • Status:

    Production Version

  • Dates: 2010
  • Client:

    Open Source

  • Responsibilities:

    iPhone development. Apple Bureaucracy Fighter :)

  • Participation As:

    Product Owner, Developer and Maintainer

  • Technology: Objective-C Cocoa Touch Framework
  • Code: https://github.com/fguillen/iPhoneVerbConjugations
Font Party jQuery plugin

JS library to convert normal text on image characters.

Experimental project. jQuery and javascript juggling.

Let's decide us

Email simple voting system.

Email parse system integrated with an online voting system.

Our participation into the RailsRumble 09.

Sharing team with Raimond García, Felipe Talavera, Carlos Matallán.

I love the idea and thanks for making it open-source. Definitely going on my todo list for internal use at Hashrocket.

  • Status:

    Experiment Version

  • Dates: 2009
  • Client:

    Open Source

  • Responsibilities:

    Enjoy a whole weekend of hacking among friends

  • Participation As:

    Web Developer

  • Technology: Ruby on Rails
  • Code: https://github.com/flype/LetsDecideUS
BookZee, web service for search books in all the New York public libraries.

The full application is composed by an iPhone App, a Web App, and the Web Service what offers support for the two first. The two last was on my charge.

The application was presented to a New York software application challenge: NYCBigApps, our app was on second place between 84 apps.

BookZee on the news:

Fernando Guillen is a fantastic developer. He concisely estimates of his skills and is constantly focusing on doing things right from both a technical and product value standpoint. He is passionate his work and does his best to ensure that everything functions excellently.

  • Status:

    Beta Version

  • Dates: 2009
  • Client:

    Mike Cavaliere

  • Responsibilities:

    Web Service API and Web Application development

  • Participation As:

    Senior Developer

  • Technology: Ruby on Rails ScrAPI
iPhone Verb Conjugations, iphone web application for answer for spanish verb conjugations.

One friend of me said he missed a custom iphone application for answer for the spanish verb conjugations. He is english spoken but he is learning spanish. He said that with that kind of help he would be allowed to talk more intelligently.

So I decided to develop this application for him as a christmas present.

The first beta version was working on 3 hours.

It is a web application but try to looks like iPhone native one. Is not Rails but Sinatra. And the core of the application is a work of screen-scrapping another webs.

  • Status:

    Experiment Version

  • Dates: 2009
  • Client:

    Open Source

  • Responsibilities:

    Front and back development. Deployment. Systems maintenance

  • Participation As:

    Product Owner, Developer and Maintainer

  • Technology: Ruby Sinatra ScrAPI
  • Code:

    Github repository of Verb Conjugations

One of Zombies, arcade game.

This another experiment but this time not a web project but a game.

Ruby code using Gosu 2D game library

Presented on the EuRuKo in Krakow on May of 2010.

Geo Alertas, your alerts on depending your position.

This is another RoR experiment when my RoR knowledge was still green. Experimenting with simple Rails app, ajax, ...

Geo location, Google Maps, phone geolocation integration.

  • Dates: 2008
  • Client:

    Open Source

  • Responsibilities:

    Design. Front Developer, Back Developer. Deployment. Systems Maintenance

  • Participation As:

    Product Owner, Developer and Maintainer

  • Technology: Ruby on Rails
  • Code: https://github.com/fguillen/GeoAlertas
The Phone Baptizer, offer a name to you phone number.

Tool to offer a possible system to remember easily a phone number. Background algorithm. Ajax.

This is another RoR experiment when my RoR knowledge was still green. Experimenting with simple Rails app, ajax, ...

The whole application need an improvement, from the algorithm until the test coverture.

  • Dates: 2008
  • Client:

    Open Source

  • Responsibilities:

    Front and back development. Deployment. Systems maintenance

  • Participation As:

    Product Owner, Developer and Maintainer

  • Technology: Ruby on Rails
  • Code: https://github.com/fguillen/ThePhoneBaptizer
HolaPorQue, online store.

AdHoc online store. Multi-item. Galleries. Shopping cart. PayPal integration.

This has been my very first Ruby on Rails project. I focused it like an study exercise and I work on it without any idea about what RoR and Ruby was. This is because the code sucks :). But it is still up and working.

With a web design of HolaPorQue.

  • Dates: 2007
  • Client:

    HolaPorQue

  • Responsibilities:

    Front Developer, Back Developer. Deployment. Systems Maintainer

  • Participation As:

    Product Owner, Developer and Maintainer

  • Technology: Ruby on Rails
  • Code: https://github.com/fguillen/HolaPorQueOnlineStore