<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Work on Matej Karolcik</title><link>https://karolcik.com/work/</link><description>Recent content in Work on Matej Karolcik</description><generator>Hugo</generator><language>en</language><lastBuildDate>Tue, 01 Sep 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://karolcik.com/work/index.xml" rel="self" type="application/rss+xml"/><item><title>Replacing Algolia with our own vector search</title><link>https://karolcik.com/work/vector-search/</link><pubDate>Tue, 01 Sep 2026 00:00:00 +0000</pubDate><guid>https://karolcik.com/work/vector-search/</guid><description>JUNIQE&amp;rsquo;s design search ran on a managed SaaS that could match words but not meaning. I built the service that replaced it — semantic image search in Go, on Qdrant and Postgres.</description></item><item><title>Six years of showing people their design on a thing</title><link>https://karolcik.com/work/preview-pipeline/</link><pubDate>Sat, 01 Aug 2026 00:00:00 +0000</pubDate><guid>https://karolcik.com/work/preview-pipeline/</guid><description>One question — what will this look like printed? — answered five different ways, because a poster, a t-shirt and a shopping-cart thumbnail are not the same problem.</description></item><item><title>Replacing a GPU render farm with CPUs</title><link>https://karolcik.com/work/3d-preview-renderer/</link><pubDate>Mon, 26 Feb 2024 00:00:00 +0000</pubDate><guid>https://karolcik.com/work/3d-preview-renderer/</guid><description>Product previews were rendered by a single crash-prone GPU instance. I rewrote the renderer in Rust so it would run on ordinary CPU nodes — and scale sideways instead of up.</description></item><item><title>Infrastructure for two shops</title><link>https://karolcik.com/work/two-shops-infrastructure/</link><pubDate>Wed, 01 Jul 2026 00:00:00 +0000</pubDate><guid>https://karolcik.com/work/two-shops-infrastructure/</guid><description>Two e-commerce brands, four environments, one set of Terraform modules. The boring half of backend work, and the half that decides whether the interesting half ships.</description></item><item><title>A load balancer that knows which pod is busy</title><link>https://karolcik.com/work/stateful-load-balancing/</link><pubDate>Fri, 18 Apr 2025 00:00:00 +0000</pubDate><guid>https://karolcik.com/work/stateful-load-balancing/</guid><description>Each renderer pod can serve exactly one request at a time. Kubernetes has no idea about that, so I wrote a load balancer that does.</description></item></channel></rss>