Portfolio
DAGGOUT

Android/iOS app designed to store and manage clothing receipts, allowing the user to filter them by store and set return deadline notifications. The projected included a landing page, a back office and an analytics platform as well.
DAGGOUT SL was a startup I co-founded along with Oscar Ortega during our residence in Demium startup incubator, aiming to digitize paper receipts for the fashion industry. Expo/React Native for the mobile app and Google Cloud Platform for the backend.
desdecasa

First attempt to build an online business! Along with Eudald Bover we developed this restaurant discounts (up to 50%!) web app and managed to sell 150 membership cards to the website users.
We didn't get any summer job back in 2011 so we started to shape this platform that we would launch the following year, after having signed up enough restaurants. Originally built in PHP, I migrated it to Node.js after we closed the website.
jokify
Instead of deleting all those twitter jokes I get over the phone, I decided I had to make them available to the world. Here you will find them (in Spanish).
This web application was also as an excuse to practice with CSS3 animation capabilities. In the first version, 2017, to animate the emojis explosion. After meeting Iker Fernandez in 2020, the rest of the redesigned UX.
Tabarist
WYSIWYG editor for guitar tabs. Browse existing tabs or create your own. Play along using the metronome function or provide a Youtube URL and play over the backing track.
I developed this web app to help me practice my guitar lessons, and learn about rhythm patterns along the way. The tabs the user create are publicly available, stored in a Firestore database. A couple of fun challenges I had to address: considering the render time of the page when playing the backing tracks and indexing the dynamic content generated by the users in the web sitemap.
webopoly
I enjoy playing the Monopoly board game every now and then, but the box is too big to bring it around with me. This web version can be played anytime from anywhere. It also makes the games faster by adding a timeout for each player turn.
I wanted the app to support multiplayer online games. I first implemented a proper online version using web sockets, but I didn't want to keep a server up and running. The WebRTC version allows peer to peer connections within the same virtual network and no need for intermediary servers.
webjack
Cashless online multiplayer Blackjack game. Play online with strangers, practice offline against the dealer or learn the Blackjack basic strategy.
After having developed a terrible Visual Basic desktop application in 2011 and failed to finish a Java command line utility in 2014, I decided to redeem myself by building it in web flavour.
Bromuro
Collection of twitter jokes (in Spanish) delivered through an Android app. Filter them by text, share them with your friends and have them always available in your phone.
I wanted to learn about Expo/React Native during my sabbatical year so I migrated the Jokify React web app to this mobile app version. Simplified interface and brand new name (Jokify was already taken in Play Store).
Blackjump
Android app designed to learn the basic strategy for Blackjack card game. Set the rules of your favorite casino and get ready to beat the dealer.
My Blackjack basic strategy still wasn't good enough after having developed webjack so I decided to build another Blackjack app focusing solely on that part. This time using Expo/React Native instead of vue.js and adding a range of new features around basic strategy.
Blackjack stats
Yet another web on Blackjack. This time, focused solely on probability and statistics, to understand where the basic strategy comes from and how much it contributes to maximize the player earnings.
After mastering the Blackjack basic strategy through Blackjump, I was still not making money when playing Blackjack at the casinos. I built a couple of web apps to see if the basic strategy could be improved in any way. The predecessor to this one is blackjack odds.
vue.js Meetup talk
Meetup talk hosted by VueJS Barcelona. The talk features a simple yet realistic vue.js app (using webpack and consuming data from a Web Api) and walks through the process of getting it to render on the server side.
After attending many coding Meetup talks I felt I had to contribute back by organizing my own. A friend of mine brought his 360º camera and recorded part of the session (the camera's battery run out) which is now available on YouTube.
marathon planner
Marathon training website based on the Hansons Marathon Method book by Luke Humphrey. Set your dates, get the training paces based on your expected race pace and keep track of your completed trainings 💪
Having the book around all the time when I was preparing for the 2022 Barcelona marathon was inconvenient. Solution: This responsive website to track the training progress from the phone.
sudoku generator
Web application that generates random sudoku puzzles and offers hints on how to solve them. It can also be used to solve existing puzzles (e.g. one from a newspaper), but it is not bulletproof; it might fail to find the solution.
I decided to figure out by myself how to generate sudoku puzzles after having been talking about it with my mom. The resulting application persists the puzzle, so you can refresh page or close the browse without losing the progress.
skills matrix

I was developing a front end application at work and we interacted with a GraphQL Api. I loved the standard, but I felt I wasn't learning enough about the server side so I decided to built my own Api and get a better understanding on how it works.
The result is a simple Api with the typical features used in any modern Api (filtering, pagination, referenced entities, ordering, etc.), accessible through a GraphiQL interface.
fractal generator
Web app that generates fractal pictures by replicating the pattern in a grid. You can try to configure it or just pick a color and hit the reset button until you get something you like!
When I was in college I was asked to write a C++ algorithm to generate fractal patterns. I spent far too many hours coding on it to settle with the miserable command line output; some years later I turned the same algorithm into a visually pleasant web app.
michael.page
Tribute page to all the Michaels of the world. Who doesn't have a Michael in their life? Joking aside this web was the cover website of a plan to earn a little fortune by reselling a premium domain to Michael Page company.
I was working with a bunch of other tech freaks when the .page top level domains were introduced. We came up with the idea to buy https://michael.page and resell it to the british recruitment business. We invested 700€. We got 0€ ROI.
càrniques ausà
"It must have an interactive pig!". That was the sentence that convinced me to build the Càrniques Ausà pork company website.
Pretty straightforward application providing company information. Built in angular.js, it only presented two challenges: supporting translations without page reloads and filtering the product catalog by the selected part of the SVG pig image.
poliester pelegrina

This was the Poliester Pelegrina polyester company official website. My brother was dating the owner's daughter back in the day so I was the most accessible developer. In the right place at the right time!
I hadn't heard about single page applications when I developed this web app, but it turned out that managing the views with simple jQuery animations was the most effective approach. Originally built in PHP and migrated to Node.js later on.
d.o. vic

This was the D.O. Vic restaurant official website for two years, until they went out of business in 2015. It provided the restaurant menus, contact information, pictures of the establishment and allowed making reservations.
We met the owner of this restaurant while building the Desdecasa restaurant platform. Later on he had issues with his previous website so he contacted us and ordered a new one. Money bears interests!















