My Resumé

Believe it or not, I've been up to quite a bit over the years. Here's a more detailed account of my professional journey than what you might find on LinkedIn.

For some reason, PDFs are still all the rage for resumés, so here's where you can get mine.

Download PDF
Education

Ph.D. in Information Engineering

2011 to 2015, Università degli Studi di Padova, Italy

Master's Degree in Information Engineering

2007 to 2009, Università degli Studi di Padova, Italy

Bachelor's Degree in Information Engineering

2002 to 2007, Università degli Studi di Padova, Italy

Experience

Principal Software Engineer - Freelance

Since January 2024 - Remote and in Berlin, Germany

Cannot say much as I've signed an NDA, but I'm working on a TV app project in React Native. In this role, I'm training engineers new to the technology, reviewing PRs, organizing pair programming sessions and workshops, and sharing my knowledge of the React Native world. I also write code, primarily to improve the Developer Experience and to help build better processes, with a focus on performance and testing.

Skills used: React Native, TypeScript, JavaScript, Playwright, GitHub Actions, ESlint

Senior Frontend Developer at JustWatch

From February 2021 to March 2024 - Remote and in Berlin, Germany

JustWatch is one of the largest streaming guides in the world, helping millions of users each month find what to watch and where. I rewrote their mobile apps from scratch in React Native and led the mobile team for about a year.

To support the new app, I built a new Design System and Component Library using Storybook. An in-depth analysis of how these were developed from a designer's perspective is available on Clara's website, and you can watch my talk at the React Native Berlin Meetup about this topic. I also created an interesting little React + Node.js based tool to proxy Snowplow events using Websockets so that they can be inspected from a Desktop browser, even when sent from mobile devices.

Before that, I revamped their TV apps, also using React Native, migrating the codebase to TypeScript and enhancing performance. This upgrade made it possible for the apps to run on lower-end Android TV sticks, as well as on Samsung and LG TVs. I developed a "Play on TV" feature that connects the TV Apps with the older Vue-based mobile apps. This feature was later ported to the new apps as well, and uses either Google Cast or the SSDP protocol (for Roku devices), with a fallback to GraphQL Subscription-based Websockets for broader compatibility.

Skills used: React Native, React, TypeScript, JavaScript, Java, Swift, ObjectiveC, GraphQL, Cypress, Figma, Storybook, Team Leading, Product Ownership

Senior FullStack Developer at URBI

From March 2017 to February 2021 - Berlin, Germany

URBI is a shared mobility aggregator that guides its users through the maze of car, scooter, and bike-sharing offerings in their cities. I initially worked on the Spring Boot-based backend and later transitioned to rewriting their mobile apps from scratch in React Native. Additionally, I developed a B2B dashboard using React for the frontend and Spring Boot + Kotlin for the backend. I also created a React Native prototype for a digital wallet app designed to manage driving license validation on the Ethereum blockchain.

Skills used: React Native, React, Node.js, TypeScript, JavaScript, Java, Kotlin, Spring, Spring Boot, Redis, Postgres,

FullStack Developer - Freelance

From July 2016 to March 2017 - Remote and in Veneto, Italy

I developed a full-stack application using React and Flask to interconnect multiple monitoring systems—such as sensors, cameras, variable message signs, traffic lights, and weather stations—into a single administrative interface. Due to an NDA, I cannot disclose the name of the company for which I completed this project. The application was used, and possibly still is, to manage a section of Italy's highway infrastructure.

Skills used: React, JavaScript, Python, Flask, SQLAlchemy, Socket.IO, Celery, Postgres, SCADA

Cofounder at SketchTogether

From January 2014 to December 2023 - Remote and in Orange County, California

SketchTogether was a real-time collaborative whiteboard designed to help teams quickly jot down ideas, with a focus on minimizing mode-switching as much as possible. Users could circle parts of their sketches to quickly select elements, move them around, clone, or edit them.

Despite a loyal user base that allowed us to keep SketchTogether afloat after shifting our focus away from it in 2017, we decided to sunset the product in December 2023. This decision was due to the availability of more modern apps and our lack of resources to invest in the project.

I developed the Java backend application, managed the infrastructure on Google Cloud, and designed the web app, which was implemented in AngularJS by the other co-founder. I also contributed to the web development later on and added some Python microservices to support new features.

Skills used: Java, JavaScript, Python, Bash, Lua, Vertx, AngularJS, Protocol Buffers, Redis, Postgres, Nginx, Sysadmin, Devops

PhD Student at Università di Padova

From January 2011 to April 2015 - Padova, Italy (and Irvine, California)

I initially worked on setting up a 16-node cluster based on high-end desktops connected by 10G-Ethernet, developing an administrative tool based on Gluster. I met with several scientists from the Engineering, Physics, and Astrophysics fields and helped them learn how to run their computational heavy tasks on this new cluster.

Since the project was struggling to take off, I completely changed the subject of my thesis to developing an Android tablets-based solution for dermatologists to organize their skin lesions mapping sessions. Together with dermatologists from the Univeristy of Padova, we came up with a novel streamlined process to speed up and standardize their current practice, now supported by a new Android app I built with 3 other grad students.

During my PhD, I spent 4 months at University of California, Irvine, where I worked on an Android prototype for Calico, a sketch-based design environment that we later on took as theoretical basis for SketchTogether, the startup I co-founded with the PhD student that was leading the project.

Skills used: Java, Python, Bash, Android, Sysadmin

Security Consultant at Reply

From November 2009 to December 2010 - Bergamo, Italy

I worked as a Sysadmin with development benefits at UBI, an Italian banking and financial group. There, I developed monitoring tools to ensure the smooth operation of their IBM-based Identity and Access Management infrastructure. Additionally, I created a Vaadin-based web application to manage the setup of internal web applications.

Skills used: Sysadmin, Bash, Python, Java, JavaScript, Postgres, MySQL
Skills
  • TypeScript
  • JavaScript
  • Python
  • Java
  • Kotlin
  • Bash
  • Some Lua
  • Some Swift
  • Some ObjectiveC
  • React Native
  • React
  • Some Svelte
  • Spring
  • Spring Boot
  • UNIX Sysadmin
  • Some Devops
  • Redis
  • Postgres
  • MySQL
  • …and more