About Me
I'm a full stack developer working mainly in Typescript , Rust and Golang . I also know React and React Native .
I assumed the role of tech leader multiple times, consistently delving into the coding details of our projects and actively leveraging my expertise to ensure their success.
I worked for 8 years at Vonage (part of Ericsson), Developing the Conversation API which is a SAAS software used by several prominent software companies. More specifically is a REST API providing a multichannel real-time communication.
Working at the conversation API I've learned a lot about how to deal with microservices, distributed systems, real-time communication, multi master db's like Couchbase and the WebRTC standard.
This also involved a deep involvement in the infrastructure management, using AWS , Nomad , Kubernetes ,Docker and monitoring tools such as Grafana , Kibana , Elasticsearch and Prometheus .
I've also worked with React . A crucial aspect of my job is developing demo apps to showcase the potential of the Conversation API. We typically do This with React.js and we have created the Conversation API React SDK.
Over time, my fascination with Rust has deepened significantly. I've not only integrated it into our workplace but also actively contributed to the Webrtc.rs project.
I occasionally write about software-related topics in my tech blog, Casual Programming.
Skills
Javascript | Typescript | Node.js | React | React Native | Rust | AWS | Remix.run | Docker | Kubernetes | Distributed Systems | Next.js | REST API Design | Expo | WebRTC | Couchbase | Socket.io | Golang | Postgres
Experience
Fullstack Developer at Tractable.ai - April 2024
At Tractable.ai, I led the design and implementation of a reusable Design System for the company’s three main products using React, TypeScript,Tailwind, Radix UI, andStorybook.
My role included setting up a CI/CD pipeline and deploying Storybook on Kubernetes, while closely collaborating with the design team to ensure alignment with the company’s visual language.
I was also involved in 2 different projects, based on React , Remix, Node.js,Postgres and Drizzle. I also structured a Turborepo monorepo for streamlined code management.
Additionally, I contributed to the development of a new flagship product, handling both frontend and backend features and establishing a modular monorepo for unified app architecture.
Achievements:
- Designed and implemented a comprehensive Design System, working closely with design and product teams to ensure alignment with the company’s visual language.
- Built a CI/CD pipeline for the Design System and Storybook, deploying Storybook on Kubernetes.
- Established a Turborepo monorepo for the Design System to optimize code management.
- Created a unified monorepo for the new app, integrating both frontend and backend code in a modular monolith structure.
- Led the development and coordination of an entire section for the company’s new flagship product.
Tech Leader at Vonage (part of Ericsson) - Jannuary 2018, Jannuary 2024
I was promoted to Technical Team Leader to lead the team behind the Conversation API and the Clients SDKs (JS | Android | iOS ).
As a team leader, I spearheaded the design and execution of real-time communication solutions, scaled mission-critical databases, and designed REST APIs and SDKs, all within the context of a SAAS platform serving prominent software companies.
Given the unique nature of our business and customer base (our clients are developers), business decisions are intricately intertwined with architectural decisions and vice versa.
This required me to work very closely with the product team and be a key contributor to the tech strategy and business direction of the project.
This role demanded close collaboration with various teams, including SRE (Site Reliability Engineering), Devrel (Developer Relations), Tech Support, and Presales.
As a team leader, I often extended my collaboration to working directly with our customers' development teams, pairing up to help them design and optimize their solutions. I Worked in a cross-functional team of 40 engineers, direclty leading 10 of them, working across the full SDLC.
I also Worked in an higly flexible Agile Kanban process, with a strong focus on continuous delivery and continuous improvement.
Personal achievement:
- Designed and led the implementation of integrating the IM channels (SMS, Facebook, Whatsapp) with the Conversation API.
- Designed and led the implementation of increasing the allowed participants in a conversation from 20 to 3000.
- Fixed security vulnerabilities on both our Docker images and our Node.js code.
- Designed and led the implementation of the React SDK.
- Personally implemented several example application of how to use the Conversation API, using React, Next.js, Docker and Fly.io.
- Participate in the Design and effort of the system migration from Cloudflare to AWS and Nomad/Kubernetes.
- Designed and implemented metrics and kibana dashboard used to monitor the api in order to reduce MTTR and MTTR during incidents.
- Designed and led the implementation of the new Cross Platform SDK (JS | Android | iOS). Using a flux architecture.
- Designed and led the implementation of Cross Platform SDK Testing Strategy.
Node.js API developer at Nexmo (a Vonage company) - November 2016, December 2017
I was Hired as a Node.js developer to work on the Conversation API And the Javascript Client SDK.The api was a POC with some onboarded customers, I was the first senior developer working on it, and I was responsible for scaling the api.
Personal achievement:
- introduced test driven development in the team. I wrote the first test and I lead the effort of moving the code coverage from 0 to 80%.
- implemented the in-app voice feature on the backend. working very closely with the client SDK team and the voice experts.
- implemented the designe and lead the effort of redusinng the response time of the api from 1.5s to 300ms.
Senior Front End Developer at Workdigital (a DHI company) - November 2014, November 2016
I was Hired as Senior Frontend developer at Workdigital, a fast-growing start up based in London.
Personal achievement:
- I've introduced React in the company, Implementing from scratch An internal portal.
- I've designed and Implementing E2E tests inside the company using Nightwatch.js .
Fullstack Developer as Freelencer - Jannuary 2014, October 2014
I built a geolocated chat called CityClub.tv as a JavaScript full-stack developer using NodeJS, socket.io, and AngularJS.
Team Leader at Usablenet - August 2010, May 2012
As a team leader, I balanced the workload of a team of developers. Despite this, I carried out the normal duties of a coder, developing web interfaces for mobile devices using JavaScript, CSS, XHTML, HTML5, and XTML, paying particular attention to browser interoperability. I also developed REST APIs using proprietary tools.
Web Developer at Usablenet - May 2012, October 2014
As a mobile web developer, I deployed mobile websites for big brands such as Aetna and Carmax using a proprietary platform based on XSLT and JavaScript.
Software Engineer at Digitalapes - May 2012, October 2014
I co-founded Digitalapes, a startup company dedicated to the development of a mobile geo-localized community for smart-phone users. My main responsibilities were the design and the development of websites using GTW framework, executing smoke tests and writing cross-compiling for GCC compiler guides.
Python Web Developer as Contractor at University of Udine - July 2006, August 2006
For my bachelor thesis I've helped to deploy an e-government portal developed by the University of Udine for some little town on Friuli Venezia Giulia. After this, I've worked a little bit as contractor in order to fix bugs and fulfil change requests in the post sale phase. Technologies involved in this project were Plone and Zope
Projects I've Contributed To
Conversation API
The Conversation API enables you to build conversation features where communication can take place across multiple mediums including IP Messaging, PSTN Voice, SMS and WebRTC Audio and Video.
Client SDK JS
Vonage Client SDK allows you to build Programmable Conversation applications.
A Contact Center example app
An example of how to implement a very simple contact center. Customer would interract with it via SMS or facebook page, agents would respond using the browser
A Multichannel chat app
A DYI slack like app, where you can use inapp voice, pstn voice, chat, facebook message, whatsapp and sms. You can also "talk" with openai
Conversation API React SDK (experimental)
An experimental Conversation API React SDK. It's a set of React widget and tools that allows customers to quickly Integrate chat and voice in their applications.
Cadoo
Cadoo was a game we did in 48 hours of straight code at the Nordic Game Jam 2014
Education
Bachelor's degree in Computer Science, Web Information Technologies at Università degli Studi di Udine - 2002, 2006
I studied Computer Science, the curriculum I chose was Web Information Technology. My thesis made me implement a web e-government portal using Python, Plone and Zope