My blog, my rules.

Photo by Mantas Hesthaven on Unsplash

Lately, I was pretty dissatisfied with Medium as a platform and decided to make my own blog.

This dissatisfaction was leading me to write less and less, and not enjoy it as much as I did. Switching made me want to write again!

While I’m a proponent of “do your own stuff”, especially for beginners, I used GatsbyJS for the blog boilerplate (mostly for the backend).
I did not want to turn this into another side project and waste my time writing code for the blog instead of new articles.

It is hosted on Netlify, I had a few issues…

Examples of how to increase your app reliability

Testing is a part of front-end development that I often see forgotten, yet it can play a major role in the reliability of a project. In developing Streamroot’s brand new customer-facing dashboard (which you can read about here and see here), we put in place a full testing suite to ensure the proper functioning of all components: data visualizations, buttons, reports, billing and account information, and more.

Here I offer a few examples of unit tests and end-to-end tests that can help front-end developers working on this type of project to increase the reliability of their code while saving time…

Inputs, fetches, controlled dropdowns and refs.

Photo by Ricardo Gomez Angel on Unsplash

Hooks have landed.
They allow you to simplify your class-heavy code by quite a lot.
Let’s explore some common use-cases where hooks provide an instant benefit in reducing code complexity.

What is a hook

Hooks are a new feature introduced in React 16.8 that allow you to express a local “state” without needing a React.Component to be involved.
Hooks are scoped to do one thing only, and this makes them perfect for simplifying the code heavy Components that have to be written all the time to do simple stuff (like controlling a simple input).

Default React hook

In this example number stores the value…

Solving the problem of sharing child state with a parent component

Valencia, Malvarossa beach — my phone

A modal is a popup usually triggered from a button with the purpose of providing a new window to perform an action before being able to return to the main page.

Easier than setting up react with it

Sunset in Valencia, my phone.

A few weeks ago I wanted to experiment with react-native.
Mobile development has always interested me.
Since you can now write applications with just JavaScript, why not leverage this opportunity and make use of Typescript?

Why Typescript?

Typescript offers a lot more on top of JavaScript and React.

Just the safety of knowing every prop, function parameter and return will warn you if you try to use it in a way that it is not accounted for is invaluable.

Thinking about all the major bugs and errors I encountered during these years as a JavaScript developer, most were regarding wrong parameters in…

Smaller bundles, faster apps

Backgammon — my phone

Webpack is an awesome technology, it allows you to bundle, hot reload, minify, code split, polyfill and so much more.

Most of these things are done by webpack by default, others require some custom additions to your webpack configuration to enable them.

All these features have one purpose, making apps faster and easier to download and run. It’s expected, with our technological advances, to build performant webapps, and it is our job to provide them.


Momentjs is probably the most popular library to manipulate the Date object and handle time in all its facets in JavaScript.

The problem with moment…

So easy it’s underwhelming

Between France and Spain, my phone

Few days ago I wanted to try Typescript with React.
So, I started to play around with a simple React boilerplate to see how difficult it would be to switch it from vanilla JavaScript to Typescript.

Using babel 7 it turned out to be simpler than I expected.
I was a little bit disappointed by what it actually requires.
This article will be pretty short.


It’s JavaScript with types, there isn’t much to say, other than every library will require it’s @types/library as well, but it’s very well documented and quite intuitive.

Setting up Babel 7 + Typescript

I used my own boilerplate to jump start…

Tips and tricks from someone on the other side

Berlin, Brandenburg Gate — my phone

Recently, I’ve been helping a few self-taught developers with mock interviews to prepare them for their journey into the industry.
Here my 2 cents about how to prepare yourself effectively for non-technical interviews as a self-taught developer.

Getting to the interview

The first step is always the hardest. While much depends to you, sometimes it comes down to luck.

I talked about this subject in another article: Yet another article on the first dev job the TL;DR of it is:

  • make sure you know enough to make a meaningful contribution.
  • Know your value and your limits.
  • Make sure to check the company you are…

Reflections one year after getting my dream job

Home — Valencia, Spain

On 28th April 2017, I woke up around 9 am, checked the phone for notifications, as I do every morning, and in the spam of “Happy Birthday” messages there was an email, from the company I dreamed of working for — Prezly just hired me as remote JavaScript developer.

It has been almost a year from that day, I want to go back and reflect on how my life changed since that day, because it has changed a lot.

Returning to that day of my 25th birthday, during dinner with my mother, sister and a couple of friends, I announced…

I did it for 2017 and it was the best choice I’ve made that year

Random sign I liked in Leuven — Belgium

100 Days of Code is a challenge invented by Alexander Kallaway, it is quite simple:

  • Code a minimum of one hour every day for 100 days.
  • Log your progress by forking the official GitHub repository.
  • Share your progress on twitter daily.


My main goal with this challenge was to solidify my habit of coding every day, even when I did not want or did not “have time”. After all, I had my dozen followers on twitter rooting for me, I couldn’t let them down!

One side effect of coding every day is that your GitHub profile (if you push your…

Francesco Agnoletto

Javascript developer @streamroot

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