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.
- Status:
Production
- Dates: 2023
- Client:
Open Source
- Responsibilities:
JS development
- Participation As:
Developer
- Technology: JS MediaRecorder
- Code: https://github.com/fguillen/MediaStreamAudioVisualization
- Link: https://fguillen.github.io/MediaStreamAudioVisualization
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
Dots Gathering, a gathering of dots
I felt in love with a texture in a porcelain cup. It was so simple, so naïve, I wanted to give it another dimension. The most difficult part of this project is to try to simulate the randomness of the manual generation of a repetitive pattern. How to program the algorithm so it looks like there is no patter underneath?
- Status:
Production Version
- Dates: 2022
- Client:
Open Source
- Responsibilities:
JS Developer
- Participation As:
Product Owner, Developer, Designer
- Technology: JS P5js
- Code: https://github.com/fguillen/DotsGathering
- Link: https://fguillen.github.io/DotsGathering/
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.
- Status:
Production Version
- Dates: 2022
- Client:
Open Source
- Responsibilities:
JS Developer
- Participation As:
Product Owner, Developer, Designer
- Technology: JS P5js
- Code: https://github.com/fguillen/Art-ificialFlower
- Link: https://fguillen.github.io/Art-ificialFlower/
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.
- Status:
Product Market Fit phase
- Dates: 2021
- Client:
N/A
- Responsibilities:
Landing Page Designer and Developer
- Participation As:
Product Owner, Marketing, Designer, Sales
- Technology: HTML/CSS Ruby
- Code: https://github.com/fguillen/BooksBrook_LandingPage
- Link: https://booksbrook.com/
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.
- Status:
Early Access
- Dates: 2021
- 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/ScrapStatsV2
- Link: https://land.scrapstats.com/
Geometric Sounds, Overlapping metronome
Artistic exercise to experiment and create some muscles with P5js.
- Status:
Production Version
- Dates: 2021
- Client:
N/A
- Responsibilities:
JS Generative Art Developer
- Participation As:
Product Owner, Developer and Maintainer
- Technology: JS P5js
- Code: https://github.com/fguillen/GeometricSounds
- Link: https://fguillen.github.io/GeometricSounds/
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.
- Status:
Production Version
- Dates: 2016
- Client:
N/A
- Responsibilities:
Front Developer
- Participation As:
Product Owner, Developer and Maintainer
- Technology: EmberJS
- Code: https://github.com/fguillen/CountryCodesConquest
- Link: http://fguillen.github.io/CountryCodesConquest/
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.
- Status:
Production Version
- Dates: 2013
- Client:
Rubio de Marzo
- Responsibilities:
Landing Page Designer and Developer
- Participation As:
Product Owner, Developer and Maintainer
- Technology: Ruby on Rails
- Code: https://github.com/fguillen/RubioDeMarzo
- Link: http://rubiodemarzo.com/
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
- Status:
Production Version
- Dates: 2012-2017
- Client:
Open Source
- Responsibilities:
Ruby Developer
- Participation As:
Product Owner, Developer and Maintainer
- Technology: Ruby
- Code: https://github.com/fguillen/TimeWindowDropCollector
- Link: https://rubygems.org/gems/time_window_drop_collector
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.
- Status:
Production Version
- Dates: 2012
- Client:
Open Source
- Responsibilities:
Ruby Developer
- Participation As:
Product Owner, Developer and Maintainer
- Technology: Ruby
- Code: https://github.com/fguillen/simplecov-rcov
- Link: https://rubygems.org/gems/simplecov-rcov/
Booky Sitter, The Perfect Companion for the Indie Publisher
Online shop multi client management system. Template system.
- Status:
Production Version
- Dates: 2012-2018
- Client:
Escrito a Lapiz Editorial
- Responsibilities:
Front Developer, Back Developer, Deployment, DevOps
- Participation As:
Product Owner, Developer and Maintainer
- Technology: Ruby on Rails
- Code: https://github.com/fguillen/BookySitter (Private)
- Link: http://tienda.escritoalapiz.es/
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.
- Status:
Beta Version
- Dates: 2012
- Client:
Open Source
- Responsibilities:
JavaScript Developer
- Participation As:
Product Owner, Developer and Maintainer
- Technology: JavaScript jQuery
- Link: https://fguillen.github.io/MDMagick/
- Code: https://github.com/fguillen/MDMagick
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.
- Status:
Production Version
- Dates: 2012
- Client:
N/A
- Responsibilities:
Front Developer
- Participation As:
Product Owner, Developer and Maintainer
- Technology: Ruby on Rails
- Code: https://github.com/fguillen/DummyJavascriptEmulators
- Link: https://fguillen.github.io/DummyJavascriptEmulators/
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.
- Status:
Production Version
- Dates: 2011-2020
- Client:
Open Source
- Responsibilities:
Ruby Developer
- Participation As:
Product Owner, Developer and Maintainer
- Technology: Ruby
- Code: https://github.com/fguillen/SweetyBacky
- Link: https://www.ruby-toolbox.com/projects/sweety_backy
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.
- Status:
Alpha Version
- Dates: 2011
- Client:
Open Source
- Responsibilities:
Ruby Developer
- Participation As:
Product Owner, Developer and Maintainer
- Technology: Ruby Sinatra
- Code: https://github.com/fguillen/SpaceSuckersChronicles
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
- Status:
Beta Version
- Dates: 2011
- Client:
Open Source
- Responsibilities:
CSS3 development
- Participation As:
Product Owner, Developer and Maintainer
- Technology: CSS3
- Link: https://fguillen.github.io/ComputerMalfunction/
- Code: https://github.com/fguillen/ComputerMalfunction
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.
- Status:
Experiment/Production Version
- Dates: 2010
- Client:
Open Source
- Responsibilities:
Idea and development
- Participation As:
Product Owner, Developer and Maintainer
- Technology: Ruby on Rails
- Link: http://testsnauticos.fernandoguillen.info/
- Code: https://github.com/fguillen/Testilia
the Kids Art Gallery
Public virtual gallery of paintings and drawings of children from around all countries and continents.
Multi-gallery system.
- Status:
Production Version
- Dates: 2010
- Client:
me
- Responsibilities:
Idea, development and promotion
- Participation As:
Product Owner, Developer and Maintainer
- Technology: Ruby on Rails
- Link: http://thekidsartgallery.com/
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.
- Status:
Beta Version
- Dates: 2010
- Client:
Open Source
- Responsibilities:
Java Script development
- Participation As:
Product Owner, Developer and Maintainer
- Technology: jQuery JavaScript
- Link: https://fguillen.github.io/FontParty/example/
- Code: https://github.com/fguillen/FontParty
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:
- BookZee on the NY Daily News,
- BookZee on Wired online,
- BookZee on AM New York (PDF page 9),
- BookZee on SmokinApps.
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.
- Status:
Experiment Version
- Dates: 2009
- Client:
Open Source
- Responsibilities:
Illustrations, Ruby coding
- Participation As:
Product Owner, Developer and Maintainer
- Technology: Ruby Gosu
- Link: https://fguillen.github.io/OneOfZombies/web/
- Code: https://github.com/fguillen/OneOfZombies
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