About
Daniel Prinz
I build software, work on AI systems and run the infrastructure that much of it sits on. On this blog I write about things I have built, tested or operated myself.
My day job is software engineering at a Swiss cantonal bank. On the backend I build microservices with Java, Spring Boot and Quarkus, on the web frontend with Angular. On top of that come the integration with an Avaloq core banking system and building a mobile banking app on Kotlin Multiplatform.
Alongside classic software development, I increasingly work on the practical introduction of AI. I assess requirements and candidate use cases, support the planning of AI initiatives, and think about how AI-assisted development can be integrated sensibly into existing teams and processes.
That is not only a question of picking the right tools. Clear guardrails, training and a realistic view of where AI genuinely helps, as opposed to where it merely creates new sources of error, matter at least as much.
whoami
- Role
- Software engineer, full stack
- Industry
- Banking, Switzerland
- Backend
- Java · Spring Boot · Quarkus
- Frontend
- Angular · Kotlin Multiplatform
- Focus
- AI engineering
- Degree
- Dipl.-Wirtschaftsinformatiker (FH), 2006
- Studying
- MAS Data Science, FFHS Zurich
- Own servers
- for about ten years
Background
Software development has been part of my working life for more than twenty years. Along the way I have worked on online advertising, SEO and SEM, large web platforms, distributed systems and a good number of projects in banking and insurance.
Since 2017 my professional focus has been entirely on banking. That environment shows quickly whether a technical idea only looks good in a demo or whether it also copes with existing systems, regulatory requirements and complex processes. That perspective shapes how I look at AI too: it gets interesting to me where it can be integrated reliably into real applications and workflows.
I originally studied business information systems and graduated in 2006 as Diplom-Wirtschaftsinformatiker (FH), a German degree roughly equivalent to a master's in information systems. Since early 2025 I have been studying part-time for an MAS in Data Science at FFHS Zurich, where I have already completed the CAS modulesData Science Fundamentals, Machine Learning and AI Engineering.
What this blog is about
The focus of this blog is AI engineering.
What interests me is the path from a first idea to a system that can actually be operated. That includes LLM applications, agentic systems with real tool access, RAG pipelines, evaluation, deployment, monitoring, and the many unspectacular details that production solutions tend to fail on.
A second theme is AI-assisted software development, from classic coding assistants to agentic development tools and vibe coding. What matters to me is not how impressive a tool looks in a prepared demonstration, but whether it delivers consistent results in real projects and fits into existing development processes.
I also write about self-hosting and home automation. Those are not the main focus, but they give me a good practical test bed. A lot of technology can be tried out there under realistic conditions: networking, containers, GitOps, authentication, monitoring, backups, local AI models and the integration of very different systems.
The articles here are therefore rarely pure step-by-step tutorials. They read more like technical field reports: which problem I wanted to solve, which approaches did not work, and which configuration ended up running reliably.
My own test bed
My self-hosting started with a single Raspberry Pi. Today my homelab is a multi-node Proxmox setup with three hosts and more than twenty services.
Among them are Home Assistant and Zigbee2MQTT for a smart home with around 50 sensors and actuators. Besides Zigbee I also run Matter over Thread with my own OpenThread border router. Frigate handles the cameras, and there are Paperless, Vaultwarden and Windmill. Caddy serves as the reverse proxy, Authentik handles central sign-in. Configuration and deployments are largely managed in Git and rolled out automatically.
This blog is part of it. Astro generates static HTML, the application is built as a container, Caddy terminates TLS, and publishing runs through a CI pipeline.
I use the homelab as a test environment for new technology, automation and operating models. Many of the topics I write about here come straight out of those projects.
Away from the computer
I volunteer as a demonstrator at the Kreuzlingen observatory, where I explain the night sky, astronomical context and the observatory's equipment to visitors.
I also do some astrophotography and process the results in PixInsight.
Beyond that I serve with the volunteer fire brigade in Kreuzlingen.
Get in touch
I welcome technical questions, well-argued disagreement, pointers to better solutions and conversation about interesting engineering work.