Selected Works

Websites, web apps, AI agents and Telegram bots. Client work and experiments, all built end to end.

ProjectBEA

ProjectBEA

A modular AI persona engine: one always-on mind across Discord, Telegram, Twitch and Minecraft.

AI can sound human. I wanted to build one that seems alive. ProjectBEA is the engine behind Bea, an AI VTuber with one always-on mind: she talks in Discord calls, chats on Telegram and Twitch, plays Minecraft on a vanilla server, streams through OBS and remembers who you are. It started as an excuse to learn Python properly. Today it is open source, at version 2.7.3, and anyone can run it, even entirely on their own computer.

PythonFastAPIAI AgentsRAGReactJavaWebSocket
racing-AI

racing-AI

A hundred cars that cannot see the track, evolving until they can drive it.

I saw a video about evolving controllers by breeding and mutation, and I wanted to see for myself whether something that simple really works. It does. A hundred cars start with random numbers in their heads and drive into a wall. The few that get furthest are copied, mixed and slightly mutated, and their children try again. Nobody shows them a good lap: there is no dataset, only survival.

PythonNumPypygameNeuroevolutionGenetic Algorithms
Pulsar · Hackathon Winner

Pulsar · Hackathon Winner

University social web app built at JeMore with team HyperLabs.

Every day at university you are surrounded by hundreds of people, and you know almost none of them, not as friends and not as future colleagues. Pulsar is our answer: a web app for students that sits between Tinder and LinkedIn, to meet people for friendship and for work. We built it in one day at the JeMore hackathon, five of us as team HyperLabs, and it won first place.

Next.jsFastAPIProduct DesignUXHackathon
Omni

Omni

A full-featured streaming platform, built from scratch as a personal learning project.

Omni is a streaming platform I built from scratch to learn how one works end to end. It is a demo: the catalog, the posters and the details come from the TMDB API, and there are no real streams behind it. Everything around the video is real, though: invite-only accounts, your lists and favorites, your progress, recommendations, watching together. The video pipeline exists only as a proof of concept, with no real content.

Next.jsHLS StreamingDenoPostgreSQLDockerNginxCloudflareCaching
Gecowave Website

Gecowave Website

A website for a music group.

A custom website I designed and developed for a music group, and kept growing for a year: their discography, a blog that writes itself, a chatbot with the voice of one of their characters, a podcast page. The design and the code are mine, end to end.

ViteTypeScriptTailwind
Patty Concept Website

Patty Concept Website

Concept website I designed and developed for a burger place in Modena.

Patty is a burger place in Modena with a really strong brand identity, and I wanted to turn that identity into a full concept website, from research to shipped frontend. It is a concept, but it is the kind of exercise I enjoy the most: taking a real brand, studying it deeply, and rebuilding its digital presence from scratch with the same care a client project would get.

Next.jsTypeScriptUI DesignFrontend
Fà a Mód Concept

Fà a Mód Concept

Concept website I designed and developed for an artisan bottega in Modena.

Fà a Mód is Modenese dialect for "the Modena way," and that phrase tells you everything about the bottega. Before writing any code I spent time absorbing the identity: the name, the food, the feeling of a place that does things traditionally and means it. The result is the kind of site that could go live with almost no changes.

Next.jsTypeScriptUI DesignFrontend
QuickLanding · Polaris

QuickLanding · Polaris

Landing page developed for Polaris Creative Studio, an Italian software agency.

Polaris Creative Studio is an Italian software agency with a sharp pitch: the traditional agency process is broken, expensive, and slow. They came with the design already defined: clean, bold, black and white. I handled the full frontend development. The site's core idea is a section that literally crosses out the old agency workflow, contrasting it step by step with the Polaris' approach. My job was to build that argument so it actually lands: tight Nextjs implementation, solid responsiveness, and a structure that keeps the message front and center without getting in its own way.

Next.jsTypeScriptFrontend
QuickLanding SaaS

QuickLanding SaaS

A full-stack Production SaaS. Multi-agent backend. Built for a client.

