Michał Liszcz

warsztat

Rozkład: własna apka do publikacji na trzy konta, zbudowana w jeden dzień zamiast planu za 300 dolarów

11 września o 13:17 pierwszy commit, o 23:36 wersja 1.6. Jedna kartka na trzy konta Buffera, sześć kanałów, generator opisu w moim głosie i 3,2 MB binarki na Macu.

Rozkład to apka na Macu, która pokazuje trzy moje konta w Bufferze na jednej kartce: konto osobiste, Motion Pikczer i habitat, sześć kanałów w wierszach, dni w kolumnach. Opublikowane jako pełny blok, zaplanowane jako obrys, szkic jako kreska. Powstała 11 września między 13:17 a 23:36, w 39 commitach, i od wczoraj wieczora publikuję wyłącznie z niej.

Rozkład, widok tygodnia 7-13 września 2026: trzy konta w pasmach, kanały w wierszach, po prawej szyna ze szkicami bez daty
Widok tygodnia. Po prawej dwa szkice bez daty, które czekają na przeciągnięcie na dzień.

Skąd się wzięła

8 września zapisałem decyzję: własnego narzędzia nie budujemy, płatny plan dopiero, gdy kolejka przekroczy dziesięć postów. 9 września policzyłem, ile kosztuje pięć kanałów w jednym koncie Buffera: Essentials, 300 dolarów rocznie. 11 września wybrałem trzecią drogę. Regulamin Buffera nie ma klauzuli o jednym koncie na osobę, więc każda marka dostała własne darmowe konto z trzema kanałami. Problem, który został: trzy konta to trzy osobne kalendarze i żaden nie pokazuje całości.

Rozkład jest tą całością. Stan apki to dwa pliki JSON na dysku: posty pobrane z Buffera i moje wpisy „to idzie tego dnia o tej godzinie”. Apka czyta je co dwie sekundy. Dzięki temu asystent w dowolnej sesji, Claude Code albo Codex, steruje nią jedną komendą i wpis pojawia się w oknie po dwóch sekundach, bez żadnego serwera pomiędzy. Zapis jest atomowy, a zmiany scalają się per wpis, więc gdy asystent oznacza coś jako zrobione w trakcie, gdy ja piszę notatkę, nikt nikogo nie nadpisuje.

Co robi okno publikacji

Dwuklik w dzień otwiera jedno okno: kanał, media, opis, data i godzina. Plik z Findera upuszczam na dzień, folder ze zdjęciami staje się karuzelą na Instagram, zdjęcia docinają się do 4:5. Karuzela może mieszać zdjęcia z wideo, do dziesięciu pozycji, kolejność zmieniam przeciąganiem w pasku.

Okno publikacji w Rozkładzie: po lewej podgląd posta z miejscem na media, po prawej pole opisu, ramka Claude z wytycznymi i przyciskiem Analizuj, data 12.09.2026 i godzina 08:30
Okno publikacji. Ramka z wytycznymi to generator opisu w moim głosie.

Ramka „Claude, wytyczne” to generator opisu. Wpisuję dwa zdania, co podkreślić i czego nie pisać, a asystent dostaje mój głos z plików, ostatnie posty z tego kanału, opis realizacji z projektu i pisze szkic do poprawy. Pierwsza karuzela wyszła z tego okna 11 września o 20:43, sześć kadrów na Instagram Motion Pikczer. Pierwsza rolka o 22:57, na habitat.

Jedna zasada, którą ustaliłem tego dnia po pierwszej publikacji: wpis w Rozkładzie jest decyzją, nie szkicem do oglądania. Jeżeli coś wrzucam, to po to, żeby to wyszło. Zrobione znika. Automat, który miał publikować sam o 8:00 i 16:00, jest gotowy i wyłączony. Publikuję ja.

Liczby z maszyny

Apka to Tauri 2: 928 linii HTML, 484 linie JavaScriptu, 403 linie Rusta, 359 linii CSS, do tego 591 linii Pythona na komendę, pobieranie z Buffera i generator opisu. Binarka po przełączeniu kompilacji na rozmiar zamiast szybkości schudła z 10,2 do 3,2 MB, bo apka i tak czeka na sieć i dysk. Fonty Archivo Narrow i IBM Plex Mono leżą w środku, więc działa bez sieci. Okno ma minimum 1420 na 901 pikseli i pamięta, gdzie stało.

Rozkład, widok miesiąca wrzesień 2026: w każdym dniu nazwy kont i kwadraty za opublikowane posty
Widok miesiąca. Kwadrat to opublikowany post, nazwa konta mówi, czyj.

Dwie pułapki po drodze. Buffer generuje miniaturę wideo sam, ale jego robot dostaje 422 od zapory na moim serwerze, więc apka robi własny poster z klatki i wysyła go obok pliku. I zapis posta w Bufferze nie scala pól: planując szkic bez ponownego przesłania tekstu i mediów dostajesz „Post must have either text or media”. Każdy zapis niesie wszystko.

Całość powstała w rozmowie z Claude Code w aplikacji na Macu, nie w edytorze kodu. Ja opisywałem, co ma się stać po dwukliku, on pisał, ja klikałem i mówiłem, co się rozjeżdża. Dziesięć godzin i dziewiętnaście minut, licząc od pierwszego commita do numeru 1.6.0.