DATA SCIENCE & MACHINE LEARNING SERVICES, ADVISORY, CONSULTATIONS, PROJECT WORK

Every operation needs
a Q-Branch.

We equip companies with intelligence systems — machine learning models, data pipelines and AI tooling engineered to work in the field, not just in the lab.

MACHINE LEARNING◆ DATA SCIENCE◆ MONTE CARLO SIMULATIONS◆ EXPLORATORY DATA ANALYSIS◆ FINANCIAL ENGINEERING◆
SECTION 01

Capabilities

Field-ready systems, not slide decks. Every engagement ships working software with measurable impact.

DIV. Q-01

Deep Learning

Neural networks for vision, sequences and structured data — trained, fine-tuned and evaluated properly.

  • CNNs & transfer learning
  • Sequence models & recommenders
  • Model calibration & evaluation
DIV. Q-02

Regressions, Classifications, Clustering

The core machine-learning toolkit, applied with statistical rigour rather than black-box defaults.

  • Gradient boosting & ensembles
  • Linear & partially linear models
  • Clustering & dimensionality reduction
DIV. Q-03

Financial Engineering

High-frequency system design and trading architecture: low-latency pipelines from market data ingestion to execution, built and tested against real microstructure.

  • Low-latency system & feed design
  • Strategy backtesting & simulation
  • Execution, risk & monitoring architecture
DIV. Q-04

Exploratory Data Analysis

Before any model: understanding what the data actually says, and whether it can be trusted.

  • Data cleaning & missing values
  • Statistical visualisation
  • Geospatial analysis
DIV. Q-05

Data Engineering

The plumbing behind the models: pipelines, distributed compute and clean data you can trust.

  • ETL / ELT pipelines
  • Distributed computing (Spark, MapReduce)
  • Dashboards & reporting
DIV. Q-06

Statistical Approaches

Classical statistical machinery for quantifying uncertainty and making decisions you can defend.

  • Monte Carlo simulations
  • Markov chains
  • A/B testing & hypothesis testing
SECTION 02

Education

The academic foundation behind the work.

MASTER'S DEGREE

Data Science & Machine Learning

Imperial College London

RANKED 1ST IN EUROPE · 2ND IN THE WORLD

BACHELOR OF SCIENCE

Computer Science

Swiss Federal Institute of Technology, Lausanne (EPFL)

RANKED 6TH IN EUROPE · TOP 20 IN THE WORLD

SECTION 03

Our Work

Selected applied research and engineering projects — real data, real results.

Quantitative Finance · Online Learning 2025

Multi-armed bandits for crypto asset selection

Contextual (LinUCB) and sliding-window (SW-UCB) bandit algorithms trading hourly across BTC and two altcoins on Binance data, choosing between long and short positions each hour. The contextual policy adapted to regime changes and finished well ahead of every buy-and-hold baseline over the three-month test window.

2,208
HOURLY DECISIONS
6
ARMS (3 ASSETS × L/S)
17×
VS BEST SINGLE-ASSET HOLD
Python · NumPy · pandas · Binance market data
-4k-2k0k2k4k6k8k10k12kLINUCB (OURS)BTC HOLDDODO HOLDIO HOLDJUL–SEP 2025 · 2,208 HOURLY DECISIONS · BINANCE DATA
CUMULATIVE REWARD — LINUCB VS BUY-AND-HOLD BASELINES
Computer Vision · Deep Learning 2025

Attributing paintings to artists with CNNs

Trained image classifiers to identify which of 50 artists painted a given work, on a dataset of 8,683 paintings. A fine-tuned ResNet-18 more than doubled the accuracy of a from-scratch CNN baseline, reaching 92% top-3 accuracy on the held-out test set.

81%
TOP-1 ACCURACY
50
ARTIST CLASSES
+46pp
OVER CNN BASELINE
PyTorch · torchvision · scikit-learn
0%25%50%75%100%35%81%TOP-147%89%TOP-256%92%TOP-3BASELINE CNNRESNET-18 (FINE-TUNED)8,683 PAINTINGS · 50 ARTISTS · HELD-OUT TEST SET
TEST-SET ACCURACY — BASELINE CNN VS FINE-TUNED RESNET-18
Exploratory Data Analysis · Geospatial 2025

