🇮🇹 Rails Developer
Development loop: Idea → Analyze → code → Ship → Feedback → Iterate → Analyze Idea Analyze <code> Ship Feedback Iterate
"Done is better than perfect"

Shipping working software, getting real feedback, and iterating beats waiting for perfect code that never reaches users.
I like building things that work, writing code I'm proud of, and shipping software that's actually useful to people.

..well, there's some code I'm not _very_ proud of out there.. but no one knows where it is! :P

I'm a developer based in the north of Italy and I build web applications end to end.
I've been doing this for (2*8 - 1) years for pleasure and, well, to buy food and other things like.. live!

When not at the keyboard, I am a volleyball player (might be a coach in the future?) and I spend my free time getting lost in the mountains with my wife and our dog Pizza.. the most demanding code reviewer I've ever met!

08/2017 - now

Freelance Senior Developer

Independent

Building Ruby on Rails apps, real-time platforms (WebRTC, FreeSWITCH), 3D viewers (Three.js), crawlers, PWAs, and LMS systems. Full ownership from backend to infrastructure across a range of industries and tech stacks.

05/2024 - 06/2024

Training Tutor

Develhope

Co-tutored a cohort of junior developers through JavaScript, TypeScript, Node.js, and relational databases.

07/2018 - 10/2023

Senior Dev / Team Lead

SignalWire

Led the development of the WebRTC and realtime SDKs (TypeScript, Node.js, Ruby, PHP, Python) from scratch, holding deep knowledge on the WebRTC end-to-end stack. Grew and led a team of 3 engineers. Shipped a Zoom-like remote office app and a low-code Web Component library for video conferencing.

06/2011 - 08/2017

Web Developer

SoftPlace srl

First years as a full-stack developer — Ruby on Rails, PHP, database design, mobile apps (Cordova/Ionic), TravelPort APIs, ElasticSearch, deduplication engine, web crawlers, and team lead responsibilities.

The loop at the top represents how I work daily.

Start with a conversation

Before writing a single line of code I want to understand the problem, the constraints, and what the end result should do. I'll come back with a clear picture of how I'd approach it before coding.

Ship early and often

When we're aligned, I start coding. You'd expect a release every one to two weeks (no waiting until the end of the project to see results). Each release is something you can use, test, and give feedback on.

One person, end to end

From database schema to deployment pipeline, I keep everything under one roof. You have one person to talk to, one person responsible for the outcome.

We iterate

After each release we go again, same loop. Validate what's there, adjust priorities if needed, build the next slice. The product gets better every cycle and we're in control.

I'm honest about tradeoffs

If a simpler solution exists, I'll tell you. If a deadline is unrealistic, I'll say so early. I'd rather have an uncomfortable conversation upfront than a bigger problem later.

Core

Ruby on Rails
PostgreSQL
Hotwire / Turbo
Stimulus
Solid Queue / Sidekiq
WebSocket

Frontend

Tailwind CSS
ViewComponent
ERB / Slim
Web Components
Vanilla JS
React (when needed)

Worked with

WebRTC
Stencil
Three.js
Redis
Elasticsearch
TypeScript

Infrastructure

Kamal
Nginx
Linux / VPS
OpenTelemetry
SigNoz

Integrations

OAuth / OmniAuth
Stripe
Telegram
WhatsApp
Intervals.icu

Workflow

Git / GitHub
CI / CD
Docker
TDD
SOLID / Clean Code

Got a project in mind or just want to say hello?
Drop me a message!