What I do for a living
I have been building web applications and backends for over twelve years, mostly in Laravel. I design REST APIs, store data in PostgreSQL, look after queues and all the boring reliability work that keeps an API predictable. On the frontend I use Livewire and Vue.js.
Before the web I spent a decade in embedded and IoT: firmware in C for Atmel AVR and PIC, binary protocols, telemetry. That is where I learned to guard a data format down to the last byte and to treat an edge case as normal operation.
I use AI every day, in products and in the editor, and I know where it breaks. So the model gets a strict output schema and deterministic tools. Whether the work is done is decided by Pest, PHPStan and me. Not the model.
Why a blog
I write about things I tried myself first and that cost me time: code, security, AI tools, electronics. In Czech and English, no ads, no fluff.
What I work on
- CaptchaAPI: a proof-of-work CAPTCHA that does not track users and does not need Google.
- Billify: an invoicing REST API. An LLM reads received PDF invoices and the VAT return is built from them.
- Exile to Exile: a free Path of Exile 2 companion built with Laravel, React and Inertia.
- Weather station: an ESP32 on my balcony, from the sensor and firmware to the web, with a regression model that subtracts the heating from the sun.
- pis-cesky: a Claude Code plugin that teaches the model to write Czech that does not read like a translation.