Bernat Martinez Vidal, Developer in Barcelona, Spain
Bernat is available for hire
Hire Bernat

Bernat Martinez Vidal

Verified Expert  in Engineering

Full-stack Developer

Barcelona, Spain

Toptal member since April 13, 2018

Bio

Bernat is a technology enthusiast with years of experience consulting in both big and small enterprises. He's passionate about what he does and is always willing to learn and take on new challenges. Bernat has a positive, can-do attitude and a clear understanding of his responsibilities and business goals.

Portfolio

Pharmaceutical Company
JavaScript, Node.js, React, GraphQL, Docker, PostgreSQL, Python, Neo4j...
Eleventh Labs
JavaScript, React, Firebase, Node.js, SVG, Memcached, Figma, ESLint, TSLint...
The Browser Company
JavaScript, Electron, Node.js, React, Redux, GraphQL, ESLint, TSLint...

Experience

  • JavaScript - 15 years
  • React - 6 years
  • Redux - 5 years
  • Node.js - 5 years
  • TypeScript - 5 years
  • Docker - 4 years
  • GraphQL - 2 years
  • Python - 2 years

Availability

Part-time

Preferred Environment

iOS, Windows, WebStorm, Visual Studio Code (VS Code), Git

The most amazing...

...thing I’ve developed is a real-time trader in the agricultural business with reactive extensions—and event sourcing in the server.

Work Experience

Full-stack Developer

2021 - 2023
Pharmaceutical Company
  • Developed an app that analyzes pharmaceutical drug genealogy and displays complex visualizations for them.
  • Architected and developed an app that manages pharmaceutical drugs materials, excipients, and manufacturing process, helps understand the supply chain, and keeps shared traceability to deal with recalls or failed tests for chemical of concern limits.
  • Developed an app that integrates multiple sources of structured and unstructured data (SAP, SQL, Neo4j, and user-delivered PDF) into a complex visualization, including geolocation and drug formulation.
Technologies: JavaScript, Node.js, React, GraphQL, Docker, PostgreSQL, Python, Neo4j, TypeScript, D3.js, Sass, SQL, Continuous Delivery (CD), Azure, REST, ESLint, TSLint, Domain-driven Design (DDD), Webpack, Continuous Integration (CI), Figma, Deep Learning, User Experience (UX), User Interface (UI), Express.js, Babel

Senior Software Developer

2020 - 2021
Eleventh Labs
  • Collaborated on building the product from the ground up through several iterations.
  • Started with fast iteration cycles and performance as the primary concern.
  • Took a broad spectrum of responsibilities and high autonomy to work as fast and reliably as possible on a small team of founders.
Technologies: JavaScript, React, Firebase, Node.js, SVG, Memcached, Figma, ESLint, TSLint, Full-stack, Sass, Continuous Integration (CI), Styled-components, User Experience (UX), User Interface (UI)

Senior Software Developer

2020 - 2020
The Browser Company
  • Contributed to the development of the 1st MVP for a new web browser using Electron with React and Redux.
  • Forked Electron and worked on our own version of it.
  • Implemented multiplayer real-time features using Node.js and WebSockets.
  • Helped build the foundation of the team that would come later, being part of a small, dedicated ex-FAANG team.
Technologies: JavaScript, Electron, Node.js, React, Redux, GraphQL, ESLint, TSLint, Full-stack, User Experience (UX), User Interface (UI), Babel

Senior Software Engineer

2018 - 2020
EY
  • Cooperated with EY to build a new application from the ground up to streamline the ingestion of data and the auditing process.
  • Served as a full-stack developer at EY using Node.js and TypeScript on the back end and ES7, React, and Redux on the UI. They both were my sole responsibility.
  • Collaborated with an agile team on integrating my work with other parts of the application and with other EY services.
  • Created continuous integration (CI) and continuous delivery (CD) pipelines using Docker Swarm and Azure.
  • Achieved all deadlines and expectations for the project.
Technologies: Azure, Docker, SQL, WebSockets, Git, Styled-components, TSLint, Webpack, Redux, React, TypeScript, JavaScript, ESLint, REST, PostgreSQL, Full-stack, Continuous Delivery (CD), Continuous Integration (CI), Figma, User Experience (UX), User Interface (UI), Express.js, Babel

Senior Software Engineer

2016 - 2018
ERNI
  • Collaborated in the development of a risk management system and a real-time trading system for an agribusiness company. We used event sourcing for time-tracking purposes, high availability, and to be fully auditable.
  • Created an Electron application with TypeScript and React using a DDD approach to the front-end. Communication with the server was done with RxJS over WebSockets.
  • Led the internal front-end community for ERNI and the open front-end community meetup at Barcelona. Spoke at a few of the sessions and cooperated with the other subject matter experts to help achieve better quality in the sessions.
  • Contributed to developing a back-office application to manage fees, prepayments, credit notes, and invoices. Used TypeScript with React and Redux.
  • Developed an app to create a catalog of applications on-demand, using Node.js, TypeScript, React, and Redux.
