Harry Wik

Machine Learning Engineer
Harry Wik

About

Hi! I'm Harry, a Machine Learning Engineer based in Stockholm, Sweden.

This website showcases my work, thoughts, and professional journey.

Contact

I'm always open to discussing new projects, opportunities, or just having a chat about technology. Feel free to reach out!

A colorful drawing by Harry

Neo4j MPGNN Thesis

5 pages
Updated Sep 9, 2026

Master's thesis on integrating Graph Neural Networks with Neo4j, benchmarking cost-efficient training and inference pipelines for graph-structured data.

  • 1.Background & ProblemExploring why graph neural networks need efficient integration with graph databases, and the computational challenges of processing large-scale graph data.
  • 2.Architecture & IntegrationBuilding the integration between Neo4j and PyTorch Geometric with custom graph stores, feature stores, and a Java UDP plugin for in-database computation.
  • 3.Inference StrategiesComparing four inference strategies: full graph loading, neighborhood sampling, in-database Cypher queries, and in-database Java execution for GNN inference.
  • 4.Training StrategiesBenchmarking training approaches: baseline PyG sampling, Java UDP plugin optimization, pre-aggregation, and GraphSAINT subgraph sampling for GNN training.
  • 5.Results & FindingsKey findings: no accuracy loss with database-backed pipelines, cost-efficient training on smaller machines, and competitive in-database inference performance.
#thesis#graph-neural-networks#neo4j#machine-learning

TinyML Arduino Posture Classifier

4 pages

An Echo State Network running on Arduino Nano 33 BLE that classifies posture using IMU sensor data, with federated learning over Bluetooth Low Energy.

  • 1.Setup and HardwareSetting up the Arduino Nano 33 BLE for TinyML. Exploring the board's specifications, Echo State Network architecture, and memory constraints for edge inference.
  • 2.Data Collection and Feature ExtractionCollecting 9-axis IMU data from the Arduino, extracting statistical features with a sliding window, and applying EMA normalization for posture classification.
  • 3.Model Training and InferenceTraining the Echo State Network with online gradient descent, softmax classification, and real-time inference on the Arduino, all within 256KB of RAM.
  • 4.Federated LearningFederated learning over Bluetooth Low Energy, sharing and aggregating model weights between Arduino devices using weighted averaging based on training data.
#tinyml#embedded#machine-learning#arduino

Latest from the Blog

View all posts →