About Me
Computer science graduate with a BSc (2023) and MSc (2025) from Università della Svizzera
Italiana (USI), early stage research experience in machine learning, federated learning, and human activity
recognition, well rounded technical skills across the CS spectrum, and experience in leading development
projects.
Publications
My work resulted in academic publications on federated learning, human activity recognition,
and privacy-aware machine learning for mobile and wearable devices.
Alessandro Gobbetti, Martin Gjoreski, Hristijan
Gjoreski, Nicholas Lane, Marc Langheinrich
Follow-up of my Bachelor thesis. Proposes a missing-modality-agnostic federated learning for human
activity recognition on head-worn wearables; robust to missing sensors.
Published in: IEEE Pervasive Computing, 23(4): 40-49
Dario Fenoglio, Daniel Josifovski, Alessandro Gobbetti,
Mattias Formo, Hristijan Gjoreski, Martin Gjoreski, and Marc Langheinrich
Proposes a federated learning approach for cognitive workload estimation using wearable sensors,
achieving performance comparable to centralized models while preserving data privacy.
Published in: Proc. International Conference on Mobile and Ubiquitous Multimedia (MUM
'23)
Theses
Academic theses showcasing my research in machine learning and federated learning and my
development skills on local and distributed systems.
10/10
Combining Contrastive and Pretext-Based Learning for Effective Encoders from
Unlabeled and Federated Data in Human Activity Recognition and Beyond
Master's thesis on Multi-Task Self-Supervised Learning for label-efficient learning. Modular PyTorch
framework combining contrastive + pretext tasks with dynamic loss weighting, and centralized/federated
training (HAR/STL-10) to learn compact, robust representations.
Institution: Università della
Svizzera Italiana (USI)USI Verify diploma
10/10
Bachelor thesis on federated learning for multimodal sensor data, focusing on privacy-preserving and
robust techniques to handle missing modalities.
Institution: Università della
Svizzera Italiana (USI)USI Verify diploma
Projects
Selected personal and academic projects covering as different subjects as machine learning,
web development, mobile apps, robotics, visual computing and computational fabrication. Projects include
individual and collaborative work demonstrating a range of skills and technologies. For most of the
collaborative projects, I acted as team leader.
Code for my Master's thesis on Multi-Task Self-Supervised Learning for label-efficient learning.
Modular PyTorch framework combining contrastive + pretext tasks with dynamic loss weighting, and
centralized/federated training (HAR/STL-10) to learn compact, robust representations.
Retrieval-augmented chatbot that answers Swiss health insurance questions using a vector database and
large language model. The system integrates semantic embeddings with FAISS vector storage to index
insurance documents, accessible through Streamlit web interface, Jupyter notebooks, and voice
conversation with speech-to-text transcription and text-to-speech synthesis. User queries retrieve
contextually relevant passages through semantic search, fed into a LangChain prompt template that
grounds LLM responses with cited document sources and relevance scores.
Arduino-based sensor network that tracks noise pollution and crowd density across urban spaces. The
system consists of several sensor nodes that collect data using camera and sound sensors to monitor
environmental conditions and transmit the information to a central server together with GPS
coordinates and timestamp for real-time mapping and analysis. The images captured by the camera
sensors are processed using computer vision techniques to estimate crowd and traffic density.
Android navigation app for USI campus with QR code scanning, voice commands, offline maps, and
crowd-sourced map extension. Features real-time navigation, camera integration, and Gemini API
assistance.
A computational fabrication tool that stabilizes 3D shapes by voxelizing an input OBJ mesh and
carving interior voxels to shift the center of mass over the support region. It voxelizes the model
using multi-direction ray casting with Fibonacci sphere sampling and jitter, extracts the lowest voxel
layer as a base, computes its convex hull via Graham scan, and repeatedly recomputes the barycenter
while removing interior voxels farthest along a semiplane opposite the hull to migrate mass. If
carving fails to achieve balance (barycenter inside projected convex hull), it dilates the base
outward in the barycenter direction and rechecks stability, then exports the final voxel configuration
as OBJ artifacts.
Thymio robot simulation that completes a maze using flood-fill path planning and sensor-driven
navigation. A dynamically sized grid stores wall bitmasks and distance costs, incrementally updated
from either camera-based occupancy extraction or proximity sensors before flood-fill recomputes
goal-oriented distances. Mirroring Micromouse phases, the controller (sense → update → propagate →
select) first reaches the goal, then returns to start while exploring more unknown cells, then
performs an optimized speed run using the cached minimal path without further full-map recomputation.
1st Place
USI Rendering
Competition
A high-performance C++ raytracer awarded first place in the USI rendering competition. The system
implements physically based lighting and materials, combining tile-based OpenMP parallelism with an
AABB tree acceleration structure for efficient triangle mesh intersection. It supports
roughness-driven BRDFs, multi-map texturing (diffuse, normal, roughness, displacement), procedural
texture generation, and reflective and refractive materials. The hierarchical acceleration pipeline
and extensive parallelization enable fast rendering of complex scenes while maintaining accurate
recursive reflection and refraction.
Search and discovery platform with custom ranking and filtering to explore content creators, built on
a Python Scrapy crawler that aggregates creator data from Patreon, Ko-fi, and SubscribeStar into a
Solr search index. The Vue.js frontend queries a Node.js backend API to deliver faceted search results
ranked by custom scoring algorithms, enabling users to discover creators through advanced filtering by
category, engagement metrics, and performance indicators. Results are personalized based on user
preferences and interaction history.
Led a 14-person team to build an educational web app that teaches programming fundamentals through
interactive Blockly exercises and real-time 3D animations. Learners create programs using Blockly's
drag-and-drop interface, which are first validated and executed on the backend to ensure correctness
and safety. The resulting instruction sequence is then animated by an on-screen robot using a Three.js
pipeline that visually mirrors the program's logic.
Collaborative text editor web application featuring real-time synchronization and sharing tools.
Built with Express.js and Node.js on the backend, it uses ProseMirror with operational transformation
to handle concurrent editing while keeping documents in sync. Socket.IO manages real-time
communication between clients, MongoDB stores documents and user data, and Passport.js handles
authentication. When users edit, changes flow through WebSockets to the server, get applied to the
document, and broadcast instantly to other collaborators.
Java-based spreadsheet application with formula evaluation, validation, and persistent storage. The
spreadsheet stores cells in a HashMap with formulas represented as Abstract Syntax Trees. When a cell
is updated, dependent cells are automatically marked for recalculation. Supported operations include
basic arithmetic, trigonometric functions (SIN, COS, TAN), and range operations (SUM, AVERAGE, MIN,
MAX, COUNT). The system detects circular references during evaluation. Data can be saved in a custom
.cellarium format or exported as CSV, with full undo/redo support through state
snapshots. Both text-based and graphical interfaces are available.