Vito Sartori

25, self-taught software engineer


  • C
  • Clojure
  • Ruby
  • Golang
  • Objective-C
  • Python
7A3F 6453 F98F 7B8A


[2019] Ruby Mesa.tool

Mesa.tool is an app that is part of the new MESA Platform. As the project's tech leader, I supervised and mentored a team of awesome people during its development phases.

[Official Website]
[2019] Ruby

D3 was invited to build the new MESA Platform; This one is their Web Course, which allows anyone to become a MESA Leader. The course was exclusively designed and taught by MESA founder, Barbara Soalheiro, who invented the Method which has been used to successfully solve complex problems for companies and communities for over 7 years now.

[Official Website]
[2018] Ruby was an experiment that allowed people to pull information using curl.

[2017] ObjC Zag iOS

To allow users to create their refunds on-the-go, Zag also have a native iOS App.

[Official Website]
[2017] Golang Zag Plutus

Plutus is a Zag subsystem responsible for syncing all iOS and Android clients. It allows users to use multiple devices, and access their data offline, syncing with the remote server when a connection is available once again

[2016] Ruby Zag REST API

Zag is a platform that makes easier for employees to request refunds from their companies. Better and faster than a notepad, it also makes the process of requesting and managing refunds a breeze.

[Official Website]
[2016] Node Rio 16's Dancing Pavilion

We (at D3) were invited to build a pavilion for a Brazilian beer brand to host music, parties, DJ's and shows. This pavilion was located in the Barra Olympic Park, the primary location for the stadiums in the Rio 2016 Olympic Games. The building had sensors distributed in strategic points in order to determine how agitated people were inside of it, which yielded to really nice animations following their behaviour. More information can be found over DesignBoom's post.

[2016] Ruby WhatsLove Book

For the 2016 Brazilian Valentines Day, I was invited by @zehf to collaborate on one of his ideas: a book composed by several metrics extracted from WhatsApp messages exchanged by couples. After attaching the exported messages to an email message sent to a special address, our robots would parse, interpret and analyse them in order to build an illustrated book.

[Official Website]
[2016] Node Giskard

Giskard is the base framework of a bot used on D3 Estúdio. It is extensible through modules, and is capable of holding conversational contexts in order to acquire data that may be used in several metrics.

[2016] ObjC OceanFlow

OceanFlow was an iOS app that managed Droplets hosted on DigitalOcean. It has now been retired.

[2016] Node Twitter TestDrive

Twitter TestDrive is a platform being developed together with the Twitter Brazil office, which will allow automakers to reach people willing to take a test-drive of any of their new models.

[2015] Node Bloom Binary Protocol

Consists in an DbC protocol that defines all messages exchanged between clients on a Bloom environment. By using a custom manifest file, BBP can generate clean code on several languages, which makes the exchanged data cross-platform compatible. It is now replacing JSON structures and has proven to be lightweight.

[2015] ObjC FleetDash

FleetDash is an iOS dashboard used to monitor and control Fleet instances.

[2015] Node Fleet

Fleet is responsible for scaling and controlling real-time processes on Bloom servers; together with a load balancer system, it is capable of spawning and killing processes based on server load and resource usage.

[2015] Node A Place to Departure

A Place to Departure is an interactive installation that uses technology to connect people across the world. You can see more information on the official website.

[Official Website]
[2015] Python Hortiescolha

Invited by the Horticulture Quality Centre from CEAGESP, we participated on the process of optimisation and digitalisation of Hortiescolha: a decision-making support program regarding fruits and greenery for the scholastic food service. See, every day teenagers and children of thousand of public schools throughout Brazil receive a lunch. It may sound simple, but the challenge and the complexity behind this fundamental activity is unimaginable for most of the population. We at D3 had the opportunity to learn and be part of this process, contributing to its improvement. More information can be found on the Release Post (in Portuguese).

[Official Website]
[2014] Python Bloom

Bloom was an oncoming digital events platform. It allowed people to make cashless payments before Apple/Samsung Pay, and helped live events get even better. It was widely used in 2015's Rock in Rio, and had a great acceptance among its users.

[Official Website]
[2014] Ruby #TridentTweetMusic

A campaign promoting Skank's (a Brazilian band) new clip made entirely of vines. An user could be part of it by tweeting a vine together with a specific hashtag. The vine was then processed and attached to the original clip, generating a brand new one, that is finally sent back to the user.

[2014] PHP Carnaval Digital

An interactive platform that allowed thousands of people to be part of the Brazil Carnival through sort of a social game.


[2020] Clojure clsql

