[{"data":1,"prerenderedAt":386},["ShallowReactive",2],{"\u002Fblog\u002Fcloudflare-broke-stack\u002F:pl":3,"\u002Fblog\u002Fcloudflare-broke-stack\u002F-surround:pl":283,"blog-all-posts:pl":284},{"id":4,"title":5,"author":6,"body":10,"date":265,"description":266,"extension":267,"image":268,"locale":269,"meta":270,"minRead":271,"navigation":272,"original":273,"path":274,"pinned":273,"seo":275,"source":276,"sourceUrl":23,"stem":277,"tags":278,"updated":268,"__hash__":282},"blog\u002Fblog\u002Fcloudflare-broke-stack.pl.md","Najlepsze praktyki indie deva 2026: Cloudflare'owe kombo dla oszczędnych „od zera”",{"name":7,"avatar":8},"Chen Dahuang",{"src":9,"alt":7},"\u002Favatar.jpg",{"type":11,"value":12,"toc":251},"minimark",[13,28,36,41,158,162,167,170,174,177,181,184,206,210,213,217,237,241,244],[14,15,16],"blockquote",{},[17,18,19,20,27],"p",{},"Przypięty post. Pierwotnie opublikowany na ",[21,22,26],"a",{"href":23,"rel":24},"https:\u002F\u002Fx.com\u002Frealchendahuang\u002Fstatus\u002F2066586160902881542",[25],"nofollow","X"," — 40 tys.+ wyświetleń.",[17,29,30,31,35],{},"Najlepsze praktyki indie developmentu 2026: ",[32,33,34],"strong",{},"Cloudflare'owe kombo dla oszczędnych „od zera\"",".",[37,38,40],"h2",{"id":39},"stos-w-skrócie","Stos w skrócie",[42,43,44,60],"table",{},[45,46,47],"thead",{},[48,49,50,54,57],"tr",{},[51,52,53],"th",{},"Warstwa",[51,55,56],{},"Wybór",[51,58,59],{},"Koszt",[61,62,63,75,86,97,107,118,128,138,148],"tbody",{},[48,64,65,69,72],{},[66,67,68],"td",{},"Pisanie kodu",[66,70,71],{},"Codex",[66,73,74],{},"Subskrypcja",[48,76,77,80,83],{},[66,78,79],{},"Kontrola wersji",[66,81,82],{},"GitHub",[66,84,85],{},"Bezpłatnie",[48,87,88,91,94],{},[66,89,90],{},"Płatności",[66,92,93],{},"Stripe",[66,95,96],{},"Prowizja od transakcji",[48,98,99,102,105],{},[66,100,101],{},"Frontend",[66,103,104],{},"TanStack Start",[66,106,85],{},[48,108,109,112,115],{},[66,110,111],{},"Backend",[66,113,114],{},"Hono + Cloudflare Workers",[66,116,117],{},"Darmowy limit",[48,119,120,123,126],{},[66,121,122],{},"Wdrożenie",[66,124,125],{},"Cloudflare Pages",[66,127,85],{},[48,129,130,133,136],{},[66,131,132],{},"Baza danych",[66,134,135],{},"Cloudflare D1",[66,137,117],{},[48,139,140,143,146],{},[66,141,142],{},"Przechowywanie plików",[66,144,145],{},"Cloudflare R2",[66,147,117],{},[48,149,150,153,156],{},[66,151,152],{},"Cache \u002F konfiguracja",[66,154,155],{},"Cloudflare KV",[66,157,117],{},[37,159,161],{"id":160},"dlaczego-akurat-ten-zestaw","Dlaczego akurat ten zestaw",[163,164,166],"h3",{"id":165},"codex-pisze-kod-ogarnia-pełny-stack","Codex: pisze kod, ogarnia pełny stack",[17,168,169],{},"Programowanie z AI to już domyślne narzędzie produktywności indie developerów. Tryb Agenta w Codexie kompresuje łańcuch „wymaganie → kod → test → wdrożenie\" do niemal zera — jedna osoba robi robotę całego zespołu.",[163,171,173],{"id":172},"frontend-tanstack-start-backend-hono","Frontend TanStack Start + backend Hono",[17,175,176],{},"TanStack Start to pełnostackowy framework React, który dobrze pasuje do ekosystemu Workers. Na backend — Hono, niewielki framework stworzony pod Workers, z wygodnym routingiem, middleware i podpowiedziami typów. Mały rozmiar, szybki start.",[163,178,180],{"id":179},"baza-d1-storage-r2-cache-kv","Baza D1 + storage R2 + cache KV",[17,182,183],{},"Ta trójka to serce darmowego limitu Cloudflare:",[185,186,187,194,200],"ul",{},[188,189,190,193],"li",{},[32,191,192],{},"D1",": relacyjna baza danych zgodna z SQLite. Darmowy limit w zupełności wystarcza do projektów prywatnych.",[188,195,196,199],{},[32,197,198],{},"R2",": obiektowy storage zgodny z S3. 10 GB darmowej przestrzeni, zero opłat za ruch wychodzący — to samo w sobie zwala AWS z nóg.",[188,201,202,205],{},[32,203,204],{},"KV",": globalnie rozproszony magazyn klucz-wartość, świetny do konfiguracji, cache i sesji.",[163,207,209],{"id":208},"wdrożenie-na-pages-w-pełni-darmowa-infrastruktura","Wdrożenie na Pages + w pełni darmowa infrastruktura",[17,211,212],{},"Pages łączy się bezpośrednio z repozytorium GitHub — push i deploy gotowy, z CDN i HTTPS w cenie. Domena, DNS, CDN — wszystko w jednym miejscu na Cloudflare. Darmowy limit uniesie całą linię produktową.",[37,214,216],{"id":215},"istota-strategii-oszczędnego","Istota strategii oszczędnego",[185,218,219,225,231],{},[188,220,221,224],{},[32,222,223],{},"Wykorzystaj darmowy limit maksymalnie",": DNS, CDN, Pages, Workers, KV, D1, R2, Tunnel, AI Gateway — zapisz się na wszystko, co darmowe.",[188,226,227,230],{},[32,228,229],{},"Nie płać, jak możesz korzystać za darmo",": pieniądze na subskrypcje idą tylko tam, gdzie to naprawdę istotne (Codex); reszta działa na darmowej infrastrukturze.",[188,232,233,236],{},[32,234,235],{},"Jedna platforma na wszystko",": żadnego skakania między chmurami, minimalny koszt utrzymania.",[37,238,240],{"id":239},"dla-kogo-to-jest","Dla kogo to jest",[17,242,243],{},"Dla indie developerów z ograniczonym budżetem, którzy chcą szybko zweryfikować produkt; dla fanów AI coding, którzy nie chcą wkładać energii w infrastrukturę; i dla każdego projektu, który chce „najpierw wypuścić, potem się martwić\".",[17,245,246,247,35],{},"Cloudflare to cyber-bodhisattwa indie developerów. Nie wydając ani grosza, możesz mieć w pełni działający produkt. Szczegóły: ",[21,248,250],{"href":249},"\u002Fblog\u002Ffree-cloudflare","Jak darmowy użytkownik wycisnąć z Cloudflare wszystko",{"title":252,"searchDepth":253,"depth":253,"links":254},"",2,[255,256,263,264],{"id":39,"depth":253,"text":40},{"id":160,"depth":253,"text":161,"children":257},[258,260,261,262],{"id":165,"depth":259,"text":166},3,{"id":172,"depth":259,"text":173},{"id":179,"depth":259,"text":180},{"id":208,"depth":259,"text":209},{"id":215,"depth":253,"text":216},{"id":239,"depth":253,"text":240},"2026-06-15","Technologiczny stos indie developera o zerowym koszcie: Codex pisze kod, GitHub trzyma wersje, Stripe przyjmuje płatności, frontend na TanStack Start, backend na Hono + Workers, baza D1, storage R2, cache KV — wszystko działa na Cloudflare.","md",null,"pl",{},6,true,false,"\u002Fblog\u002Fcloudflare-broke-stack",{"title":5,"description":266},"x","blog\u002Fcloudflare-broke-stack.pl",[279,280,281],"Cloudflare","Indie development","Stos technologiczny","P3tcxP-TjwtkFVY4322OvP5G9gxTIsFronB86FeyckE",[268,268],[285,293,295,304,311,317,324,332,340,346,353,362,369,377],{"path":286,"title":287,"description":288,"date":289,"minRead":271,"tags":290},"\u002Fblog\u002Fagent-harness-selection","Po testowaniu Pi Agent, OMP, Codex i ZCode: dlaczego ostatecznie wybrałem OpenCode + OpenChamber","Retrospektywa wyboru Agent Harnessa: trzy kryteria — wygoda GUI, blokada dostawcy i swoboda dalszego rozwoju — wykluczyły Pi Agent, OMP, Codex i ZCode, a wybór ostatecznie padł na jądro OpenCode z interfejsem OpenChamber.","2026-08-06",[291,292],"AI Agent","Wybór narzędzi",{"path":274,"title":5,"description":266,"date":265,"minRead":271,"tags":294},[279,280,281],{"path":296,"title":297,"description":298,"date":299,"minRead":271,"tags":300},"\u002Fblog\u002Fdeepseek-api-web-search","DeepSeek ma w API wbudowane wyszukiwanie w sieci — darmowa oficjalna funkcja wyszukiwania przez Responses API","DeepSeek wbudował wyszukiwanie w sieci prosto w API: wywołaj deepseek-v4-flash przez interfejs Responses i zadeklaruj narzędzie web_search. Bez integracji z zewnętrzną wyszukiwarką, bez klucza API do wyszukiwania.","2026-08-05",[301,302,303],"DeepSeek","API","Narzędzia AI",{"path":305,"title":306,"description":307,"date":299,"minRead":308,"tags":309},"\u002Fblog\u002Fdeepseek-v4-flash-review","DeepSeek V4 Flash w wersji stabilnej, z praktyki: tani, szybki, 1M kontekstu, wbudowane wyszukiwanie","Kilka dni dogłębnego testowania stabilnej wersji DeepSeek V4 Flash: ekstremalnie tanio, szybko jak błyskawica, 1M kontekstu, oficjalne wbudowane wyszukiwanie w sieci, w pełni open source. Jedyna słabość to multimodalność — ale można ją załatać, łącząc inne modele.",7,[301,310,303],"Recenzja modelu",{"path":249,"title":312,"description":313,"date":265,"minRead":314,"tags":315},"Jak darmowy użytkownik wycisnąć z Cloudflare wszystko — na ile realnie starcza darmowy plan?","Darmowy plan Cloudflare może unieść całą prywatną infrastrukturę internetową: DNS, CDN, Pages, Workers, KV, D1, R2, e-mail, Tunnel, AI Gateway i więcej.",8,[279,316,122],"Darmowy plan",{"path":318,"title":319,"description":320,"date":321,"minRead":314,"tags":322},"\u002Fblog\u002Fmodel-harness-decoupling","Harness first-party nie zawsze jest wersją zwycięską: w epoce modeli otwartych wybieraj model i Harness osobno","Używasz Claude? Bierzesz Claude Code. W epoce modeli otwartych ten instynkt wymaga aktualizacji. Przewaga first-party jest realna, ale wytrenowanie dobrego modelu i zbudowanie dobrego Harnessa to dwie różne dziedziny inżynierii — ten artykuł wyjaśnia, dlaczego model i Harness można już wybierać osobno, plus mapę pozycjonowania pięciu Harnessów.","2026-09-09",[291,323,292],"Harness",{"path":325,"title":326,"description":327,"date":321,"minRead":314,"tags":328},"\u002Fblog\u002Fopencode-productive-stack","Stabilnie, szybko, produktywnie, tanio: moje pełne zestawienie stacku AI Coding","OpenCode + OpenChamber + dwie subskrypcje DeepSeek V4 Flash: 15 projektów jednocześnie generuje kod, a limit ledwo drgnął. Rozkładam całą konfigurację na łopatki: przycinanie kontekstu, warstwowa pamięć, automatyzacja pulpitu oraz lekcja „trzymaj się oryginalnej pary”.",[329,330,331],"OpenCode","Programowanie z AI","Konfiguracja",{"path":333,"title":334,"description":335,"date":336,"minRead":337,"tags":338},"\u002Fblog\u002Fproduct-faxin-principle","Zasada pierwotnej intencji: dlaczego indie developer musi nauczyć się rezygnować","Dlaczego ruszasz? Dla kogo ruszasz? Który problem naprawdę chcesz rozwiązać? Ostrość produktu bierze się z tego, z czego masz odwagę zrezygnować.","2026-06-20",10,[339,280],"Myślenie produktowe",{"path":341,"title":342,"description":343,"date":336,"minRead":314,"tags":344},"\u002Fblog\u002Fproduct-pain-vs-itch","Nie wpadaj w uniesienie, gdy użytkownik mówi „świetne”: punkty bólu a punkty swędzenia","Ustna aprobata jest bezwartościowa. Jest tylko jeden twardy standard oceny popytu: to, co użytkownik jest gotów zapłacić.",[339,345],"Ocena popytu",{"path":347,"title":348,"description":349,"date":289,"minRead":350,"tags":351},"\u002Fblog\u002Fqwen-vision-for-deepseek","Dodawanie multimodalności DeepSeekowi: podejście wizyjne Qwen-3.7-Flash","DeepSeek V4 Flash nie ma multimodalności — co zrobić z rozumieniem obrazów? Po rozeznaniu rynku obecnie najkorzystniejszą cenowo opcją jest Qwen-3.7-Flash: rozpoznanie obrazu kosztuje niemal nic, a połączenie z V4 Flash łatuje tę lukę.",5,[301,352,310],"Multimodalność",{"path":354,"title":355,"description":356,"date":357,"minRead":358,"tags":359},"\u002Fblog\u002Fsub-store-cloudflare","Przeniosłem agregację subskrypcji proxy na Cloudflare","Połącz wiele usług proxy plus własne węzły w jedną subskrypcję, z regułami routingu skonfigurowanymi po stronie serwera — klient po prostu subskrybuje.","2026-06-28",4,[279,360,361],"Obejście cenzury","Projekt open source",{"path":363,"title":364,"description":365,"date":321,"minRead":308,"tags":366},"\u002Fblog\u002Ftui-cognitive-bandwidth","TUI zabija twoją przepustowość poznawczą: czas rozbić „geekowy filtr” w AI Coding","Coraz więcej agentów kodujących z AI ściga się w wypuszczaniu TUI, wpychając interakcję z powrotem w terminalowy paradygmat z lat 80. i nazywając to „immersywnym” i „szanującym programistów”. Ten artykuł rozbiera na części trzy mechanizmy, którymi TUI systematycznie obniża przepustowość poznawczą — i wyjaśnia, dlaczego właściwym rozwiązaniem jest Web UI.",[330,367,368],"Projektowanie interakcji","Esej",{"path":370,"title":371,"description":372,"date":373,"minRead":271,"tags":374},"\u002Fblog\u002Fvalue-not-external","Dyskutowanie, czy coś ma wartość, samo w sobie jest bezwartościowe","Nasza wartość nie jest definiowana przez nikogo. W epoce AI — jak powinniśmy rozumieć samych siebie?","2026-06-18",[375,376],"Myślenie o AI","Esej humanistyczny",{"path":378,"title":379,"description":380,"date":381,"minRead":382,"tags":383},"\u002Fblog\u002Fx-growth-1000-followers","Ponad 1000 obserwujących w nieco ponad dobę — co zrobiłem","W czerwcu poważnie poprowadziłem konto na X i zdobyłem ponad 1000 obserwujących w nieco ponad dobę. Ten post zapisuje, co zrobiłem i jakie dostałem odpowiedzi.","2026-06-16",12,[384,385],"Prowadzenie X","Wzrost treści",1789752320778]