What drives school performance across London

End-to-end exploratory analysis of 2,165 London schools: data cleaning and missing-value treatment, then geospatial and statistical exploration linking attainment to deprivation indicators — free-school-meal rates, income and employment scores — across all 33 boroughs.

2,165
SCHOOLS ANALYSED
29
FEATURES PER SCHOOL
33
BOROUGHS MAPPED
Python · pandas · matplotlib · geospatial joins
40%60%80%100%0%20%40%60%PRIMARYSECONDARYATTAINMENT VS FREE-SCHOOL-MEAL RATE · 2,165 LONDON SCHOOLS
ATTAINMENT DECLINES AS FREE-SCHOOL-MEAL RATE RISES
Healthcare ML · Model Validation 2026

Detecting cognitive impairment across countries

Gradient-boosted models classifying four levels of cognitive status — from normal to dementia — trained on 200k+ US clinical visit records. The models were then externally validated on an independent Latvian patient cohort, with SHAP explanations and calibration analysis to make predictions clinically interpretable.

92%
EXTERNAL-COHORT ACCURACY
200k+
TRAINING VISITS
0.82
COHEN'S KAPPA (TEST)
XGBoost · LightGBM · SHAP · isotonic calibration
0%25%50%75%100%8887BASELINE8891FEAT ENG8892STACKING8990ENG+ES+DEEPUS HELD-OUT TEST SETLATVIAN EXTERNAL COHORT (n=154)4-CLASS COGNITIVE STATUS · XGBOOST VARIANTS · ACCURACY %
MODELS GENERALISE FROM US TRAINING DATA TO A LATVIAN CLINIC
Agent-Based Simulation · Operations Research 2026 · ONGOING

Simulating skier flow through an entire ski resort

Master's thesis: the Flims–Laax–Falera resort rebuilt as a directed multigraph from OpenSkiMap data, with an agent-based simulation of thousands of skiers — beginners to pros — flowing through lifts and pistes in one-minute ticks. Used to analyse per-lift queue formation and test a wait-aware lift recommender.

220km
NETWORK MODELLED
30
LIFTS · 482 EDGES
3
SKIER ABILITY CLASSES
Python · NetworkX · GeoJSON · discrete-event simulation
LIFTSEASYINTERMEDIATEADVANCEDFREERIDEFLIMS–LAAX–FALERA · 225 NODES · 482 EDGES · 220 KM OF NETWORK
THE RESORT GRAPH — LIFTS (GOLD) AND PISTES BY DIFFICULTY
Unsupervised Learning 2025

Finding hidden structure without labels

A full unsupervised-learning study: dimensionality reduction with PCA, clustering, and independent component analysis to separate mixed source signals — recovering the underlying components from their blended observations (the classic blind source-separation problem).

PCA
DIMENSIONALITY REDUCTION
ICA
SOURCE SEPARATION
GMM
CLUSTERING
Python · NumPy · scikit-learn
ICA blind source separation
ICA RECOVERS TWO SOURCES FROM THEIR MIXTURE
Bayesian Machine Learning 2025

Gibbs sampling for Bayesian mixture models

Bayesian decision theory and inference: deriving optimal estimators under asymmetric loss, then building a Gibbs sampler for a Gaussian mixture to infer cluster assignments and produce a full posterior predictive density over new data.

MCMC
GIBBS SAMPLING
Posterior
PREDICTIVE DENSITY
Bayes
OPTIMAL ESTIMATORS
Python · NumPy · analytical derivations
Bayesian posterior predictive density
POSTERIOR PREDICTIVE DENSITY — A BIMODAL FIT
Deep Learning · Recommenders 2025

Session-based recommendation from click streams

Recurrent (GRU) models predicting the next item a shopper clicks, trained on the YOOCHOOSE dataset of millions of e-commerce sessions. Included full exploratory analysis of session and click behaviour plus systematic architecture and hyperparameter studies.

33M+
CLICK EVENTS
GRU
SEQUENCE MODEL
7
HYPERPARAMETERS SWEPT
PyTorch · GRU · pandas
YOOCHOOSE clickstream exploratory analysis
CLICKSTREAM EDA — SESSIONS, TIMING & TOP ITEMS
Reinforcement Learning · Healthcare 2025

