Belfast, NI · Building cloud security at Upwind

// Γιάννης Καρασαββαΐδης Ioannis
Karasavvaidis.

Principal Engineer / Software Architect / Tech Lead

I build software end-to-end: backend, frontend, data, cloud and security. Been doing it for 25+ years. Today I'm on Upwind's CloudScanner team, after nearly nine years at Puppet (now Perforce), where I was a two-time founding engineer and grew my team from 5 to 18. Greek by origin, Belfast by postcode, terminal by default.

Ioannis Karasavvaidis
25+ years shipping
25+
Years shipping software professionally, since 2000
5→18
Engineers on the team I grew as tech lead at Perforce; mentored graduate → Principal
2×
Founding engineer at Puppet: Comply and CloudOps, POC to GA-ready Kubernetes SaaS
<1s
p95 query latency on Puppet CloudOps, down from ~20s
15+
Years a Greek e-commerce platform has run in production
Selected work

Products I took from a blank repo to production.

A few things I'm proud of: what they do, and the hard parts I owned.

01

Pullminder

Founder & engineerAI PR-review platform2025 → present

Ship faster with AI coding tools without raising merge risk. A Go engine scores every pull request for risk, enforces policy, and writes a Claude reviewer brief. It runs through the GitHub App, a CLI, a CI Action and a dashboard, and extends with composable rule packs from a public registry.

  • Conceived, built and shipped solo: the Go backend, React 19 dashboard, GitHub App, CLI, and public rule-pack registry, from an empty repo to a live product.
  • Risk score plus enforceable policy: every diff gets a risk score and automatic merge gates, with a Claude-written reviewer brief on top. Reproducible, and governable by the team.
  • It remembers: Collective Memory, risk red-flagging and a System Map that shows the blast radius of every PR.
GoReactVitePostgreSQLRedisGitHub App
Read the case study
02

Puppet CloudOps

Founding engineer · end-to-end ownerMulti-cloud FinOps SaaS2024 → 2026

I owned CloudOps end to end and wrote its low-level design: cloud billing from AWS, Azure, GCP, OCI and Kubernetes, normalised to the FOCUS spec, turned into fast spend analytics and handed back to customers as Terraform pull requests they could review and apply.

  • p95 from ~20s to sub-second over billions of rows, with ClickHouse materialised views, pre-aggregation and Redis.
  • Terabytes a day, zero data loss: Kafka ingest with a KEDA-scaled parser fleet, dead-letter queues and retry, tenant isolation built in from the first schema.
  • Its capabilities later moved into Perforce Unified Compliance.
GoClickHouseKafkaKEDAGraphQL FederationTerraformKubernetes
Read the case study
03

Puppet Installation Manager (PIM)

Creator & lead · team of 5Guided Go install TUI2022 → 2024

I conceived and built PIM from concept to delivery: a guided Go terminal UI (Bubble Tea) that turns expert-only, multi-host Puppet Enterprise installs into a repeatable few-minute flow: the one supported install path, driving the PEADM orchestration engine underneath.

  • Guided, not a runbook: the TUI configures and runs a supported PE install from a few prompts, or a JSON file for unattended, repeatable automation. Installs and upgrades.
  • Every architecture: standard, large and extra-large from a jump host onto remote nodes, with disaster recovery via a primary-server replica.
  • PEADM as the engine: under the TUI, PIM drives the open-source PEADM Bolt module: idempotent install, upgrade, convert, expand and recover. Inherited and driven forward as PIM's foundation.
GoBubble TeaPuppetBoltRubyPostgreSQLHA / DR
Read the case study
04

TTYper

CreatorTyping trainer over SSH2026 → present

An adaptive typing trainer and multiplayer race server you play in your terminal. No sign-up page, no app: ssh ttyper.com and you're in. Live since November 2026.

  • No account, no password: connect and start typing, claim your progress later with an email, or practise offline with ttyper-local.
  • Run like a product: Go services and PostgreSQL behind HAProxy and Caddy, secrets from Infisical, encrypted off-site backups.
GoSSHPostgreSQLHAProxyDocker
Read the case study
05

Puppet Comply

Founding architect · UI Tech LeadCompliance SaaS2020 → 2022

