📝 Articles

Practical insights on Java development, cloud-native architecture, DevOps, and software engineering.

Building an AI Agent for Code Generation: Lessons from 9 Iterations

Practical lessons learned from developing an agentic AI system that generates source code — from naive prompting to a robust, tool-using agent with diff-based updates and dynamic context management.

Restic Explorer 1.0 — A Lightweight Monitoring Dashboard for Restic Backups

Restic Explorer 1.0 is out — a lightweight, self-hosted web dashboard that monitors all restic backup repositories across S3, Azure, SFTP, REST, and Rclone from a single UI with automated scans, integrity checks, and retention policy tracking.

From Legacy to Lean: Rethinking Your Backup Strategy

How we replaced a costly, complex backup system with a simple shell script and S3 storage — and the key questions to ask before you do the same.

Evaluating Self-Hosted AI Services: A Translation Service Case Study

A practical evaluation of replacing DeepL with a self-hosted translation service using open-source LLMs — comparing quality, performance, and cost.

Migrating a Monolith to Microservices: A Practical Guide

A hands-on walkthrough of the architectural decisions and patterns I use when migrating Java monoliths to cloud-native microservices.