Portfolio

Gesture Keyboard
Gesture Keyboard

The Gesture Keyboard is a device capable of converting gestures into characters, made using an Arduino.

That makes possible writing as you would normally do with a keyboard, by moving the device in the air.

Technologies used:

  • Arduino, to build the device that records the movements.
  • Python, to make the library capable of converting movements into characters
  • Scikit-learn, a python machine learning library.

More info on the Github page or the video below.

GitHub Youtube
espanso
espanso

espanso is a Cross-platform, System-wide Text Expander written in Rust.

It detects when you type a specific keyword and replaces it with something else, while you’re typing.

Technologies used:

  • Rust, to build the majority of business logic.
  • C++, to build the Windows and Linux compatibility layer.
  • Objective-C, to build the MacOS compatibility layer.

It features:

  • Windows, macOS and Linux support
  • A powerful extension system
  • Built-in package manager and an official store
  • Emoji support

More info on the official website and the Github page:

Website GitHub
Sublime Music Manager
Sublime Music Manager

Sublime Music Manager is an Android app that makes it easy to manage your music collection. It was made using Java, Javascript (ES6) and React + Redux.

It enables you to easily transfer your music files from your computer to your phone over WiFi. It also supports transfers between phones using WiFi Direct.

It features:

  • A powerful Web Server, built-in the app itself, that makes possible managing your files from every device connected to the same local network.
  • Sharing capabilities. Transfer your files over WiFi, or even WiFi direct if a local network is not available.
  • Automatic Tags search for your songs, with album cover image as well.
  • Multilanguage: both Italian and English languages are available for the Android app and the web app.

Technologies used:

  • Java to build the app itself.
  • React + Redux for the web app that makes possible managing your music over WiFi. It is automatically loaded in the browser when you connect to the app web server.

Check out the app in the Google Playstore by using the button below.

Google Play Store
Memlight
Memlight

Memlight is a Web App developed using PHP / Symfony, MySQL, jQuery and Bootstrap.

It’s used to study effectively by repeating concepts. It features:

  • A powerful Quiz system, with recovery and statistics.
  • Multilanguage support, with English and Italian included.
  • Admin Dashboard, to create and edit Courses and Questions.

Website GitHub
O(sarracino)
O(sarracino)

O(sarracino) is a Tablut Engine written in C++ with a strong focus on performance. It was written by me and Massimo Schembri for the 2019 yearly challenge hosted by Prof. Mello for the Fundamentals of AI course. O(sarracino) got the 2nd place out of 22 participants.

In order to achive the best performance, O(sarracino) took advantage of:

  • Multi-threading
  • Bit operations
  • CPU intrinsics (native processor instructions)

The engine is capable to evaluate ( on my Intel i5-8400 machine ) about 35 million possibile moves each second.

GitHub Play Online
webTablut
webTablut

webTablut is an experimental WebAssembly port of our O(sarracino) Tablut Engine written in C++ to make it capable of being played online.

GitHub Play Online
Tapzy
Tapzy

Tapzy is an online, turn based puzzle game, written using the Corona SDK framework ( Lua ) for the client and PHP/MySQL for the backend.

It features:

  • A booking system, to match players around the world.
  • A referral system, to recommend the game to other players.
  • Gamer Bots to play with if no player is available.

Youtube Google Play Store
pyGARL
pyGARL

pyGARL is a Python library that can be used to build complex gesture recognition systems.

GitHub
Gravity Run
Gravity Run

Gravity Run is a simple arcade game for Android, developed using Corona SDK ( Lua ).

Youtube Google Play Store