Portfolio

This is a selection of non-confidential projects I worked on.


Cellular Network Analytics: Mobility and Transport Analytics

img112

Cellular network providers are in a privileged position to study and analyze the social and mobility dynamics of the population in large geographical regions. Commercial applications include urban and transport planning, catchment area analysis for retail, and out-of-home advertising. I contributed the overall processing architecture and algorithms to process trajectories from anonymized subscriber traces at country scale in accordance with the GDPR requirements. Read more.


Wi-Fi Analytics: Insights on Store Visitors for Retail

img113

Wi-Fi analytics primarily involves using signal strength measurements from your Wi-Fi access points to gain detailed insights on store visitors such as which locations they visit and in which order, and how much they spend time at each location, loyalty and so on. In this project, I improved the overall robustness and accuracy of our machine learning predictions using a combination of random forests, neural networks, and hidden Markov models. Read more.


AWSFlow: Amazon EMR jobs and Lambda Functions with Python

img100

AWSFlow (GitHub) is an open source Python package that lets you define programmatically big data workloads for AWS Elastic Map Reduce (EMR) clusters triggered by AWS Lambda functions relying on a series of integrated utility tools. Its concise and practical methodology is aimed at fast prototyping in small teams. It is currently used to manage the lifecycle of jobs in the Cellular Network Analytics project. Read more.


HMM-Filter: Improve Classifier Predictions with Hidden Markov Models

img104

HMM-Filter (GitHub) is an open source Python package that lets you improve the accuracy of sequences of predictions with Hidden Markov Models (HMMs). After a first pass with a base classifier, it revises the predictions accordingly to their uncertainty scores and a state transition matrix estimated from unlabeled data using the Viterbi algorithm.


Spark-Cluster: Containerized Spark Cluster with Jupyter Lab

img101

Apache Spark is an open source distributed general-purpose cluster-computing framework. Spark-Cluster (GitHub) provides a multi-container Spark cluster accessible from Jupyter Lab. it combines Ubuntu 18.04, OpenJDK 8, Spark 2.4.0, Hadoop 2.8.5, and Python 3.6. Ideal for experimenting and unit-testing on-premises before firing up large and expensive clusters in the cloud. It has been used to test the jobs in the Cellular Network Analytics and Wi-Fi Analytics projects.


Jupyter-OpenCV: Containerised OpenCV with Jupyter Lab

img103

OpenCV is a library of programming functions mainly aimed at real-time computer vision. Jupyter-OpenCV (GitHub) provides a cross-platform environment to experiment with computer-vision. It is based on Jupyter notebook, Python 3.5, and OpenCV 3.4. Tested on Windows, MacOS, and Linux. It has been used for research in robotics and environmental engineering.


Notebooks for Data Science: Jupyter and Zeppelin with Superpowers

img106

The interactivity and flexibility of notebooks come at a price: no version control; fragmented and repeated code; no IDE capabilities such as code style compliance, navigation, refactoring, and testing; uncertain execution state. The pynb tool (GitHub) is an attempt to fix these issues for Jupyter notebooks. With nb2md (GitHub), you can convert Zeppelin and Jupyter notebooks to Markdown: reviewing and versioning notebooks is streamlined as any other piece of code, simplifying the internal team processes.


Skysense Charge Technology: Automated Charging for Aerial Robots

img107

As Founder and CTO of Skysence, I supervised the design, development, and commercialization of several products: charge stations for drones, miniaturized battery chargers, and remote-controlled hangars. Our clients included several public and private organizations operating at the edge of land surveillance, space exploration, and logistics such as CIA, NASA, NIH, Google X, Parrot, and Stanford University. Technical details on the charge station can be found in the US20160336772A1 patent. Read more.


Skysense Planner: Web Mission Planner for Robots

img108

Skysense Planner (GitHub) is an open source Web Mission Planner for MAVLink Robots with ADS-B aircraft tracking and geofence management. It builds on top of Ardupilot, Gazebo, MAVLink, MAVROS, ROS, and Robot Web Tools. In 2016, the project was awarded the prize in the “business” section of the NASA WorldWind Europa Challenge.


GraphInsight: Network Graph Exploration with Embedded Python shell

img114

GraphInsight (GitHub) is a cross-platform native visualization software that lets you explore graph data through high-quality interactive representations. It includes a Python shell to interact programmatically with the graph model. In 2013, the project won the Audience Choice Award at the VT Business Challenge.


IT Security tools: Back to the Future

img109

This archive (GitHub) contains several really old projects related to networking and IT security: log and fake network traceroute requests with hopfake; build complex covert channels proxed to TCP with libimbw; impersonate web sessions from nearby Wi-Fi devices with cookie-tools; inject commands on ptraced telnet/ssh sessions to gain real-time terminal control; intercept IP-based voice calls with rtpbreak.