Now sold as Security Compliance Management. I took Comply from POC to GA-ready Kubernetes deployment, standing up the deployment platform, CI/CD and full-stack testing infrastructure from scratch.

  • As UI Tech Lead: a TypeScript + React component library, state-management and API patterns, frontend CI/CD, error tracking and FE coding standards.
TypeScriptReactGo KubernetesCI/CDTesting infra
06

The AI-native SDLC

Builder & owner · Studio110Agent-driven engineering2026

My own agentic delivery pipeline, built and run at Studio110: ticket → low-level design → spec → plan → review → PR → code review → CI → merge → follow-up.

  • Authored the project CLAUDE.md, project-specific Claude skills, and custom MCP servers integrating internal tooling.
  • atlas-ctl, a control plane that runs each agent in its own sandboxed container, routes work across models and cleans up stuck runs.
  • Guardrails stay on: branch protection, CI and an independent review step before anything merges, with every run logged.
Claude CodeMCP authoringAgentic SDLCAgent code review Go TypeScript React
Read the case study
07

Studio110 · efantasy.gr

Founding engineer & Principal EngineerGreek e-commerce platform2009 → present

Founding engineer and 15+ year maintainer of efantasy.gr, an Upmate product: 145,000+ products across 37 categories, shipping to 70 countries. I designed the high-availability cluster and the ERP-to-storefront integration bridge. ERP is the source of truth, with real-time sync to multiple storefronts.

  • Cross-domain delivery: payment gateways, ERP integration, custom CMS, VPS/cloud infra.
  • Built & supported distributed dev teams: interviewing, mentoring, code review, engineering standards.
High availabilityERP integrationPaymentsPHPCustom CMS
Read the case study
08

Production engineering

Production owner · Studio110E-commerce operations2009 → present

No SRE team, so I'm it: I keep the e-commerce platforms I run up, fast and honest, from the load balancer to the payment callbacks.

  • HA and observability: HAProxy, a Galera cluster and replicated search, with Prometheus and Grafana alerting. Every fix ships with a metric.
  • Bot defence under load: traced a bot-farm flood during a product drop, rate-limited it at the edge and kept tightening the rules without locking out real customers.
  • Idempotent payments: retries and races can't turn into duplicate orders.
HAProxyGaleraPrometheusGrafanaBot defenceIncident response
Read the case study
09

Trakter, rebuilt from the ground up

End-to-end ownerModern e-commerce platform2025 → present

A ground-up rebuild of the Trakter storefront into a type-safe commerce platform: a ~95K-LOC Go API, a TanStack Start SSR storefront with a Vite + React admin, ERP-synced like efantasy.gr, and instant typo-tolerant search. Containerised on Docker Swarm, all in a Turborepo with end-to-end OpenAPI codegen. Running in production, in pre-launch testing.

  • Go API + typed client: an OpenAPI contract enforced from PostgreSQL to the button; the frontend can't drift from the API without the build catching it.
  • ERP-synced: an ERP as the source of truth, like efantasy.gr, with a sync bridge I built from scratch.
  • Meilisearch for instant, typo-tolerant product search across the catalogue.
GoTanStack StartReactPostgreSQLValKeyMeilisearchERPDocker Swarm
Read the case study
More work

A wider sweep of what I've shipped.

Side projects, client builds and open-source tools: filter by what you care about.

Career

25 years, condensed.

From set-top-box UIs on constrained hardware to Principal & Tech Lead on multi-cloud SaaS, and now cloud security.

Aug 2026 – Present

Upwind Security · Software Engineer

Belfast · Hybrid

In a small skunkworks team on CloudScanner, Upwind's agentless scanner for workloads on AWS, Azure, GCP and OCI. Full stack, short iterations, shipping fast. Upwind gives its engineers one title, whatever the level.

Oct 2017 – May 2026

Puppet (acquired by Perforce, 2022)

Belfast, UK
  • Principal Software Engineer II / Tech Lead · Perforce · Aug 2022 → May 2026
  • Principal Software Engineer / Tech Lead · Puppet · Apr 2021 → Aug 2022
  • Senior Software Engineer / UI Tech Lead · Jan 2020 → Apr 2021
  • Senior Software Engineer · Oct 2017 → Dec 2019

At Puppet from the early Discovery and Remediate days (→2020). Founding engineer on two products: Comply (now Security Compliance Management) and CloudOps, a multi-cloud FinOps platform I owned end to end, where p95 queries went from ~20s to under a second. Creator of the PIM install TUI. As tech lead I grew the team from 5 to 18 engineers and mentored people from graduate through Principal.

