vladislav@rajtik: ~/about

vladislav@rajtik:~$ whoami

Vladislav Rajtmajer

Senior PHP / Laravel vývojář

Plzeň · remote · spolupráce na IČO

k dispozici pro novou spolupráci

vladislav@rajtik:~$ cat about.md

Webové aplikace a backend stavím už víc než dvanáct let. Pracuji hlavně v Laravelu: navrhuji REST API a API pro frontend, data ukládám do PostgreSQL, řeším fronty a tu nudnou práci kolem spolehlivosti, díky které se API chová předvídatelně. Frontend dělám v Livewire a Vue.js.

Než jsem přešel na web, deset let jsem dělal embedded a IoT: firmware v C pro Atmel AVR a PIC, binární protokoly a telemetrii. Tam jsem se naučil hlídat přesný formát dat a brát okrajové případy jako běžný provoz.

AI používám každý den, v produktech i v editoru, a vím, kde selhává. AI proto dostává přísné schéma výstupu a deterministické nástroje. A o tom, jestli je práce hotová, rozhodují testy a já, ne AI.

# Hledám dlouhodobou remote spolupráci na IČO, ideálně na moderním PHP/Laravel stacku.

vladislav@rajtik:~$ cat ai.md --in-production

Billify LLM v produkci Claude převádí PDF faktury od dodavatelů do typovaného schématu. Kurz ČNB si model bere z nástroje napojeného na mou vlastní kurzovou službu. Co je nejasné, skončí v poznámce ke kontrole a každý řádek potvrdí člověk. Kvóta pro každý tým, auditní log a nejlevnější model, který obstojí (asi 0,01 USD za PDF).
pis-cesky open-source plugin pro Claude Code Učí model psát česky tak, aby text nezněl jako strojový překlad. Nejde o blacklist frází: pravidla vycházejí z textů psaných lidmi a kontrolní agent nikdy nevidí zadání, takže posuzuje jen text.
Každodenní práce Claude Code AI je pro mě nástroj, autorem kódu zůstávám já. Kde pomůže, nechám ji projít kód, porovnat možnosti, zkontrolovat změnu nebo převzít rutinu. Návrh a rozhodnutí zůstávají na mně a nic se nemerguje, dokud neprojdou Pest a PHPStan a já si diff nepřečtu. Měřím, kolik práce s AI stojí (audity tokenů), a na blog.rajtik.com píšu o jejích chybách.

vladislav@rajtik:~$ ls projects/

CaptchaAPI

CAPTCHA bez sledování · EU

CAPTCHA na principu proof-of-work, od začátku navržená v souladu s GDPR. Nic nesleduje a Google nepotřebuje. Má vlastní balíček pro Laravel a plugin pro WordPress.

Billify

fakturační API · LLM · CZ

Faktury vystavíte přes jednoduché REST API. Pro vývojáře, kteří radši zavolají endpoint, než by se proklikávali účetním programem. Přijaté PDF faktury přečte LLM a aplikace z nich připraví měsíční přiznání k DPH.

Exile to Exile

open-source produkt · PoE2

Bezplatný pomocník pro Path of Exile 2 postavený na Laravelu, Reactu a Inertii: plánovač buildů, nástroje pro pasivní strom, generátor loot filtrů a sdílení buildů.

POE2 Toolkit

herní nástroje · OSS

TypeScript toolkit nezávislý na frameworku: extrakce z GGPK, typované extraktory herních dat a headless engine pro geometrii pasivního stromu s rendererem v Reactu. Používá ho Exile to Exile.

blog.rajtik.com

psaní · CZ/EN

Zápisky z dílny: píšu o programování, elektronice, AI nástrojích a podnikání. Česky i anglicky.

Weather Station

ESP32 · Laravel · PostgreSQL

Meteostanice na balkoně, můj vlastní koncept, od čidla po web. Firmware pro ESP32 v C++ čte čtyři senzory přes I2C a I2S, déšť pozná ze spektra mikrofonu, a když vypadne síť, uchová ve flash paměti měření za celý den. Schémata jsou v KiCadu. Data přijímá API v Laravelu a ukládá je do PostgreSQL. Slunce ohřívá radiační štít, a tak regresní model kalibrovaný podle stanice ČHMÚ Plzeň-Mikulka tenhle ohřev odečítá podle osvitu a polohy slunce. Model jde do provozu teprve tehdy, když je na dnech, na kterých se neučil, přesnější než RAW data z čidla.

vladislav@rajtik:~$ cat packages.json --published

captchaapi/laravel Composer · Packagist
captchaapi WordPress.org · schválený plugin
poe2-toolkit · @poe2-toolkit/ggpk npm · GitHub

balíčky vycházejí ve 3 ekosystémech: Composer · WordPress.org · npm

vladislav@rajtik:~$ cat exile2exile app/Services/GameDataReleases.php

public function activate(string $version): void
{
    if (! $this->has($version)) {
        throw new RuntimeException("release {$version} is not staged");
    }

    $tmp = $this->currentLink().'.'.bin2hex(random_bytes(4));

    if (! @symlink("releases/{$version}", $tmp)) {
        throw new RuntimeException("could not create the swap symlink at {$tmp}");
    }

    if (! @rename($tmp, $this->currentLink())) {
        @unlink($tmp);

        throw new RuntimeException('could not swap the current symlink');
    }
}

Ukázka z Exile to Exile. Ověřená vydání herních dat se aktivují atomickou výměnou symlinku: každý požadavek vidí buď předchozí úplné vydání, nebo nové, nikdy napůl nahraná data.

vladislav@rajtik:~$ git log --oneline --career

2022 - dosud PHP vývojář · Na volné noze (OSVČ) Webové aplikace, REST API a API pro frontend, Livewire, Vue.js, PostgreSQL.
2021 - 2022 PHP vývojář · UBK s.r.o. Vývoj v Laravelu na několika klientských produktech.
2018 - 2021 Vývojář · Na volné noze CMS pro mezinárodní firmu. SCRUM, denní komunikace jen v angličtině. PHP 8, Nette, MariaDB.
2016 - 2018 Vývojář · MySolutions s.r.o. Seznamovací platformy ve 12 zemích. SCRUM, standupy v angličtině. PHP, Nette, MySQL.
2013 - 2015 IT administrátor a vývojář · Yazaki Interní software pro skladové hospodářství kabelových svazků, k tomu správa IT.
před 2013 Embedded, IoT a správa systémů Deset let firmwaru v C (Atmel AVR / PIC) včetně validátoru bankovek, binární protokoly pro komunikaci s hardwarem, telemetrická API, LoRaWAN; servery s Linuxem a Windows; podnikové aplikace v Delphi a FoxPro.

vladislav@rajtik:~$ cat stack.txt

PHPLaravelnávrh REST APIPostgreSQLMySQLRedisPest / PHPUnitPHPStanLivewireVue.jsInertiaTypeScriptintegrace LLM (Claude, laravel/ai)Claude CodeDockerLinuxNette (2016 - 2021)embedded CIoT / LoRaWAN

Čeština: rodilý mluvčí. Angličtina: pracovní úroveň, roky denních standupů jen v angličtině.

vladislav@rajtik:~$ contact --now

vladislav@rajtik:~$ cv --download

vladislav@rajtik:~$