Optimising HIV drug schedules with RL

Off-policy evaluation and control on a six-state ODE simulator of HIV dynamics: importance-sampling and weighted-IS estimators for policy value, hypothesis testing across state–action pairs, and an optimal treatment policy computed by backward-induction dynamic programming.

4
DRUG-COMBO ACTIONS
WIS
OFF-POLICY EVALUATION
435
STATE PAIRS TESTED
Python · SciPy · dynamic programming
1.02.03.04.04.3604.0113.4734.1144.0373.6883.89143.9617EXPECTED RETURN V₀(s) UNDER OPTIMAL POLICYBY PATIENT STATE · BACKWARD-INDUCTION DP · HORIZON H=5
OPTIMAL EXPECTED RETURN BY PATIENT STATE
Big Data · Bayesian ML

Movie recommendations at scale

Variational Bayesian matrix factorisation for movie-rating prediction, implemented as distributed MapReduce and PySpark jobs — coordinate-ascent updates over the full ratings matrix.

PySpark · Hadoop streaming · NumPy
Statistical Learning · Causal ML

Partially linear models for causal effects

Estimated treatment effects in partially linear models, comparing polynomial regression, cubic splines and a random-forest orthogonalisation approach to recover the linear coefficients under non-additive confounding.

scikit-learn · cross-validation · splines
ALSO IN THE WORKSHOP

Products, games and engineering beyond the models.

Live Product · Full-Stack LIVE — PLANTRIP.TRAVEL

PlanTrip — the all-in-one free trip planner

A live travel-planning product: destination guides with day-by-day itineraries, a visa checker for any passport, climate charts powered by our own FastAPI climate service, a trip finder quiz, interactive world and scratch maps, airline info and a travel blog. Visit plantrip.travel →

500+
DESTINATION GUIDES
200+
COUNTRIES COVERED
300
CITY GUIDES
JavaScript · FastAPI · Python data pipelines · Docker
PlanTrip interactive world map
PLANTRIP.TRAVEL — GUIDES, VISA CHECKER, CLIMATE & MAPS
Game Development · Java EPFL CS-107

SuperPacman — arcade classic, rebuilt from scratch

A complete Pacman built in Java as a two-person team: ghost AI with per-difficulty pathfinding, four difficulty tiers that scale over time, menus, options, a persistent leaderboard, camera smoothing and shake, glow effects — plus a hidden EPFL bonus level.

4
DIFFICULTY TIERS
5
LEVELS INC. BONUS
10
LEADERBOARD SLOTS
Java · custom game engine · github.com/KarlisKV/CS-107-Pacman
SuperPacman gameplay
IN-GAME FOOTAGE — LEVEL 1
Game Development · Java EPFL CS-108

Swiss rail adventures — a board game gone digital

A playable Java implementation of the classic rail-adventure board game on the Swiss map: route claiming, ticket objectives, full game logic and an interactive interface, built as a semester-long software engineering project at EPFL.

Swiss rail game map
THE SWISS NETWORK — GAME MAP
iOS Game · Swift APP STORE READY

Evade — a projectile-dodge arcade game

A polished iOS arcade game built in Swift: survive waves of incoming projectiles across a 50-level story mode spanning 5 worlds with boss battles, plus daily challenges, an in-game store with 82 items, accessibility options and full App Store packaging.

50
STORY LEVELS
5
WORLDS + BOSSES
82
STORE ITEMS
Swift · SpriteKit · App Store pipeline
SCORE 1240WORLD 3
EVADE — DODGE THE INCOMING FIRE
Web · TypeScript

CoachMe — sports coach marketplace

A marketplace connecting athletes with sports coaches — find coaches, book sessions, manage your training. Built with Next.js and TypeScript; currently in development.

Next.js · TypeScript · React
Computational Physics

Magnetic simulations & instrumentation

Physics work from EPFL: simulating magnetic bead chains in a gravitational field by minimising dipole–dipole interaction energy (Nelder–Mead optimisation), and computing magnetic moments of dipoles from Gauss-meter field measurements.

Python · SciPy optimisation · NumPy
SECTION 04

Request a Briefing

Tell us what you're trying to achieve. We'll tell you — candidly — whether machine learning is the right gadget for the job.