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
About
Born and raised in Biella, a small town near Turin, but settled in Novara for a few years now. I've been building web applications for (2*8 - 1) years out of passion and, well, to buy food and other things useful for.. living!
When not at the keyboard, I am a volleyball player (sooner or later I'll end up coaching?) 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!
Experience
Senior Software Developer
Freelance
Custom web applications for businesses across many industries — from real-time platforms and 3D product viewers to internal tools, data crawlers, and learning systems (LMS). Built on Ruby on Rails, with full ownership from the backend to the servers they run on.
Training Tutor
Develhope
Co-tutored a cohort of junior developers through JavaScript, TypeScript, Node.js, and relational databases.
Senior Dev / Tech Lead
SignalWire Inc
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.
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.
How I work
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, the implementation phase begins. I like to release something new every one to two weeks (no endless waiting 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.
Stack
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
Let's work together
Got a project in mind or just want to say hello?
Drop me a message!