Alberto Rico

I turn data into websites

I'm a full-stack developer focused on data dashboards and geospatial displaying of KPIs, fond of design and UX for the web, mobile and desktop.

Alberto Rico

About me

I'm Alberto Rico Ibáñez. I was born in 1988 in Madrid, Spain

I've been coding websites since before I even had an internet connection. Since then, I've been studying and keeping up to date with many front end technologies, building projects both for work and for fun, many of them available on my Github repository.

I'm very fond of UX and designing with the end-user in mind, making their jobs or their use of my websites faster and easier. I've even designed some assets such as logos and icons for the companies I've worked in.

Even though I focus on Javascript and HTML, I keep trying and learning other programming languages such as Python and Swift. Coding and designing is my passion, no matter how. It's all about the resulting product.

I'm currently working for Weplan Analytics, a Big Data startup based in Madrid, where I'm the Lead Full-Stack developer and designer. In my job, in addition to coding, I manage a team of three, and collaborate closely with data scientists, DevOps, and marketing teams.

Front-end skills

My focus as a developer is mainly on browser based websites and webapps, ranging from static "corporate" websites to fully modular dashboards.

I've specialized in data visualization techniques and tooling and KPI dashboards, building advanced and performant map related visualizations, turning "boring" JSON data into useful graphs and maps.

In my day to day I use many technologies, frameworks and libraries both open source and commercial, and build my own as the projects need them. Some of the front-end technologies I'm most familiar with are the following:

Javascript
Javascript
My day to day programming language, for frontend and backend
Typescript
Typescript
To create well-documented library packages and programming End-to-end typesafe APIs
HTML5
HTML5
I take advantage of many HTML5 APIs for browsers and use semantic tags
CSS3
CSS3
Taking advantage of modern flexbox utilities and multiple CSS3 enabled capabilities
SCSS
SCSS
CSS but cleaner and more powerful with use of imports and variables
jQuery
jQuery
For oldschool projects without an MVC framework, I've been using jQuery from the start
Bootstrap
Bootstrap
CSS framework that I use as base for many projects, building upon it.
Highcharts
Highcharts
For graphic representation of KPIs, powerful library that I use day to day
LeafletJS
LeafletJS
The best open source mapping library. I built custom layers and elements on top of it for my use cases
Mapbox / MapLibre
Mapbox / MapLibre
The power of Leaflet enhanced with WebGL rendering. Great for 3D mapping
DeckGL
DeckGL
WebGL enabled data viz, used for 3D mapping. Handles lots of data
Pug
Pug
Powerful and clean templating engine that uses JS for conditional rendering, imports and more

I started using MVC frameworks with AngularJS (Angular 1). Some time after I started looking at React, but I finally focused on VueJS, due to its powerful capabilities and its wonderful performance. My knowledge in Vue extends to all its ecosystem:

Vue
Vue
The MVC framework for most of my projects, fast, fun and powerful, both versions 2 and 3
Nuxt
Nuxt
To create fullstack and performant Vue apps with Server-Side Rendering with great DX
Pinia
Pinia
The easiest way to use stores with great Composition API support
Vuex
Vuex
To create stores in older projects with Vue 2

You can check some of my front end projects by going to the Web projects tab. I'll add more soon, as I never stop building sites!

I've created some NPM packages, in order to better maintain Javascript ES6 code shared by multiple projects (even for NodeJS, not just for browsers), and to contribute to Open Source and help whoever might find what I coded useful. You can check some of them in the Packages tab.

Back-end skills / tooling

Coding in Javascript has allowed me to delve in back-end tasks such as:

  • Building servers
  • Coding scripts
  • Web scraping
  • Building CLI tools

These are some of the frameworks and tooling I use as I build backend microservices or servers, both for Docker or for serverless Lambdas:

NodeJS
NodeJS
My runtime of choice for out-of-the-browser projects, servers or scripts
Express
Express
Framework that I use to build most web applications with as a backend
Nitro
Nitro
The TypeScript framework to build ultra-fast web servers I use for APIs
TRPC
TRPC
Through TRPC-OpenAPI, my preferred way to create type-safe and well-documented APIs
Gulp
Gulp
As my toolkit for tasks automation such as building JS, CSS, etc
Docker
Docker
To deploy projects as containers using Docker and docker-compose
Serverless
Serverless
For projects running as Serverless applications (AWS Lambdas)
Webpack
Webpack
For building and transpiling Javascript code, I use Webpack day to day

Furthermore, I've taken certified courses on database management and querying, as part of my training in the MEVN stack (MongoDB, Express, Vue and Node). As part of this training, I gained knowledge and experience in:

  • Managing and deploying a database using Docker or natively
  • CRUD operations
  • Maintenance scripting
  • Better indexing and performance strategies
  • Aggregating, big data computing directly on DB

Since then, I've expanded my use to SQL databases. Some DBs I use on a day-to-day basis are:

MongoDB
MongoDB
The NoSQL database I use, both through ORMs such as Mongoose, or directly using the Native Drivers
PostgreSQL
PostgreSQL
For its performance and GIS capabilities, the best SQL db, used via TypeORM or Prisma
Redis
Redis
For fast caching purposes, a great database that I use for auth, and much more
AWS Athena
AWS Athena
For Big Data queries, handling GBs of data in seconds, contributing to a NodeJS library

Desktop apps / Mobile apps

Fantastic Javascript frameworks such as React Native or Electron have enabled me to code software for desktops (Windows, macOS and linux) and for mobile, mainly Android and iOS. With my knowledge of both front end and backend, I've designed powerful apps that take advantage of the power of the desktop and access to file system.

The tools I've worked with are mainly:

Electron
Electron
For desktop apps, making them as performant and native-looking as possible
React Native
React Native
For mobile apps, taking advantage of the full React Native ecosystem and capabilities
Vue Native
Vue Native
Vue library that compiles to React Native, for its ease of use compared to React syntax
Expo
Expo
To easily deploy and distribute React Native apps, as well as using Expo's SDK features

Get in touch

You can check my online dev presence and contact me in the contact tab. I'd love to hear from you!