Creo applicazioni web moderne e strumenti digitali personalizzati per aiutare le attività a crescere attraverso l'innovazione tecnologica. La mia passione è unire informatica ed economia per generare valore reale.
La mia passione per l'informatica è nata tra i banchi dell'Istituto Tecnico Commerciale di Maglie, dove ho scoperto il potere della programmazione e il fascino di creare soluzioni digitali. Fin da subito, ho capito che l'informatica non era solo codice, ma uno strumento straordinario per trasformare idee in realtà.
Durante gli studi superiori in Sistemi Informativi Aziendali, ho iniziato a intrecciare informatica ed economia, comprendendo come la tecnologia possa essere il motore della crescita per qualsiasi attività. Questa visione mi ha accompagnato all'Università degli Studi di Bari, dove ho conseguito la Laurea in Informatica, approfondendo le mie competenze tecniche e la mia passione per lo sviluppo software.
Oggi metto questa esperienza al servizio di imprese, professionisti e startup, creando soluzioni digitali su misura che automatizzano processi, ottimizzano risorse e aprono nuove opportunità di business. Perché la vera innovazione inizia quando la tecnologia incontra le esigenze reali delle persone.
Le Mie Competenze
Analisi Dati & Modelli Previsionali
Trasformo i dati in insights strategici con analisi approfondite e modelli predittivi per decisioni informate
Automazione Processi
Creo strumenti personalizzati che automatizzano operazioni ripetitive e liberano tempo per attività a valore aggiunto
Sistemi Custom
Sviluppo sistemi software su misura, dalle integrazioni tra piattaforme alle dashboard personalizzate
Credo fermamente che l'informatica sia lo strumento più potente per trasformare le idee in realtà e migliorare la vita delle persone.
🚀
Democratizzare la Tecnologia
La mia missione è rendere l'informatica accessibile a tutti: dalle piccole imprese locali alle startup innovative, fino ai professionisti che vogliono digitalizzare la propria attività. Ogni realtà merita di sfruttare le potenzialità del digitale.
💡
Unire Informatica ed Economia
Non è solo questione di scrivere codice: è capire come la tecnologia possa generare valore reale. Intrecciando competenze informatiche e visione economica, aiuto le attività a crescere, ottimizzare processi e raggiungere nuovi traguardi di efficienza e redditività.
🎯
Creare Soluzioni su Misura
Ogni attività è unica, e così devono esserlo le soluzioni. Sviluppo strumenti personalizzati che rispondono alle esigenze specifiche di ciascun cliente, automatizzando processi ripetitivi e liberando tempo per ciò che conta davvero: far crescere il business.
Trasforma la Tua Attività con la Tecnologia
Che tu gestisca un negozio, uno studio professionale o un'azienda, posso aiutarti a sfruttare le potenzialità dell'informatica per lavorare meglio, più velocemente e in modo più intelligente.
Il mio percorso accademico e le tecnologie che padroneggio
Certificazioni Professionali
8 certificazioni conseguite
Nuovo
Visualizza
Reinvention With Agentic AI Learning Program
Anthropic
Dicembre 2024
Nuovo
Visualizza
Agentic AI Fluency
Anthropic
Dicembre 2024
Nuovo
Visualizza
AI Fluency for Students
Anthropic
Dicembre 2024
Nuovo
Visualizza
AI Fluency: Framework and Foundations
Anthropic
Dicembre 2024
Nuovo
Visualizza
Claude with the Anthropic API
Anthropic
Dicembre 2024
Visualizza
Master SQL
RoadMap.sh
Novembre 2024
Visualizza
Oracle Certified Foundations Associate
Oracle
Ottobre 2024
Visualizza
People Leadership Credential
Connect
Settembre 2024
💻 Linguaggi & Tecnologie
☕Java
🐍Python
📜JavaScript
🅰️Angular
⚛️React
🔷TypeScript
🗄️SQL
🐘PHP
🎨CSS/SCSS
🔧Node.js
🐳Docker
🌿Git
💼
12/2024 - Presente
Custom Software Engineering Analyst
Accenture
Bari, Puglia, Italia · Ibrida
Analisi e sviluppo di sistemi informatici attraverso l'utilizzo di Java e Quarkus in Health and Public Sector. Formazione continua su tecnologie moderne per la creazione di soluzioni software personalizzate ed efficienti e sugli agenti.
💼
06/2022 - 12/2024
Analista software e Back End Developer Associate Consultant
Links Management and Technology SpA
Esperienza nell'analisi di sistemi software as-is e flussi ETL utilizzando PowerCenter. Formazione completata su Spring Boot per lo sviluppo di applicazioni backend moderne e scalabili. Sviluppatore Backend specializzato in Spring Boot, con esperienza in progettazione di database, analisi, sviluppo e testing dei task assegnati.
💼
02/2021 - 10/2021
Programmatore software
Adesso.it (prima era WebScience srl)
Esperienza nell'analisi AS-IS e TO-BE, evoluzioni SEO ed evoluzioni website per migliorare le performance e l'engagement degli utenti.
🎓
2018 - 2025
Laurea in Informatica
Università degli Studi di Bari Aldo Moro
Bachelor's degree in Computer Science, focusing on software engineering, algorithms, and modern development practices.
📚
2013 - 2018
Diploma - Sistemi Informativi Aziendali
Istituto Tecnico Commerciale di Maglie
Technical diploma specializing in Business Information Systems, combining IT knowledge with business management.
Contattami
Hai un progetto in mente? Parliamone! Compila il form qui sotto e ti risponderò al più presto.
* Campi obbligatori. I tuoi dati saranno utilizzati solo per rispondere alla tua richiesta.
Open Match and Nakama: Open-Source Game Backend
Building a game backend from scratch is a project that can take years and dozens of engineers. PlayFab,
GameSparks, GameLift: managed cloud solutions offer everything ready-made but at a cost that is
prohibitive for many indie studios and small companies, with vendor lock-in that makes it difficult
to change direction once you have started. There is a third way: open-source frameworks.
Nakama by Heroic Labs and Open Match by Google are two projects
that have changed the rules in the sector. Nakama is a complete server for social gaming and
real-time multiplayer, processing over 1 trillion requests per month across its community. Open Match
is a flexible matchmaking framework used by Google Stadia and numerous AAA studios. Both are Apache
2.0 licensed, written in Go for maximum performance, and designed to run on Kubernetes.
In this article we explore both in depth: internal architecture, Kubernetes deployment, customization
with TypeScript/Go, integration between the two, and a complete case study of a multiplayer game
built entirely on an open-source stack.
What You Will Learn
Nakama architecture: core features, storage, real-time, social
Nakama custom server logic in TypeScript and Go (runtime hooks)
Deploying Nakama on Kubernetes with CockroachDB and Redis
Open Match architecture: director, matchfunction, evaluator
Custom matchfunction implementation with Glicko-2
Nakama + Open Match integration for a complete system
Comparison with managed solutions: when to choose what
Monitoring and observability of the open-source stack
1. Nakama: The Open-Source Social Gaming Server
Nakama was born in 2017 from Heroic Labs with a clear objective: to give any studio a game server
with all the social and multiplayer features that previously required months of custom development.
The result is an extremely performant Go server with a declarative API and a runtime hooks system
that allows customizing any behavior without modifying the core code.
1-on-1, group, room-based chat with message persistence
Competitive
Leaderboards
Global, friends, seasonal with score owner and metadata
Economy
Wallet
Multi-currency wallet with atomic transactions
2. Nakama Runtime Hooks: TypeScript Customization
The runtime hooks system is Nakama's most powerful feature. It lets you intercept any server event
(authentication, storage writes, custom RPC calls) and add custom logic. Runtimes are supported
in Go (maximum performance), TypeScript/JavaScript (via Deno), and Lua (legacy). TypeScript is
the recommended choice for new projects.
Nakama's most powerful feature for competitive multiplayer games is the authoritative match:
a game loop running entirely server-side that processes client inputs and computes the authoritative
game state. All game logic (damage calculation, movement validation, collision detection) runs on the
server, preventing speed hacks and position cheating.
// runtime/match_handler.ts - Authoritative match game loop
interface GameState {
players: Map<string, PlayerState>;
phase: 'waiting' | 'playing' | 'ending';
tick: number;
}
// Game loop: runs at configurable tick rate (e.g., 20 ticks/second)
function matchLoop(ctx: nkruntime.Context, logger: nkruntime.Logger,
nk: nkruntime.Nakama, dispatcher: nkruntime.MatchDispatcher,
tick: number, state: GameState,
messages: nkruntime.MatchMessage[]): GameState | null {
state.tick = tick;
for (const message of messages) {
const userId = message.sender.userId;
const data = JSON.parse(message.data) as Record<string, number>;
switch (message.opCode) {
case 1: // Movement input
const player = state.players.get(userId);
if (player?.alive) {
// Server-side validation: clamp max speed
const dx = Math.min(Math.abs(data.dx), 5) * Math.sign(data.dx);
const dy = Math.min(Math.abs(data.dy), 5) * Math.sign(data.dy);
player.position.x = Math.max(0, Math.min(100, player.position.x + dx));
player.position.y = Math.max(0, Math.min(100, player.position.y + dy));
}
break;
case 2: // Attack input
if (state.phase === 'playing') processAttack(state, userId, data);
break;
}
}
// Check win condition
const aliveCount = Array.from(state.players.values()).filter(p => p.alive).length;
if (state.phase === 'playing' && aliveCount <= 1) {
state.phase = 'ending';
dispatcher.broadcastMessage(99, JSON.stringify(buildResults(state)), null, null, true);
return null; // Terminates the match
}
// Broadcast state every 3 ticks (67ms at 20tps) to reduce bandwidth
if (tick % 3 === 0) {
dispatcher.broadcastMessage(0, JSON.stringify(buildStateSnapshot(state)), null, null, false);
}
return state;
}
4. Open Match: Google's Matchmaking Framework
Open Match was developed by Google as a scalable, modular matchmaking system for games with millions
of players. Its architecture is based on three separate components communicating through gRPC,
allowing you to customize only the part you care about - the matching logic - without rewriting
the entire infrastructure.
Nakama is designed to scale horizontally on Kubernetes. It uses CockroachDB as distributed database
(PostgreSQL-compatible) for data consistency across nodes, and Redis for cache and real-time
inter-node communication.
Choose Open-Source if: You have a competent DevOps team, expect over 500K MAU,
have strict compliance requirements (GDPR, gaming regulation), or need deep customizations
of matching logic or storage.
Choose Managed if: You are a small indie studio, want to prototype quickly,
or are in early access without certainty about volumes.
Hybrid strategy: Start with managed to reduce pre-launch risk, migrate to
open-source after validating the game and expected volumes.
Conclusions
Nakama and Open Match represent the state of the art in open-source game backends in 2025. Nakama
handles the complexity of social features and multiplayer with an elegant API and a runtime hooks
system that enables unlimited customizations. Open Match brings scalable, modular matchmaking to
the open-source world, with the ability to implement any pairing algorithm.
The key to success with these tools is deep Kubernetes knowledge for deployment and the ability
to write robust runtime logic in TypeScript or Go. Invest time in this knowledge: the savings
compared to managed solutions are significant, and the architectural freedom you gain is invaluable
as the game scales.
Next Steps in the Game Backend Series
Previous: Anti-Cheat Architecture: Server Authority
Next: LiveOps: Event System and Feature Flags
Deep dive: Dedicated Game Servers with GameLift and Agones