A client project I architected and shipped from scratch. Includes a multi-agent AI backend, full dashboard, database layer, sandboxed workflows, automated email system, and a production-grade VPS infrastructure with Nginx, UFW, and security hardening. The kind of project that covers everything.

PythonFastAPIAI AgentsLinuxNginxNext.js
Gianni CLI

Gianni CLI

A terminal AI agent that can read context, run tools, and execute real tasks from the shell.

gianni-cli started from a simple frustration: most AI chats feel disconnected from what you are actually doing in the terminal. I wanted an agent that lives where I work, understands what I was just doing, and can move from suggestions to real execution. You type gianni "why is my server not starting?" in the same shell, and it reads, runs and answers.

Node.jsTypeScriptOpenRouterCLIAI Agents
Ludomi-3

Ludomi-3

A fine-tuned Italian LLM. AGI. Safety filter works 34% of the time.

Ludomi-3 is officially a sentient Italian AI, certified by the FAO and independently verified by Ludomi-1. It speaks every language despite being trained only in Italian. The safety filter works 34% of the time. We consider this acceptable.

PythonLoRAHugging FaceOllamaUnslothQwen
Quick ResourcePack Mod

Quick ResourcePack Mod

Fabric mod for Minecraft.

A Fabric mod that puts a resource pack on a key. Press it and the pack you chose switches on or off, without digging through the menus. Small idea, real users: it has been downloaded more than five thousand times on Modrinth.

JavaMinecraftFabric
Instagram AI Bot

Instagram AI Bot

Instagram DM automation with AI persona.

Turn your Instagram DMs into an autonomous AI persona that texts like a person. The persona is the easy part: the hard part is everything around the words, when to answer, how long to take, how to split a thought into messages, so that nothing about it feels like a bot.

PythoninstagrapiGoogle GenAI
Humanlike Telegram Bot

Humanlike Telegram Bot

A highly realistic AI Telegram bot.

A Telegram bot that does not feel like a bot. It runs on Google's Gemini, but the point is not the model: it is the rhythm. It answers the way people text, in several short messages, with a typing pause before each one.

PythonTelegram APIGoogle GenAI
VPS Helper Bot

VPS Helper Bot

Telegram bot for VPS and Docker monitoring on the go with smart alerting.

Built right after Omni, when I needed a way to monitor my VPS from the phone instead of opening a terminal every time. A Telegram bot with a menu-based dashboard to check VPS metrics, memory, Docker containers, and services in a couple of taps. It sends alerts when a container crashes, stops, or when a resource usage crosses a set threshold. Mute controls let me silence notifications during deploys or maintenance, so the bot stays useful instead of spammy.

PythonTelegram APILinuxDocker
AllConverter

AllConverter

Local file converter web app.

A file converter that runs on your own machine: images, audio, video and documents, with options like resizing, rotating, filters and quality. Drop files in, pick a format, download the result.

PythonFastAPIFFmpegPillowViteUvicorn
Minesweeper

Minesweeper

A minesweeper game with cheats.

The classic Minesweeper, rebuilt in React with everything a regular player expects: three difficulties and a custom board, flags and question marks, chording with a double click, a first move that is always safe, a timer, hints and a mistake counter. And a cheat mode, because why not.

ReactTypeScriptVite
Simple Web Scraper

Simple Web Scraper

Modular Python web scraper.

Give it one or more URLs and it saves what matters on each page as structured JSON: title, meta tags, headings, the main text, links, images, tables and lists. It runs from the command line, with batch scraping, an output folder, a timeout and a custom user agent, or as a Python module inside your own code.

PythonBeautifulSoupRequests
Markolino-Chaos

Markolino-Chaos

A Paper plugin that spawns a bot in minecraft!

A fun plugin for Paper that spawns "Markolino" a bot that wants to kill you!

JavaMinecraftPaperFabric
Snake Game

Snake Game

A classic snake game.

A fun snake game made with React!

ReactTypeScriptVite
Clicker

Clicker

A clicker game.

A fun clicker game made with React!

ReactTypeScriptVite