Skip to content
View HuberNicolas's full-sized avatar

Block or report HuberNicolas

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
HuberNicolas/README.md

Nicolas Huber

makes messy data behave

raw data  →  pipeline  →  model

Website LinkedIn ORCID Location


> whoami

I build data pipelines and machine-learning systems. Since June 2025 I'm an IT trainee at Migros, rotating through the data teams of the group. Before that I did my BSc and MSc in Informatics at the University of Zurich, with a semester at UTS Sydney in between.

What I enjoy most is the full chain: a pipeline, a model, and an interactive visualisation at the end that people actually use. I like to understand the data before I build on it, and I'd rather publish a worse number than a wrong one (see the heart disease rewrite below).

class NicolasHuber:
    role     = "IT trainee, data engineering & ML"
    employer = "Migros-Genossenschafts-Bund"
    rotation = "Digitec Galaxus, data team"   # current station
    degree   = "MSc Informatics, UZH"
    focus    = ["data pipelines", "ML in production", "visual analytics"]

> git log --oneline

2026  digitec-galaxus  data team: moving ML models to a new Airflow platform
2026  migros-bank      dbt + Dagster pipeline on OpenShift, workshops on dbt, data products and Git
2025  mgb-data         aggregation layer for model training, built as a dbt pipeline on Google Cloud
2025  msc-uzh          thesis: SDG Tag Heroes, graded 6.0
2024  uts-sydney       exchange semester: UNIX systems, data science, cyber security
2023  ivda-uzh         research assistant: visual analytics prototypes with FastAPI, Qdrant, Vue, D3
2023  ieee-csr         co-author of a paper on Moving Target Defense, from my bachelor's thesis
2021  novu             junior web developer: Symfony apps, an internal ERP, courses for apprentices

> featured work

live  you can open these right now

Project What it is
SDG Tag Heroes · open the app Researchers label papers by UN Sustainable Development Goal: a model suggests, players vote and decide. Covers the whole chain from harvesting publications through embeddings and a vector database to the API and a D3 frontend. Master's thesis, 2025, graded 6.0; the thesis state lives on the thesis branch. Runs on my VPS (infrastructure). Nuxt D3 FastAPI Qdrant
Towers vs. Monsters · play it A tower defense game where every tower fires in one straight line, so where you put it and which way it faces decides everything. 30 rounds with boss waves. Remake of our 2021 software engineering lab project, which needed a Java server and a fixed window; this one runs in the browser, on desktop and phone. React TypeScript Canvas
OkCupid Explorer · live demo Answer a dating questionnaire and see where you land among 842 OkCupid profiles. Cosine similarity, PCA and k-means run in the browser. Group project 2022, rebuilt 2026. Vue TypeScript ECharts

Towers vs. Monsters: plant towers shooting along the path at a wave of monsters

data & ml

Project What it is
heart-disease-risk-factors-uzh Our first data science project from 2021, rewritten in 2026. The rewrite found target leakage in the original: without it, the models barely beat the baseline. scikit-learn pandas
sdg-classifier DistilBERT fine-tuned for multi-label SDG classification of abstracts, with full fine-tuning or LoRA. Built for the thesis in 2024, rebuilt as a package in 2026 with a fix for the class weights. PyTorch Transformers
academia-maestro Asks a folder of research papers the same questions and turns the answers into a comparison table for a literature review. Works with ChatPDF, Claude or a local model through Ollama. Python LLM

academia

Project What it is
MTDStrategySelectionAgent An agent on small IoT devices reads system metrics and picks the Moving Target Defense that fits the malware it sees. Bachelor's thesis; I'm co-author of the resulting paper at IEEE CSR 2023. Python IoT security
network-science-uzh Four graded assignments from the Network Science course: centralities, community detection, null models and epidemics on networks. UZH, 2023. NetworkX Jupyter
numerical-methods-uzh The classic numerical methods, from root finding to numerical integration, each written from scratch as a MATLAB function. UZH, 2020. MATLAB
gaia-classifier Sorts Gaia DR3 stars by spectral class: feature sets by decision-tree importance, then a cross-validated grid search over ten classifiers. Class Kaggle competition at UTS Sydney, 2024. scikit-learn

Also here: infrastructure (one VPS, Coolify, images built in GitHub Actions) and docker-dbs (six databases for local development, one command).

> toolbox

Languages  Python SQL PHP LaTeX

Data & ML  dbt Dagster Airflow scikit-learn pandas PyTorch Qdrant

Web  Vue.js D3.js FastAPI Symfony

Infra & Ops  Docker Kubernetes OpenShift Google Cloud GitLab


Formerly known as the aspiring code alchemist.

Pinned Loading

  1. MTDStrategySelectionAgent MTDStrategySelectionAgent Public

    Bachelor Thesis from 2021: MTD Strategy Selection Agents (Python) based on detector script and created policies, including Evaluation.

    Jupyter Notebook 2 1

  2. okcupid-explorer okcupid-explorer Public

    Answer a dating questionnaire and explore how similar you are to 842 OkCupid profiles (UZH IVDA 2022, updated 2026)

    Jupyter Notebook

  3. portfolio portfolio Public

    Personal portfolio of Nicolas Huber — aspiring code alchemist.

    Vue

  4. sdg-tag-heroes sdg-tag-heroes Public

    Jupyter Notebook

  5. sdg-tag-heroes-dataset-generator sdg-tag-heroes-dataset-generator Public

    Python

  6. tower-defense-remastered tower-defense-remastered Public

    TypeScript