Senior Engineer · Luxembourg

Constantin Theis

Good software is mostly invisible.
I like making it that way.

I work across cloud infrastructure and the day-to-day craft of writing software that teams can actually maintain. Based in Luxembourg, open to senior engineering roles.

Luxembourg

Rust · Java · AWS · Python

Vue · TypeScript

ths.lu

Available for work

Work

A mix of professional and personal projects — AI pipelines, serverless infrastructure, and the occasional thing I built because it annoyed me that it didn't exist.

01

Picture Tool

Digital asset management for Amazon content

A digital asset management platform built for VML's Amazon content operations — Spring Boot backend, Vue frontend, S3 and RDS for storage, private REST API throughout. Used in production across most of the agency's client portfolio. I built everything: the core platform, the background services, the upload and download pipelines. I started it as a junior and grew with it for years — it is as much a record of my growth as an engineer as it is a piece of software.

Built and owned end to end, from junior developer to architecture decisions.

JavaSpring BootVueAWS S3RDS MySQL

02

SensAI

AI-powered review analysis

What I inherited was a broken Power BI dashboard with no documentation and no context. What I delivered was an end-to-end sentiment and topic analysis platform — scraper, AI pipeline, data storage, reporting — across multiple markets and hundreds of ASINs. I reverse-engineered what existed, designed the rest from scratch, and shipped the whole thing under significant time pressure. Then I documented all of it.

From a broken dashboard to a full end-to-end platform, shipped under significant time pressure.

AWSBedrockStep FunctionsRedshiftPower BI

03

SOV Analyzer

Share of voice intelligence

A share-of-voice analytics platform with a FastAPI backend, a Cube.js semantic layer over BigQuery, and a CI/CD pipeline deploying to ECS Fargate via CodePipeline. Cube.js as a query abstraction layer was an interesting choice — it adds complexity, but buys a consistent semantic model across consumers.

Designed and delivered a full analytics platform, from semantic layer to production deployment.

FastAPICube.jsBigQueryECS FargateCodePipeline

04

Upload / Download Pipeline

Serverless file pipeline in Rust

Hexagonal/clean architecture applied to a Rust Cargo workspace, running fully serverless on AWS. The architecture is the point as much as the functionality — hexagonal design enforced at the workspace level means the core logic doesn't know or care whether it's being called by a Lambda, a CLI, or a test.

A fast, scalable, truly asynchronous multi-processing workflow — built entirely on native AWS primitives.

RustAWS LambdaStep FunctionsSQSRDS

05

HQ

Personal utilities platform

A personal platform I use daily — Rust/Axum Lambdas, API Gateway, RDS MySQL, Nuxt frontend, JWT auth. It started as a playground. Now it's infrastructure. That tends to happen.

What started as a serverless playground became a daily-use tool — and a masterclass in keeping cloud costs at zero.

RustAxumNuxtAPI GatewayRDS MySQL

06

blog.ths.lu

Personal engineering blog

Where I think out loud. Built with Nuxt 4 and Nuxt Content v3, deployed to S3 + CloudFront. I spent more time on the typography and colour system than I'd like to admit.

No newsletter. No algorithm. Just writing.

Nuxt 4Nuxt ContentS3CloudFront

07

benching.ths.lu

AWS Lambda cold-start benchmarking

A public benchmarking dashboard that measures and visualises Lambda cold-start latency across runtimes and memory configurations. Rust/Axum on the API side, DynamoDB for storage, Nuxt UI on the frontend. Built partly because I kept making cold-start claims I couldn't back up — now I can.

Real data, publicly accessible — because claims without evidence aren't worth much.

RustAxumAWS LambdaDynamoDBNuxt

About

I've inherited more than one system with no runbook and no context. That experience made me evangelical about leaving things better than I found them.

I'm Constantin — a senior engineer based in the east Luxembourg area. Over 7 years at VML Luxembourg where I've grown into a staff-level role spanning technical leadership, AWS cloud administration, security ownership, and building customer-facing tools. Most recently, I built AI pipelines on Amazon Bedrock. I'm now looking for the next thing.

My background is broad. I'm comfortable across Java, Rust, TypeScript, Haskell, and Python — and I've learned to be more attached to solving the problem well than to any particular language for doing it. What stays consistent is an interest in architecture: how systems are shaped, how that shape affects the people who work in them, and how to make decisions that hold up over time.

Outside of work I read broadly, maintain a handful of personal projects, and write occasionally at blog.ths.lu.

Stack

Languages

Java · Rust · TypeScript · Haskell · Python · SQL

Cloud

AWS Lambda · Step Functions · ECS Fargate · API Gateway · SQS · S3 · RDS · Bedrock

Frontend

Nuxt / Vue · HTML / CSS

Data

Power BI · BigQuery · Cube.js · Redshift

Practices

Hexagonal architecture · CI/CD · TDD · ADRs · Technical documentation

Writing

I write about engineering decisions, architecture trade-offs, and the occasional slower thought that doesn't fit in a commit message. No newsletter. No algorithm. Just writing.

blog.ths.lu →

Contact

I'm open to conversations about senior engineering roles, interesting technical problems, or collaboration. Email is best.