Topic

All
Research
Web
UX/UI
Databases
Embedded
Cryptography
File Systems
Image Manipulation
AI

Technology

All
Python
JS
React
D3
C/C++
Java
Angular
LUA
Android
PHP

Justified Gallery

justified-gallery thumbnail

Justified Gallery

JavaScript library to help creating high quality justified galleries of images. It has been used by thousands of websites, including 500px. I also implemented a plugin for Wordpress which uses this library, importing photos from Flickr.
Main developer/author with the help of awesome contributors
2012-01
WebJSPHP

EpiPolicy

epipolicy thumbnail

EpiPolicy

EpiPolicy is a population-based epidemic simulator. The UI allows users to define the compartmental model, locations, population features, and various interventions.
Developed together with Zain Tariq and Mai Le Xuan Anh, in collaboration with the Department of Health in UAE.
Publications: XRDS'21UIST'21
2021-10
ResearchDatabasesPythonJSReactD3

Light-1

light-1 thumbnail

Light-1

The satellite Light-1 which took off onboard the SpaceX Falcon 9, and deployed from the International Space Station. It captures Terrestrial Gamma-ray Flashes from thunderstorms and lightning. The firmware was written in C++, for a STM32 microcontroller, using FreeRTOS, and Cubesat Space Protocol for communication.
Took part on the Firmware development.
2020-01
ResearchEmbeddedC/C++

StrategyOne

strategy-one thumbnail

StrategyOne

StrategyOne is a multi-purpose decision engine used to calculate credit scores in Italy (i.e. Eurisc) as well as in other countries and companies. This new software version was able to manipulate hierarchical data by using a custom language and other graphical components. There was an average of 93% performance gain over the older version, despite the latter was only able to work with simpler tabular data.
While working at CRIF S.p.A, i was the primary developer of the new core module for StrategyOne's decision engine which interprets custom domain-specific languages. Part of a larger team with project managers, UI developers, and software testers.
2014-09
JavaAngular

Qetch

qetch thumbnail

Qetch

Qetch is a tool that allows users to freely sketch patterns on a scale-less canvas to query time series data without specifying query length or amplitude.
Sole developer, coordinated by Prof. Azza Abouzied.
This project won Best Paper Award at CHI.
Publications: SIGMOD'18CHI'18
2016-06
ResearchUX/UIDatabasesAIJSAngularD3

Ruzzle Solver

ruzzle-solver thumbnail

Ruzzle Solver

A fast solver for Ruzzle, used by more than two million users. To obtain this fast speed the website uses a fast C++ solver implementation. The dictionaries were quite accurately re-created by developing a small Android app that was continously automatically using the game.
2013-01
JSC/C++AndroidJava

sPaQL TooLs

spaql-tools thumbnail

sPaQL TooLs

sPaQL TooLs is a Stochastic Package Query Interface for Scalable Constrained Optimization. For example, given uncertain predictions for future stock prices, sPaQL TooLs finds a set of trades that will maximize the expected future gain, while ensuring that a loss will only happen with a certain probability.
Developed together with Matteo Brucato, coordinated by Prof. Azza Abouzied and Alexandra Meliou.
This project won Best Demo Award at VLDB.
Publications: VLDB'20
2020-09
ResearchUX/UIDatabasesAIJSReactD3Python

Synner

synner thumbnail

Synner

Synner is a tool that helps users generate real-looking synthetic data by visually and declaratively specifying the properties of the dataset such as each field’s statistical distribution, its domain, and its relationship to other fields.
Lead developer, with the help of other 4 students and one PI
Publications: SIGMOD'20UIST'19
2019-10
ResearchUX/UIDatabasesAIJSJavaAngularD3

Texture

texture thumbnail

Texture

Texture is a framework for data extraction over PDF documents. Developers write and manage heuristics, while Mturk workers and end-users contribute by providing ground truth. Texture is a framework for data extraction over PDF documents. Developers write and manage heuristics, while Mturk workers and end-users contribute by providing ground truth.
Lead developer with Maeda Hanafi, with the help of 5 other students, and one PI.
Publications: HILDA'19
2017-01
ResearchUX/UIDatabasesAIJSJavaReactD3

Lucky Scratch

lucky-scratch thumbnail

Lucky Scratch

A scratch card game for Android I made for an university project. A social experiment, as I like to call it, that had more than 150.000 downloads.
Sole author/developer.
2014-01
JavaAndroid

pubcFS

pubcfs thumbnail

pubcFS

pubcFS is a virtual file system that encrypts folders and files on-the-fly. It uses asymmetric keys (i.e. RSA) in order to make it possible to share the encrypted folders with other users.

It is implemented in C, using FUSE, which make it possible to install this filesystem in the userspace rather than in kernel space.

Sole developer, coordinated by Prof. Renzo Davoli.
2011-10
ResearchFile SystemsCryptographyC/C++

MExpr

mexpr thumbnail

MExpr

C++ library which parses human-like arithmetic expressions like the following:

-3xy^2 - 3(xy + 3)(-5x + y)

It supports features such as implicit multiplications, AST manipulation and evaluation, bytecode compilation, and custom functions with overloading.

Sole author/developer.
2012-01
ResearchCompilersC/C++

Multi Level Networks Model

multi-level-networks-model thumbnail

Multi Level Networks Model

A model and query language for multi-level networks analysis.It is based on path pattern recognition algebra. It provides selection, projection, aggregation, join, and synthesis operators. Implementation of the model and operators has been implemented in Java.
Sole developer, coordinated by Prof. Danilo Montesi.
2013-10
ResearchDatabasesJava

ProSharpener

prosharpener thumbnail

ProSharpener

ProSharpener is a plugin for Photoshop to sharpen, resize, and execute many other operations in your photos. Important features: algorithms for the creation of edges mask to avoid sharpening halos, and sharpening separation.
Sole author/developer.
2018-05
JSImage Manipulation

MDP Strategy Visualizaition

mdp-strategy-vis thumbnail

MDP Strategy Visualizaition

Simple GUI and algorithms to play and learn Markov Decision Process developed for a talk I conducted about Artificial Intelligence.
Sole author/developer.
2011-01
AIPython

Contributions Importer for GitHub

contributions-importer-for-github thumbnail

Contributions Importer for GitHub

A tool to help users to import contributions to GitHub from private git repositories, or from public repositories that are not hosted in GitHub.
Main developer/author with the help of awesome contributors
2016-01
Python

Miro Windows Manager

Miro Windows Manager

A productivity tool for moving and resizing windows in MacOS by only using the keyboard.
Main developer/author with the help of awesome contributors
2015-01
LUA

UR2009

ur2009 thumbnail

UR2009

2D Racing game for PC, realized solely using Java 2D, without use of any game engine. The car can drift leaving marks on the road, and it implements a constant time collision detection system.
Sole author/developer.
2009-01
Java

Miro Rubix

miro-rubix thumbnail

Miro Rubix

A simple puzzle for Desktop (in Java) and for PSP (in C/C++) inspired by the Rubik's Cube. This project was a fun way to practice my Java and C++ skills while implementing a fun and smart game.
Sole author/developer.
2007-01
C/C++Java