Feb 2009 – Present

Studio110 · Founder & Principal Engineer

Belfast / Thessaloniki · Remote · in parallel

My product-engineering studio. It started in web radio and streaming, and today works with Upmate to build and run e-commerce platforms: efantasy.gr (HA cluster + ERP-to-storefront bridge, 145,000+ products across 37 categories, shipping to 70 countries), the Trakter commerce rebuild (Go API + React), 24hr.gr and survivorshop.gr. I run the production side too: monitoring, bot defence, security patching and incident response.

Products I've built: Pullminder (AI pull-request review), TTYper (typing over SSH), go2url.me and the Strong Password Meter.

Jan – Oct 2017

IBM · Frontend Developer

Belfast

Architected and maintained QRadar security applications. Designed CI/CD with GitLab CI, automated dev-env setup via Docker & Bash, delivered secrets encryption, modular proxy systems and application isolation; built unit/E2E/validation testing infrastructure.

Jun 2016 – Jan 2017

RepKnight · Frontend Engineer

Belfast

Led modernisation of a legacy PHP application into a real-time React platform. Built real-time data-visualisation dashboards over WebSockets with a custom Node.js bidirectional bridge server; ran the end-to-end migration with no downtime.

2000 – 2016

Earlier · Greece & Belfast

ARRIS / Pace · UpMate · Radiothessaloniki · Net Fans

Set-top-box UI on resource-constrained devices & performance optimisation (ARRIS / Pace). Architected the Easy Admin CMS & Dynamic Action Suite flagship PHP CMS, initial build of efantasy.gr, ERP integrations & multi-store management (UpMate). Full-stack web, DB & server operations across radio and gaming-server businesses.

Toolbox

Deep across the stack: not a specialist who forgot the rest.

Languages

GoTypeScriptJavaScriptPythonRubyPHPSQLBash

Frontend

ReactAstroTanStack Start (SSR)TanStack Router / QueryApollo ClientTailwind CSSViteWebpackSCSS

Backend & APIs

Go microservicesGraphQL (Apollo Federation)gqlgenRESTgRPCWebSocketsEvent-drivenS2S authIdempotency

CLI & Developer Tooling

Go CLIsBubble Tea / Charm TUIsCobraViperTerminal UXHomebrew distributionGitHub Apps / webhooks

Data, Search & Streaming

ClickHousePostgreSQLRedisApache KafkaAWS SQSMeilisearchApache SolrMaterialised viewsReplacingMergeTree

Cloud & Infrastructure

AWSGCPAzureOCIIBM CloudCloudflare WorkersD1 / KV / R2KubernetesKEDADockerHelmTerraformPuppetBoltArgoCDGitLab CIGitHub Actions

Observability

PrometheusGrafanaOpenTelemetryAlertmanagerELK StackOpenSearch

AI / Agentic Engineering

Claude CodeMCP server authoringAgentic SDLCProject Claude skillsAgent code reviewAI onboarding

Architecture

Multi-tenant SaaSMulti-cloudFinOpsFOCUS specGitOpsEvent-drivenHA / DRPayments integrationRBACOIDC / OAuth2

Leadership

Technical directionArchitecture & designHiring through PrincipalMentorshipCross-team interviewingFeature-team leadership
About

I'm a builder who never stopped being curious: happiest with a terminal open, a hard problem on the whiteboard, and a team I can level up around me.

Born and raised in Thessaloniki, based in Belfast for years now, so a lot of my work quietly bridges two places. I've spent 25+ years going deep across the whole stack: I'll happily argue ClickHouse query plans in the morning and pixel-tune a React component in the afternoon. Lately I'm all-in on AI-native engineering: authoring MCP servers and building agentic workflows that make whole teams faster, not just me.

I care most about the human side of this craft: hiring well, mentoring people from graduate to Principal, and handing codebases off cleaner than I got them. Outside the editor I'm a tinkerer: I type on a split keyboard running Miryoku, write small Neovim plugins, play with MeshCore packet radio, and keep a web radio on air for my dad and his friend's shows.

Contact

Let's build something solid.

Hiring, collaborating, or just want to talk shop about ClickHouse or agentic SDLCs? My inbox is open.

Opens in your mail client