Here you can read about a selection of projects that I have worked on during the last few years.
Some of them are personal projects, some are academic projects, and some are professional
projects. Feel free to contact me if you are interested in any of them.
Perk Programming Language
2025
Perk is a multi-paradigm low level language, designed to be used in the development of the
MellOS operating system. By carefully selecting features
from popular modern languages, it strikes a balance between ease of use with high level
abstractions and low friction with bare metal programming.
Perk is designed to be fully C-compatible, making it possible to use pre-existing C libraries
and tools seamlessly.
To quote my friend and co-creator of the language,
Mellotron (aka Lorenzo Pace):
“Currently [Perk is]
in a bit of an embryonic state, but we're working on it at a frantic, almost unhealthy
pace.”
In parallel, we are developing a game in Perk, using
SDL bindings, to showcase and benchmark the language.
Images
MellOS
2025
MellOS is a community-based open source operating system. Started a few years ago by my friend
Mellotron (aka Lorenzo Pace), the
project is slowly but steadily growing to include more and more features.
I started contributing to the project in 2024, and I have been working on it ever since.
I have worked on implementing the graphics subsystem and making the kernel more stable, and am
now working on
Perk, a new low-level programming
language that will be the
backbone of the future development of MellOS.
Screenshots
MeshLab Remeshing Plugin
2024
As part of the “3D Geometric Modeling and Processing” course at the University of
Pisa, I developed a plugin for
MeshLab, a
popular open source mesh manipulation program.
The aim of the plugin was to provide a remeshing algorithm that would be several times faster
than the existing one. To this aim, I used the open source library
OpenVDB.
This involved providing bindings for the library, first by developing a compatibilityhero layer
for
VCGlib, the open source library used by
MeshLab and developed by the
Visual Computing
Lab (VCG in short) of the National Research Council of Italy (CNR).
Then, I developed the plugin itself, to include the new functionality in MeshLab.
Screenshots
Uta Stansburiana Simulation
2024
A simulation of a population of
Uta Stansburiana lizards,
developed as part of the “Computational Models for Complex Systems” course at the
University of Pisa, together with a coursemate. Despite the strict time constraints, we decided
to develop the simulation in
Godot, a
popular open source game engine, both because we wanted the project to be more animated and fun,
and because we wanted to take the opportunity to learn how to use the engine.
Images
3D Rendering Engine
2022
As part of the “Computer Graphics” course at the University of Pisa, I developed a
3D rendering engine from scratch. Everything in the engine is done by hand — in TypeScript
with WebGL — using what was learnt in the course (plus a few extras such as post
processing effects, researched on my own).
The engine supports basic 3D models, textures, lighting, shadows, and post processing effects.
It also includes a test program that loads a simple scene with a controllable car, and allows
the user to move the camera around, change some rendering parameters, inspect shadowmaps and
apply post processing effects.
I planned to develop a custom shader builder that would let the user enable or disable several
components to achieve different effects, but due to time constraints of the course, this was not
possible.
Screenshots
Baum — AR Platform
2019
Baum was a (now defunct) social media platform where users could share their own Augmented
Reality experiences. Users could create a 3D scene and post it, and their followers could bring
it to reality in their own room thanks to our AR platform.
The name comes from writer L. Frank Baum, regarded by many as the first person to imagine
augmented reality in his novel “The Master Key”.
The project was developed together with a team of other
Apple Developer Academy students and
was carried on after our graduation. However, it does not exist anymore, to this day.
Screenshots
FAILURE SSIL Analyzer
2024
FAILURE is a program analyser that determines the (in)correctness of a program using
Separation Sufficient Incorrectness Logic. The tool was developed
as part of the “Laboratory for Innovative Software” course at the University of
Pisa, in a group with other students of the Master's degree course, with feedback by the authors
of the original paper.
ChuPikaPi
2023
ChuPikaPi is an esoteric programming language in which you speak with your Pikachu to train it
to execute your program.
The compiler was written in 2 days, and it started as a challenge to myself to see how fast I
could write a compiler for a simple language. The language itself is Turing complete.
The name of the language is a play on C++, sometimes rendered as Cpp, and Pikachu, the famous
Pokémon.