>_ stefano@bono:~$
home

Hi, I'm Stefano

Software Engineer // Tech Lead // Indie Maker

Software engineer with 12+ years of experience, currently leading a development team in Switzerland. I enjoy solving complex problems, designing reliable systems, and building things that people actually use.

Outside of work, I explore my own ideas, experiment with new technologies, and turn some of them into real products.

#12+ years in software #Tech Lead & hands-on developer #building with AI #self-hosted k3s
zsh — 80x18
visitor@steebono:~$ whoami
stefano-bono

visitor@steebono:~$ cat about/profile.json
Software Engineer & Tech Lead, 12y exp. Lives in Italy, works in Switzerland
Currently shipping: Dosly, Yelly, h00k.dev

visitor@steebono:~$ kubectl get nodes -o wide
NAME            ROLE      STATUS
k3s-cp-fsn1     control   Ready
k3s-cp-nbg1     control   Ready
k3s-cp-hel1     control   Ready
k3s-agent-app   app       Ready
k3s-agent-db    database  Ready

visitor@steebono:~$ echo $STATUS
"building, learning, and sharing"
01 — work

What I do.

I'm a hands-on Tech Lead, working with a team of developers to design, build, and evolve software solutions.

My role combines technical leadership, software architecture, and problem-solving. I help the team make informed decisions, navigate technical challenges, and turn complex requirements into reliable, maintainable software.

I enjoy sharing knowledge, helping developers grow, and making technical decisions together. And while my responsibilities go beyond writing code, I'm always happy to roll up my sleeves and jump in when needed.

Architecture & engineering

Designing systems, evaluating trade-offs, making technical decisions, and keeping long-term maintainability in mind.

Team & collaboration

Supporting developers, reviewing code, sharing knowledge, and working with stakeholders to turn requirements into practical solutions.

Delivery & operations

Helping projects move from planning to production, with attention to cloud infrastructure, deployment processes, reliability, and continuous improvement.

I believe good software comes from a balance of thoughtful engineering, clear communication, and people working well together.

02 — projects

What I'm building.

Outside of work, I enjoy turning ideas into experiments, useful tools, and sometimes complete products.

AI has changed the way I build software. Combined with over 12 years of engineering experience, it helps me turn ideas into working products faster than ever, while keeping architecture, reliability, and maintainability in focus.

AI speeds things up, but the technical decisions, code reviews, and responsibility for what ships are still mine.

LIVE 01 / Mobile

Dosly

A medication reminder and health tracking app designed to make daily routines easier, with support for caregivers and the people they look after.

.NETExpoReact NativeSignalRPostgreSQLDocker500+ Users
Open Dosly ↗
IN_REVIEW 02 / Mobile

Yelly

Interactive bedtime stories for kids, with AI-generated adventures, personalization, and a realtime backend that brings everything together.

.NETExpoReact NativeSignalRPostgreSQLDockerOpenAI
Open Yelly ↗
SHIPPED 03 / Open source

AirPlay Receiver

An open-source exploration of Apple's AirPlay protocol, audio and screen mirroring, built through reverse engineering, experimentation, and a lot of curiosity.

C# / .NETC++Protocol245 StarsOpen Source
View on GitHub ↗
03 — infrastructure

How it's hosted.

One of the things I enjoy about building personal projects is managing the entire journey from code to production. I run a self-hosted k3s cluster on Hetzner, spread across three EU regions, where I experiment with Kubernetes, automation, and deployment strategies.

I like understanding how the pieces fit together and finding ways to keep things reliable without adding unnecessary complexity. Below is an interactive simulation of my setup, from an incoming request to an automated deployment and Kubernetes rolling update.

One of the things I enjoy about building personal projects is managing the entire journey from code to production. I run a self-hosted k3s cluster on Hetzner, spread across three EU regions, where I experiment with Kubernetes, automation, and deployment strategies.

Kubernetes / k3s Hetzner Cloud Traefik CI/CD Rolling deployments Observability

# For the full interactive experience, including live cluster topology and rollout animation, check out this section on desktop.

cluster-topology.yaml VPN-ONLY MANAGEMENT · SIMULATED
Animated logical topology of a self-hosted k3s cluster Cloudflare feeds a load balancer and Traefik, which routes traffic to an application node. Control-plane nodes coordinate workloads. An application node communicates with a data node that represents stateful workloads. Three control-plane nodes are arranged vertically. A standalone CD server outside k3s reaches the private Kubernetes API over the same VPN using least-privilege RBAC; CI runs on GitHub. Applications communicate with external services. Animated lines represent illustrative traffic, not live measurements. PRIVATE VPN · ADMIN / K8S API ACCESS ONLY K3S CLUSTER · PRIVATE NODES CONTROL PLANE · 3 NODES WORKER NODES STANDALONE SERVER · NOT IN K3S Cloudflare DNS · WAF · proxy Load balancer public HTTPS entry Traefik ingress · workloads CP 1 k3s · control CP 2 k3s · control CP 3 k3s · control Application node application workloads Data node stateful workloads CD runner deploy only · VPN External services identity · metrics · APIs
$ ./deploy.sh
git push main branch Build & push GitHub → GHCR Approval gate Telegram bot Deploy self-hosted runner Rollout kubectl apply
$ watch kubectl get pods2 / 2 ready
deployment / api · replicas: 2 · maxSurge: 1 · maxUnavailable: 0 v1-a v1 Ready serving traffic v1-b v1 Ready serving traffic v2-a v2 Ready serving traffic v2-b v2 Ready serving traffic
zsh — deployment session
visitor@steebono:~$ git push origin main
Waiting for pipeline…
SIMULATION · NOT LIVE INFRASTRUCTURE

A simplified look at the automation and infrastructure behind my personal projects. The animation is simulated, but the architecture reflects my actual setup.

04 — profile

A little about me.

Stefano riding a horse on the beach
stefano@bono
Yes, that's me on a horse. Probably on vacation.

I'm Stefano, a software engineer living in Italy and working in Switzerland. After 12+ years in software development, I'm still as curious about how things work as when I started.

I enjoy solving problems, learning new things, and exploring technologies beyond what I use in my day-to-day work. Building personal projects gives me the freedom to experiment, make mistakes, and try ideas just for the fun of it.

And there's more to life than code: traveling, beach volleyball, padel, probably too much One Piece, and the occasional horseback ride when I'm on vacation.

building, learning, and sharing
#lives in Italy#works in Switzerland#horseback riding (on vacation)#one piece fan#traveling#beach volleyball#padel
Find me on GitHub ↗
05 — tools

My stack

Tools and technologies I've worked with over the years, both professionally and through personal projects. Some are part of my daily work, while others are things I've explored out of curiosity.

ai & tooling
OpenAI APIGemini APIn8nClaude CodeGitHub Copilot
frontend
ReactReact NativeExpoTypeScriptAstroTailwind CSS
backend
C# / .NETNode.jsREST APIsWorkersServerless
data
MsSQLMySQLPostgreSQLSQLiteRedisMongoDBSolRElasticSearch
messaging & realtime
RabbitMQAzure Service BusSignalRWebSockets
infra & devops
Microsoft AzureKubernetesDockerTraefikGitHub ActionsAzure DevOps
observability
Application InsightsOpenTelemetryPostHogSentry
integrations & platforms
Microsoft Dynamics 365HubSpotBentoAuth0RevenueCatStripePostFinance
06 — contact

Let's talk.

Always happy to connect with people who enjoy technology, building things, and exchanging ideas. Whether it's a technical discussion, an interesting project, or just a quick hello, feel free to reach out.