clsql provides a toolchain to work with databases and SQL for Clojure applications. It provides facilities to work with migrations and queries, allowing teams to have reproducible migrations and easier to maintain queries, leaving SQL out of Clojure.

[2020] Clojure gstorage

gstorage provides a small abstraction to Google Storage APIs. It is quite flexible about initialisation parameters, allowing several methods of configuration. It also exposes a simple interface, allowing users to easily integrate.

[2020] Golang tlvp

tlvp is a CLI TLV parser specially designed to handle EMV data. This may be used by payment system researchers and practitioners to read TLV data (both binary and hex-encoded) in a formatted, organised way.

[2018] Golang Howe

Howe replaces MOTD with relevant information about the local server, like services, containers, and metrics of disk usage.

[2018] Golang Ludwieg

Ludwieg is a toolchain aimed to develop binary protocols. With its own modelling language, Ludwieg is capable of generating code in Java, Objective-C and Golang.

[2017] ObjC Bedim

Bedim is a small macOS utility that automagically blurs backgrounds when any window is present in your screen.

[2017] Node NSLocation

NSLocation wraps CoreLocation in order to provide geographic location of a device running macOS. The library provides a bridge between Node.js and the CoreLocation Framewok, allowing Electron and Node.js applications to use geographical data of the current user.

[2017] Golang Colorarty

colorarty is a small library that analyses images and extracts a background, primary, secondary and detail colors, all suitable for reading.

[2017] Golang Pine

Pine is a logging library for Golang. It outputs different formats based on a TTY availability. When available, output is augmented with emojis and colour. Otherwise, a parseable format is used.

[2017] Golang gh

gh is a terminal utility that allows you to use GitHub directly from your terminal. No more fiddling with the browser to create a new repository or managing teams.

[2016] Golang Stapler

Stapler is a Go library that handles file uploads or general data storage. It plays well with ORMs and such, making it easy to work with stored files.

[2016] Golang Colorarty

Small Go library that analyses images and extracts a background, primary, secondary and detail colors, all suitable for reading.

[2016] Golang go-unfurl

Simple Go library that follows all possible redirects of a given URL. Part of Digest.

[2016] Golang u2imgur

u2imgur is a silly utility that uploads images to imgur.

[2016] Golang goom

goom is yet another port of Holman's boom, this time in Go. Unlike Cloom, it has a Levenshtein distance algorithm implemented, which allows it to match mistyped or incomplete items.

[2016] Ruby Sicuro

Sicuro was a personal vault that protects sensitive data until it is needed. Some people have the need to keep data private until there's a need to make it public, and that what Sicuro was about. It stores encrypted data, protected by keypairs and distributed to a list of people you trust.

[2016] Clojure Cloom

cloom is a port of Holman's boom in Clojure. It manages text snippets on the command line. Quoting Zach's description of boom:

You can stash away text like URLs, canned responses, and important notes and then quickly copy them onto your clipboard, ready for pasting.

[2015] Node D3-Digest

A Slack Bot that watches and collects reactions on posted links. Those links are then processed and made available on a public webpage. (Site)

[2015] Node unfurl-url

A simple tool that unminifies URLs. (NPM)

[2015] MDown Awesome-iOS

A curated list of awesome iOS projects and libraries, includes Objective-C and Swift.

[2015] ObjC DropletKit

DropletKit is an Objective-C wrapper for the Digital Ocean's REST API.

[2015] JS Spotificator

After Rdio announced its imminent shutdown, after being acquired by Pandora, we at D3 Estúdio hurried to bring back a tool capable of exporting Rdio and Deezer playlists and collections to a Spotify account. Featured on Product Hunt.

[2014] JS Atom

GitHub's text editor written in HTML5

[2014] Node direktor

A remote SSH command runner for cluster maintenance

[2014] Ruby has_gravatar

Dead simple Gravatar URL generator

[2014] Node ssh-fingerprint

Generates a fingerprint given an SSH public key (without ssh-keygen or external dependencies)

[2013] Ruby Identicons

Ruby implementation of GitHub's new Identicons.

[2013] JS Adobe Brackets

Open-source IDE developed by Adobe (and contributors) aimed to web development.

[2012] JS Knockout.js

JavaScript library used by Microsoft's MVC framework that implements the same MVC architecture using JavaScript and HTML5

[2012] MSIL GitHub for Windows

Closed-source utility written by GitHub that allows non-familiarized with Git's command-line tools to use the service through a clean user interface. This contribution required some reverse-engineering, since the project is closed source (but yet was a contribution 😎).