A personal project with educational purposes.