In this tip I want to share a tool that I’ve been using for more than 3 years and more than 5 real projects. I want to introduce to you SurveyJS.

In some projects we have to let the user to create different dynamic pages and forms, right now I was participating in 3 kinds of projects with these necessities:


In this tip I want to share how easy is nowadays to have stores in React, if you are not sure about Global State Management you can read some of these other articles: “An introduction to the Flux architectural pattern”, “The only introduction to Redux (and React-Redux) you’ll ever need”, “Introduction to Vuex”.

I personally have used some different libraries to solve this problem in different frameworks, for example: Vuex, Mobx, NgRx, Redux, Akita, etc.

And I’ve learned that all of them are good, they are simple different, depending on the framework and the project you can choose or another…

Frontend Tips 3 — Authorizing your applications

In this tip I want to share how I like to authorize any Single Page Application using frameworks like Angular, React or Vue or without any framework.

To do that I’ve been working with the same library in some projects of the last year, and this library is CASL, a really simple library to manage permissions in any JavaScript or TypeScript application.

Introducing CASL

They define theirselves with four important features, first is a versatile library is really simple and can be used in small or large projects, the idea is to don’t automatize everything but made it fully customizable.

Is an…


In this tip I want to share how to wrap your class methods using decorators, to create, for example, a log where you can see when a method is executed.

Decorators are in EcmaScript proposals but I think that will be easier to do the exercise with CodeSandbox and TypeScript.

Preparing the exercise

First we need to create a new CodeSandbox using TypeScript template.


In this tip I want to share some online tools that I used to compress images and SVGs on my projects, I also have shared some of these tools with my coworkers from design team.

Tiny PNG

Tiny PNG is a good PNG and JPG compressor, easy, with drag and drop and allow multiple files.

Fantastic tool when you don’t want to think about the compression, just put your images and download the result.

Image from Jonah Pettrich

This week we have bought a domain at Google Domains and thanks to this article from Kathy Li we were able to create an alias in our Gmail account.

After that we have wanted to add this Alias email in a regular email application (not form Google) and we had some problems.

We searched about this and the information was not really clear, that’s the reason because I wanted to write this article to try to help others in the same situation, is a really short article to show how to configure your alias account to receive and sent emails…

Hace más de un año, nos propusieron a algunos compañeros de Plain Concepts Barcelona ayudar en un nuevo rol, nos preguntaron si queríamos ejercer parte de nuestro tiempo como Delivery Lead.

Y yo, muy contento por el reto, acepté sin pensarlo dos veces, al final en esta empresa siempre me han enseñado a buscar otros caminos y no solo centrarme en: programar, consultoría o formaciones a clientes. Pero justo después tuve que preguntar ¿Y esto de Delivery Lead qué es? Ahí es donde empezó mi aventura…

¿Cuál es la definición exacta?

Encontrarás diferentes formas de definirlo en internet, de hecho las empresas lo han interpretado…

Image of the film “The Core”

When a team grows is important to not forget the values of the team and the company. This could be worse if the team is also starting to forget to talk about problems in retrospectives and is focused into discuss solutions.

There are a lot of techniques to work on this kind of problems, but in this article I’m going to explain a retrospective exercise that Pablo Bouzada and I designed, totally inspired by this talk from Maria Berenguer (Spanish) Mis retrospectivas se han roto and our experience in other retrospectives.

Introduction to the retrospective

First, the facilitator has to prepare the room…

Nowadays, there are a lot of different tools to work with components. Some of them help us to decrease the coupling between our code, others help us to have better communication, and some others give us a better DOM performance or teach us how to structure our files.

Choosing a file naming convention

The naming convention will help you a lot when you have to create a project with many components. Remember that we always want a more maintainable, scalable, and extensible structure for new and long-term projects.

Spoiler: To use a folder called ‘components’ and add all the components inside will not be the…

The version 16.8 of React introduced a new concept called hooks, this change have created a lot of excitement in development community. One of the interesting changes that this version introduces is useReducer, this hook can help us to stop using Redux (if we consider this necessary) and use a simpler solution.

Why we want to move from Redux to another solution?

If you like Redux, probably you will have enough with redux-hook and you can stop reading this article right now 😳. …

Quique Fdez. Guerra

Breaking projects at @PlainConcepts during day. Dreaming at @HelpDev_ , streaming at @JavascriptIO and learning at @NeedU_org over the night • Web GDE

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store