Technologies: EventStore, SQL, WebSockets, Git, Less, TSLint, Webpack, Domain-driven Design (DDD), Electron, Jest, RxJS, Redux, React, TypeScript, JavaScript, REST, PostgreSQL, User Interface (UI), HTML, Babel

Head of Development

2014 - 2016
Social Games Online (CIRSA)
  • Built the first MVP from scratch for an intra-entrepreneurial startup.
  • Spearheaded the development of newer versions of both a social gaming portal and its games in the gambling industry.
  • Collaborated in developing and designing slot machines mathematic algorithms, payment platforms, retention analysis and tools, gamification, KPI boards, and other decision enabling tools.
  • Developed and managed the progressive web app (PWA) for the project mentioned above that was meant to replace the responsive implementation of the portal. Technologies used were Node.js, ES7, React, and Redux.
  • Led the homologation process of the social games to a real-money environment, including adapting to different regions' legal constraints like algorithmic limitations, security issues, penetration tests, control features, and multi-tenants.
Technologies: MongoDB, REST, Less, Git, AngularJS, Webpack, Nightwatch.js, Jest, Phaser.io, ESLint, Node.js, ES7, Redux, React, JavaScript, PostgreSQL, User Experience (UX), User Interface (UI), HTML, Express.js, Babel

Senior Consultant

2012 - 2014
Consultia IT
  • Collaborated in developing a project for an important banking entity in Spain, a social network used to connect credit card users with multiple businesses with exclusive offers.
  • Integrated the above-mentioned social network with internal banking systems and multiple Google APIs, enabling all the everyday social interactions expected.
  • Supported the development of a project for an important banking entity in Spain: a social network used to engage with bank users who were also retired, enabling all the everyday social interactions expected.
  • Developed multiple libraries for internal use on many projects. These libraries defined the standard development of the front-end projects in the company. Used VanillaJS.
  • Built an online social Bingo for an important Spanish gambling corporation. Used JavaScript and CreateJS.
Technologies: SOAP, REST, Google APIs, Subversion (SVN), Git, SQL, PHP, jQuery, Node.js, JavaScript, PostgreSQL, User Interface (UI), HTML

Software Engineer

2006 - 2012
Parc de Salut Mar
  • Developed internal projects for educational and healthcare purposes, mainly small developments using LAMP (Linux, Apache, MySQL, and PHP) and JavaScript.
  • Created two different e-campuses using Moodle and its APIs to adapt to multiple needs.
  • Built a presence control system and a platform to register new internal and external formation courses with a selection process.
Technologies: SQL, Moodle, PHP, jQuery, JavaScript, User Interface (UI), HTML

The Game

https://github.com/bernatmv/thegame
An online multiplayer game that was built using TypeScript, React, Redux, RxJS, WebSockets, and Java (Java not done by me).

A TEA Example

https://github.com/bernatmv/the-elm-architecture-example
An implementation of TEA (The Elm Architecture) using JavaScript (obviously without any Redux or any other Flux or otherwise state management library) and React.

A Small Node.js DDD Approach with TypeScript

https://github.com/bernatmv/node-ddd-example
An approach to DDD using Node.js with TypeScript, a very small application.

Material for a Webpack 2 Meetup

https://github.com/bernatmv/webpack-2-workshop-material
I have been the leader of the Open Frontend Community meetup in Barcelona for almost a year. This is the material for one of the sessions where I was the speaker.

Open Front-end Community: https://www.meetup.com/frontend-barcelona/
2020 - 2020

Post-graduate Degree in Artificial Intelligence with Deep Learning

Polytechnic University of Catalonia | UPC - Barcelona, Spain

2015 - 2017

Master's Degree in Business Innovation

Polytechnic University of Catalonia | UPC - Barcelona, Spain

1998 - 2002

Bachelor's Degree in Computer Science

La Salle University, Barcelona Campus - Barcelona, Spain

Libraries/APIs

Node.js, React, RxJS, jQuery, Google APIs, Nightwatch.js, MobX, Vue, CreateJS, D3.js

Tools

Webpack, Jira, Babel, Git, WebStorm, Subversion (SVN), Moodle, Cucumber, Figma

Languages

JavaScript, TypeScript, CSS, HTML, SQL, Sass, Less, Python, ES7, PHP, Elm, GraphQL

Frameworks

Redux, Express.js, Phaser.io, Electron, React Native, Jest, AngularJS, React VR, Unity3D, Angular

Paradigms

REST, Service-oriented Architecture (SOA), Functional Programming, Event Sourcing, Continuous Integration (CI), Continuous Delivery (CD)

Platforms

Docker, Visual Studio Code (VS Code), Azure, iOS, Heroku, Windows, Linux, Firebase

Storage

MongoDB, PostgreSQL, EventStore, Memcached, Neo4j

Other

Full-stack, User Experience (UX), User Interface (UI), ESLint, TSLint, Domain-driven Design (DDD), Elm Architecture, SOAP, Styled-components, WebSockets, SVG, Computer Science, Business, Innovation, Deep Learning

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring