About Me
Software Developer with 10+ years of experience building scalable web applications and modern frontend solutions. Experienced in designing high-performance, user-focused applications, integrating third-party services, and delivering reliable software in agile environments. Passionate about creating intuitive user experiences and writing clean, maintainable code.
5-6 years
Angular
3 years
React
3 years
Node.js
10 years
PHP
1 years
Docker
6 years
Typescript
10 years
SQL
3 years
Websockets
6 years
Canvas
1 years
PixiJS
01

PWO by Lottomatica (former SKS365)

Joined as a Junior Developer and progressed to a senior contributor role, playing a part in growing the platform into Italy’s market-leading bookmaker and expanding operations across international markets.

  • Contributed to scaling a bookmaker platform from early-stage startup to market leader in Italy, supporting international expansion into new regulated markets.
  • Led frontend migration from ASP.NET to a modern Angular (TypeScript) architecture, delivering a mobile-first, wrapper app-ready platform.
  • Built and delivered user-facing features in close collaboration with design, SEO and marketing teams, including promotional campaign components and a full platform rebrand.
  • Integrated multiple third-party iGaming providers, expanding the platform’s game and betting content offering.
  • Implemented Google Pay and end-to-end tracking solutions via Google Tag Manager (GTM), improving payment UX and marketing attribution.
  • Maintained and enhanced an internal back-office web application covering user management, roles and permissions, and CMS functionality.
Angular ASP.NET C# VB.NET SQL git
02
  • Queried and validated large datasets using SQL, identifying data inconsistencies and improving overall data accuracy across operational records.
  • Built advanced Excel dashboards to track progress, forecast completion rates, and support data-driven decisionmaking for senior stakeholders.
  • Managed structured location datasets, ensuring accurate task distribution and improving field execution quality across multiple territories.
Excel SQL Geolocation data
01

Social Network Platform

Originally developed as an academic PHP project with server-side rendered pages, this application was later modernized into a full-stack web application with a React frontend and PHP REST API backend. The system uses JWT-based authentication for secure user login and session management, with data stored in a MySQL database.

Key features include:

  • User registration and authentication
  • Role-based access control
  • User profiles and profile management
  • Status/post creation with optional image uploads
  • Commenting system
  • Private messaging between users
  • Administrative panel for content and user management
  • RESTful API architecture separating frontend and backend responsibilities

The application runs in Docker containers and uses an automated CI/CD pipeline to deploy updates to a VPS server on every push to the main branch.

The project demonstrates migration from a traditional monolithic PHP application to a modern SPA (Single Page Application) architecture using React and API-driven communication.

PHP React MySQL Docker
02

Real-Time Multiplayer Chess Platform

A full-stack web application for playing live chess games between two players over WebSockets. Built with a React and TypeScript frontend and a Node.js backend, the system uses Socket.io for real-time, bidirectional communication, with the server acting as the authoritative source of game state to validate every move and prevent cheating.

Key features include:

  • Real-time two-player games over WebSockets
  • Shareable game rooms via unique URL codes
  • Server-side move validation and turn enforcement
  • Full chess rules engine (legal moves, check, checkmate, stalemate, and draw detection)
  • Interactive drag-and-drop board with pawn promotion selection
  • Automatic game-end detection with result reporting
  • Per-player board orientation and live game status
  • In-memory game state management with room-based isolation

The application runs in Docker containers behind a shared Nginx reverse proxy that terminates SSL and routes both static assets and WebSocket traffic. An automated CI/CD pipeline deploys updates to a VPS server on every push to the master branch.

The project demonstrates real-time client-server communication with an authoritative server architecture, using a multi-stage Docker build to serve a compiled production frontend and backend.

Typescript React Node.js Websockets
03

Demo Slot Machine Game

A full-stack browser-based slot machine game with a hardware-accelerated graphics frontend and a server-authoritative game engine. Built with a TypeScript and PixiJS frontend rendering the reels and animations on a WebGL canvas, and a Node.js and Express REST API backend that computes every spin result, so outcomes and payouts are determined entirely server-side rather than trusted to the client.

Key features include:

  • Animated reel rendering with PixiJS on a WebGL canvas
  • Server-side spin logic determining symbols, win lines, and payouts
  • REST API communication between client and game engine
  • Configurable bet amounts with win/multiplier calculation
  • Preloaded symbol textures for smooth spin animation
  • Responsive canvas that scales to the viewport
  • Clean separation between rendering (client) and game outcome (server)

The application runs in Docker containers behind a shared Nginx reverse proxy that terminates SSL and routes static assets and API traffic to the appropriate service. The frontend is compiled and served as static files through a multi-stage Docker build, with the production bundle delivered by an internal Nginx instance.

The project demonstrates a server-authoritative game architecture where all randomness and payout logic live on the backend, preventing client-side tampering, paired with a real-time graphics layer built directly on a low-level rendering engine.

TypeScript PixiJS Canvas
04

Endless Runner Game

A side-scrolling endless-runner game in the style of the Chrome offline dinosaur game, where the player jumps over incoming obstacles and survives for as long as possible. This is a remake of an earlier version of the game: the original was rendered with the DOM and written in vanilla JavaScript, and it was rebuilt from the ground up as a hardware-accelerated Canvas game using PixiJS and TypeScript. The remake was produced through AI-assisted rapid prototyping, with the entire client generated and refined in two prompts.

Key features include:

  • Hardware-accelerated rendering on a WebGL canvas via PixiJS
  • Player physics with gravity and a chained mid-air double jump
  • Randomly spawned obstacles that are despawned once they leave the screen
  • Multi-layer parallax scrolling, with foreground hills moving faster than background hills and clouds drifting the opposite way
  • Infinite scrolling backgrounds built on tiling sprites
  • Axis-aligned bounding-box collision detection with game-over and instant restart
  • Survival-based scoring
  • Unified keyboard, mouse, and touch input
  • Centralized, tunable game configuration for gravity, scroll speeds, and spawn timing

The frontend is compiled and served as static files through a multi-stage Docker build, with the production bundle delivered by an internal Nginx instance. The container runs behind a shared Nginx reverse proxy that terminates SSL and routes traffic to the service. The game is currently client-side only, with a server-authoritative layer planned for a future iteration.

The project demonstrates the migration of a browser game from DOM-based rendering and vanilla JavaScript to a low-level WebGL rendering engine, and the use of AI-assisted rapid prototyping to rebuild a complete, deployable application from a couple of natural-language prompts.

Typescript Canvas PixiJS AI-assisted prototyping