Skip to content
Software Engineer, MLOps Engineer, HPC Enthusiast, Homelab Operator

Iasonas Kakandris

Building infrastructure where AI research meets compute — HPC clusters, MLOps pipelines, and self-hosted systems.

  • HPC

    Slurm · Open OnDemand

  • MLOps

    Kubernetes · Kafka

  • Homelab

    25+ self-hosted services

  • Based in

    Athens, Greece

About

Infrastructure engineer with a builder's mindset

A bit about me

I'm a Software Engineer at IIT, NCSR "Demokritos", working on Pharos — the Greek AI Factory, an EU-funded initiative bringing national AI computing infrastructure to researchers across Greece.

My work spans HPC cluster administration (Slurm, Open OnDemand, Ansible), MLOps platform engineering, and a self-hosted homelab running 20+ services behind Traefik. I hold an M.Eng from AUTh with a thesis on a declarative DSL for streaming ML pipelines.

Mensa member. Fluent in Greek, English, Italian, and German.

By the numbers

25+

Self-hosted services

4+

Years engineering

Currently

Software Engineer at IIT, NCSR "Demokritos"

Pharos — the Greek AI Factory

Stack

  • Python
  • C++
  • Java
  • TypeScript
  • Dart
  • C
  • Bash
  • Kafka
  • Quix Streams
  • River
  • PostgreSQL
  • MinIO
  • Firebase
  • Docker
  • Kubernetes
  • k3s
  • Istio
  • ArgoCD
  • Kyverno
  • Helm
  • OpenTofu
  • Ansible
  • Falco
  • Trivy
  • cosign
  • Slurm
  • Apptainer
  • Traefik
  • Tailscale
  • Authentik
  • Keycloak
  • OpenLDAP
  • SSSD
  • ColdFront
  • Prometheus
  • Grafana
  • Loki
  • Kiali
  • Zammad

Infrastructure

Kubernetes cluster

Every request passes through Authentik, ztunnel mTLS, and Kyverno policy before it reaches a pod

request-path

Diagram: a request travels from a client through Authentik (auth), ztunnel (mTLS, L4) and Kyverno (policy) to a pod, which answers 200 OK; the response travels back through ztunnel to the client.

  • k3s
  • Istio ambient
  • ArgoCD
  • cert-manager
  • Kyverno
  • Authentik
  • Sealed Secrets
  • Trivy

Experience

The journey so far

  1. IIT, NCSR "Demokritos"

    Feb 2026 – Present

    Software Engineer

    Integrated OpenBao into Themelio for dynamic, short-lived credentials and per-role access. Built zone-based network isolation on the Kubernetes cluster with Calico GlobalNetworkPolicy. Deployed Open OnDemand with Keycloak OIDC on Rocky Linux 9, exposing Jupyter, VSCode, and RStudio as Apptainer apps. Stood up Outline, Keycloak, Zammad, and Plane as the team's docs, auth, support, and project-tracking stack, and migrated provisioning and deployment to Ansible, Terraform, and ArgoCD.

    • OpenBao
    • Calico
    • Open OnDemand
    • Keycloak
    • Ansible
    • Terraform
    • ArgoCD
  2. ICS, FORTH

    Jul 2025 – Feb 2026

    MLOps Engineer

    Trained a semantic segmentation model for river region detection (Dice 0.91). Deployed a containerized data pipeline on Kubernetes integrating Kafka, MinIO, PostgreSQL, and Grafana dashboards for live metrics.

    • MLOps
    • Kubernetes
    • Kafka
    • Grafana
  3. Technology Without Borders

    Jul 2024 – Sept 2024

    Software Engineer Intern

    Created B2B apps with Microsoft PowerApps, reducing processing time by 98%. Designed an event management app with Flutter & Dart, and built a Chrome extension using Plasmo and Firebase.

    • Flutter
    • Dart
    • PowerApps
    • Firebase
  4. SpaceDot (student space team)

    Nov 2021 – Nov 2024

    Software Engineer

    Built the Angular operator UI to monitor and control the team's satellite data transmission system. Containerized the application with Docker, cutting deployment time by 40%.

    • Angular
    • TypeScript
    • Docker

Projects

Things I've built & run

  • Live

    Beaver

    A declarative DSL for building ML pipelines on live data streams. Write .bvr files — Beaver generates Python that wires Kafka, Quix Streams, River, and Plotly/Dash together. Includes static validation, model analysis, a unified CLI, and detailed error reporting. Developed as my M.Eng thesis.

    • TextX
    • Jinja
    • Kafka
    • Quix Streams
    • River
    • Python
    • Docker
  • Live

    ESP32 Greenhouse Monitor

    Standalone greenhouse monitor — no PC required after setup. DHT22 reads temperature and humidity; two potentiometers set alert thresholds; readings display on a 16×2 LCD. The ESP32 hosts its own web dashboard and fires Telegram alerts when thresholds are crossed.

    • ESP32
    • C++
    • DHT22
    • Telegram API
    • Embedded
  • Live

    SixPath

    Self-hosted professional network graph tool. Maps people, projects, and relationships through an interactive graph interface.

    • TypeScript
    • Graph
    • Self-hosted
  • Building

    Pharos AI Factory

    EU-funded Greek national AI infrastructure. Building the platform layer connecting researchers to compute — HPC, Open OnDemand, identity management, and cloud-native services.

    • EU
    • AI
    • HPC
    • Infrastructure

Homelab

Self-hosted stack

25+ Dockerized services across 2 machines — Traefik reverse proxy, Cloudflare DNS

Media

07
  • Jellyfin
  • Sonarr
  • Radarr
  • Prowlarr
  • Jellyseerr
  • qBittorrent
  • Recommendarr

Photos & Docs

06
  • Immich
  • Paperless
  • BookLore
  • Syncthing
  • File Browser
  • Karakeep

Infrastructure

06
  • Traefik
  • Pi-hole
  • Portainer
  • Beszel
  • Uptime Kuma
  • n8n

Finance

02
  • Actual Budget
  • Ghostfolio

AI & Storage

02
  • Open WebUI
  • OpenMediaVault

Curriculum Vitae

Iasonas Kakandris

Software Engineer · MLOps · HPC Infrastructure

Updated Sep 2026

Contact

Let's talk

Whether it's infrastructure, MLOps, or just a good conversation about self-hosting — reach out.