5,0 z 8 hodnocení na Googlu

Programuji software na míru, webové aplikace, weby a e-shopy.

Když vám šablona nestačí, postavím vám systém, který zvládne vaše procesy a ušetří čas.

Vedu projekt sám od návrhu po provoz. Jeden člověk přes celý stack, žádné předávání mezi agenturami.

Konzultace
Zdarma a nezávazně
Ozvu se
Do 24 hodin
Jednáte
Přímo se mnou
Kód i data
Patří vám

// Sídlím v Mariánských Lázních, pracuji pro celý Karlovarský kraj, celou ČR i Německo a vzdáleně i dál.

S čím to stavím

PHP Laravel .NET Angular Vue jQuery JavaScript Kotlin React Native PWA Android WordPress WooCommerce MySQL

01 · Služby

Co pro vás postavím

Návrh, kód i provoz mám na starost já sám. Bavíte se přímo s vývojářem, který to píše, ne s obchodníkem ani projektovým manažerem.

/ software

Software na míru

Postavím interní systém přesně na váš proces: rezervace, docházku, evidenci nebo sklad. Propojím ho s nástroji, které už používáte, přes API a zautomatizuju kroky, co dnes ťukáte ručně.

PHPLaravel.NETSQL/MySQL
Více o software na míru →
/ aplikace

Webové aplikace

Napíšu klientské zóny, portály a dashboardy s přihlášením, právy a reportingem nad vašimi daty. Zvládnu i převzít rozjetý SaaS nebo cizí kód a dotáhnout ho do produkce.

AngularVueJavaScriptLaravel.NET
Více o webových aplikacích →
/ mobil

Mobilní aplikace

Postavím mobilní aplikaci do vaší firmy: instalovatelnou PWA nebo nativní Android pro čtečky, terén a offline provoz. Nasadím ji přímo k vám přes MDM nebo interní APK, bez čekání na schválení v Google Play.

PWAAndroidKotlinService Workeroffline
Více o mobilních aplikacích →
/ web

Weby a e-shopy

Naprogramuju firemní web nebo e-shop na WordPressu a WooCommerce. Hlídám rychlost načítání a technické SEO, napojím platby, dopravu i sklad a předám web, který si spravíte sami.

WordPressWooCommerceJavaScriptjQuery
Více o webech a e-shopech →
/ grafika

Grafika a identita

Navrhnu logo, vizuální styl a grafiku, která sedí k webu i k tisku. Grafiku i kód dělám já, takže značka drží pohromadě napříč webem, e-shopem i tištěnými materiály.

logoidentitawebtisk
Více o grafice →
/ správa

Správa a údržba webu

Postarám se o web, který už máte: aktualizace, zálohy, bezpečnost, monitoring dostupnosti a SEO správa s měsíčním reportem. Převezmu i web po jiném dodavateli.

údržbazálohymonitoringSEO
Více o správě webu →

02 · Software, který jsem postavil

Vybrané projekty na míru

Systémy, které denně běží ve výrobě, v energetice, v provozech i v terénu na mobilech. Klienty neuvádím jmenovitě, ale technický rozsah a výsledky jsou reálné.

01

Automotive · Německo / ČR · 2025

Docházka a skladová evidence se skenery a tiskem štítků

Dvě propojené aplikace pro výrobce automotive komponentů: docházka pro evidenci směn a skladová webová aplikace s tiskem a skenováním čárových kódů. Operátor naskenuje štítek dílu ruční čtečkou a hned na displeji vidí, ke které objednávce díl patří a do které lokace ve skladu jde.

.NETVuejQueryMySQLREST APIčárové kódy
Problém, postup a výsledek

Problém

Naskladňování běželo na papírech a v Excelu. U každého dílu musel operátor ručně dohledat, ke které objednávce patří a kam ve skladu jde. Zdržovalo to na hale a vznikaly chyby, díly končily ve špatné lokaci nebo u špatné objednávky. Docházka se vedla zvlášť a podklady pro mzdy se na konci měsíce skládaly ručně.

Jak jsem to vyřešil

Pracoval jsem napřímo s provozem a IT zákazníka. Backend jsem napsal v .NET nad MySQL, frontend kombinací Vue (skenovací obrazovka, fronty štítků) a jQuery. Skladová aplikace běží přímo v prohlížeči na stávajících ručních čtečkách s displejem, takže odpadl nákup hardwaru. Skenovací obrazovku jsem ladil na latenci, odpověď ze serveru se vrací v desítkách milisekund. Štítek nejde vytisknout bez vazby na objednávku a lokaci.

Co systém umí

  • Docházka: příchody a odchody, směny, přehledy hodin a export podkladů pro mzdy.
  • Tisk štítků s čárovým kódem pevně navázaných na objednávku a skladovou lokaci.
  • Skenování ruční čtečkou: na displeji hned objednávka i cílová lokace.
  • Odezva po naskenování v desítkách ms, aby se u skeneru netvořily fronty.
  • Validace proti chybám: špatná lokace se hlásí už při skenu.
  • Běh v prohlížeči na stávajících čtečkách, bez nákupu nového hardwaru.
  • Jeden datový model v MySQL jako společný zdroj pravdy pro sklad i docházku.
02

Energetika / OZE · ČR a Německo · 2025

Řídicí systém pro fotovoltaiku a baterie se servisním portálem

Řídicí systém v .NET, který sbírá data z měničů a baterií, řídí nabíjení i vybíjení a hlídá stav instalací. K němu servisní portál v Angularu a PHP pro vzdálený dohled, alarmy a evidenci zásahů. Systém dnes běží na instalacích v ČR i Německu.

.NETAngularPHPMySQLModbus TCPREST API
Problém, postup a výsledek

Problém

Provozovatel spravoval rostoucí počet fotovoltaik s bateriovými úložišti, ale neviděl na jedno místo, co se v terénu děje. Měniče a baterie byly od různých výrobců, každá značka měla vlastní rozhraní. Poruchu technik zjistil až z telefonátu zákazníka, klidně s několikadenním zpožděním. Nabíjení a vybíjení se neřídilo centrálně, takže úložiště běžela pod svým potenciálem.

Jak jsem to vyřešil

Rozdělil jsem to do dvou vrstev. Řídicí systém v .NET běží jako služba, přes Modbus TCP a API výrobců se připojuje k měničům a battery management systémům, sjednocuje data z různých značek do jednoho modelu a ukládá je do SQL. Nad daty běží logika: hlídá stav nabití, teploty a chybové kódy, podle pravidel a tarifu rozhoduje o nabíjení a vybíjení a vyhlašuje alarmy. Servisní portál je samostatná aplikace v Angularu nad PHP API, běží nezávisle na řídicí vrstvě a otevře se z mobilu i z kanceláře.

Co systém umí

  • Sběr dat z měničů a baterií přes Modbus TCP a API výrobců, sjednocení různých značek do jednoho modelu.
  • Centrální řízení nabíjení a vybíjení podle stavu nabití, teploty a tarifu.
  • Vyhodnocování stavu instalací v reálném čase s prahy a automatickým alarmem.
  • Servisní portál: mapa instalací, živé hodnoty, fronta alarmů podle priority.
  • Evidence zásahů navázaná na konkrétní instalaci, s historií poruch a prací.
  • Notifikace na kritické alarmy: technik se o poruše dozví dřív, než zavolá zákazník.
03

Wellness služby · ČR (více poboček) · 2025

Rezervační systém pro síť studií s online objednáním

Vlastní rezervační systém pro síť wellness studií s několika pobočkami. Klienti se objednají online kdykoliv, personál má sdílený kalendář napříč pobočkami a připomínky chodí automaticky. Po nasazení klesly no-shows a většina rezervací se přesunula z telefonu na web.

LaravelPHPVueMySQLLaravel Queue
Problém, postup a výsledek

Problém

Pobočky braly rezervace po telefonu a zapisovaly je do papírových diářů. Recepce strávila hodiny denně zvedáním hovorů a přepisováním termínů. Diáře byly oddělené, takže nikdo neviděl obsazenost přes celou síť. Největší ztráty dělaly no-shows: klient zapomněl, slot zůstal prázdný a personál se to dozvěděl, až když nikdo nepřišel.

Jak jsem to vyřešil

Postavil jsem to jako jednu aplikaci se dvěma vrstvami: veřejnou rezervaci pro klienty a administraci pro personál. Backend běží na Laravelu nad MySQL. Volné termíny počítá server z délky služby, otevírací doby a směn konkrétního zaměstnance, takže dvojí obsazení slotu nevznikne. Rezervační frontend je ve Vue jako průvodce ve čtyřech krocích. Připomínky odbavuje fronta a naplánovaná úloha, takže běží na pozadí.

Co systém umí

  • Online rezervace 24/7 ve Vue: pobočka, služba, termín, kontakt. Bez dvojího obsazení slotu.
  • Sdílený kalendář pro personál s denním, týdenním a pobočkovým pohledem a přetahováním termínů.
  • Automatické připomínky e-mailem a SMS, potvrzení a zrušení jedním odkazem.
  • Role a oprávnění: recepce vidí svou pobočku, majitel celou síť.
  • Správa služeb, cen, otevírací doby a směn bez zásahu vývojáře.
  • Reporty obsazenosti a no-shows po pobočkách pro plánování kapacity.
04

Velkoobchod / e-commerce · Plzeňský kraj · 2024

WooCommerce e-shop napojený na sklad a fakturaci

E-shop na WordPressu a WooCommerce napojený přímo na skladový a fakturační systém klienta. Ruční přepisování objednávek a stavů skladu nahradila obousměrná synchronizace přes pluginy, které jsem napsal na míru jejich API. Zpracování objednávky se z minut zkrátilo na sekundy a běží bez ručního zásahu.

WordPressWooCommercePHPMySQLWP-CronREST API
Problém, postup a výsledek

Problém

Klient prodával rozsáhlý katalog, ale e-shop a interní systém spolu nemluvily. Sklad se přepisoval ručně dvakrát denně, takže na webu viselo zboží, které už nebylo skladem. Každou objednávku někdo ručně opsal do fakturace a založil zásilku u dopravce. V sezóně to bylo zdlouhavé a náchylné k chybám.

Jak jsem to vyřešil

Místo univerzálního konektoru jsem napsal dva vlastní pluginy přímo na API klientova ERP. Synchronizaci skladu jsem postavil přírůstkově (posílám jen deltu podle časové značky) a doplnil row-level zámky v MySQL, aby se objednávka a import neprali o stejné SKU. Po zaplacení se objednávka automaticky pošle do fakturace, vystaví faktura a přes API dopravce vygeneruje štítek. Celé to běží idempotentně, takže opakovaný běh nezaloží duplicitu.

Co systém umí

  • Obousměrná synchronizace skladu a cen s ERP přírůstkově v krátkých intervalech.
  • Row-level zámky v MySQL proti prodeji zboží, které mezitím odešlo jinou objednávkou.
  • Automatické vystavení faktury hned po zaplacení, bez opisování.
  • Napojení na API dvou dopravců: štítky a sledovací čísla na jedno kliknutí.
  • Hromadný import z CSV a dodavatelských feedů přes frontu, s logem chyb po řádcích.
  • Denní e-mailový report nesrovnalostí skladu.
05

Zakázková výroba · Západní Čechy · 2025

Interní systém pro řízení zakázek a výroby

Interní systém, který firmě na zakázkovou výrobu nahradil několik Excelů a papírové průvodky. Zakázky, výroba, klienti i fakturace jsou na jednom místě a vedení vidí stav v reálném čase.

.NETC#AngularTypeScriptMySQLJWT
Problém, postup a výsledek

Problém

Zakázky se vedly v několika oddělených Excelech a na papírových průvodkách. Data se ručně přepisovala mezi obchodem, výrobou a fakturací, vznikaly duplicity a chyby. Nikdo neměl aktuální přehled, co je rozpracované a co po termínu. Když někdo onemocněl, jeho Excel uměl přečíst jen on.

Jak jsem to vyřešil

Strávil jsem čas přímo ve výrobě a prošel reálnou cestu zakázky od poptávky po fakturu. Z toho jsem navrhl normalizovaný datový model v MySQL a postavil REST API v .NET s rolemi pro obchod, mistra a vedení. Frontend je v Angularu jako SPA. Stav zakázky se posouvá přes pevný workflow a každá změna se zapisuje do historie. Historická data jsem přenesl z Excelů importem a nasazoval po modulech.

Co systém umí

  • Evidence zakázek s položkami, termíny a vazbou na klienta a fakturaci.
  • Workflow stavů (poptávka, výroba, hotovo, fakturace) s auditní stopou.
  • Dashboardy pro vedení: rozpracované zakázky, zakázky po termínu, obrat.
  • Role pro obchod, mistra a vedení, každý vidí jen své.
  • Generování podkladů k fakturaci přímo ze zakázky.
  • Export do PDF a Excelu pro účetní a archiv.
06

B2B služby · Plzeňský kraj / vzdáleně · 2025

Záchrana zděděné PHP/jQuery aplikace bez dokumentace

Převzal jsem rozpracovanou interní aplikaci, kterou předchozí dodavatel opustil bez dokumentace a s pravidelně padajícím provozem. Během několika týdnů jsem ji stabilizoval, opravil kritické chyby a dopsal chybějící funkce, takže ji firma mohla nasadit do ostrého provozu.

PHPjQueryMySQLPDOVueGit
Problém, postup a výsledek

Problém

Firma měla rozdělanou objednávkovou a fakturační aplikaci po dodavateli, který spolupráci ukončil. Běžela na PHP 7.2 a jQuery, bez dokumentace, bez verzování (zdroják se posílal přes FTP) a bez testů. V provozu padala několikrát týdně, generování faktur občas skončilo bílou obrazovkou a SQL dotazy se skládaly přímo z $_POST. Firma řešila, jestli projekt dodělat, nebo zahodit.

Jak jsem to vyřešil

Přepis od nuly nedával smysl. Funkční jádro tam bylo, jen mimo kontrolu. Naskočil jsem do existujícího kódu: zprovoznil lokální prostředí, založil Git a zmapoval, co aplikace dělá a kde leží největší rizika. Pak jsem izoloval příčiny pádů, opravil je a teprve na stabilní základ navázal refaktorem a chybějícími funkcemi. Po menších krocích, s nasazováním do stagingu.

Co jsem udělal

  • Zmapoval nezdokumentovaný kód a nahradil ZIP zálohy přes FTP verzováním v Gitu.
  • Oddělil staging od produkce pro bezpečné a vratné nasazování.
  • Opravil příčiny pádů při generování faktur (paměť, neošetřené výjimky PDF).
  • Přepsal SQL dotazy na prepared statements přes PDO a zavřel SQL injection díry.
  • Doplnil validaci vstupů, takže se objednávky přestaly ztrácet.
  • Dopsal chybějící funkce: stavy objednávek, export do PDF a CSV, notifikace.
  • Roztroušené jQuery tam, kde to dávalo smysl, převedl na Vue komponenty.
07

Logistika / rozvoz · ČR · 2025

Android aplikace pro řidiče rozvozu s offline režimem a skenováním

Nativní Android aplikace pro řidiče rozvozové firmy. Řidič má na firemním telefonu celou trasu, u předání naskenuje čárový kód zásilky, vyfotí doručení a nechá podepsat na displeji. Aplikace funguje i tam, kde není signál, a data dosynchronizuje, jakmile je řidič zpět online. Nasazená je jen do firmy přes MDM, ne přes Google Play.

KotlinAndroid SDKSQLite.NETREST APIMDM
Problém, postup a výsledek

Problém

Řidiči jezdili s papírovými rozpisy tras a doručení potvrzovali podpisem na papír. Dispečink neviděl v reálném čase, co je doručené a co ne, a stav se do systému přepisoval až večer z papírů. Na trase byla navíc hluchá místa bez signálu, takže jakékoliv webové řešení tam přestalo fungovat zrovna ve chvíli, kdy ho řidič potřeboval. Reklamace „balík nedorazil" se dohledávaly těžko, důkaz o předání chyběl.

Jak jsem to vyřešil

Tohle byl případ, kde webová aplikace nestačí. Napsal jsem nativní Android aplikaci v Kotlinu, která je od začátku offline-first: pracuje nad lokální SQLite databází v telefonu a se serverem (.NET a REST API) se synchronizuje na pozadí, když je připojení k dispozici. Skenování čárových kódů běží přímo přes fotoaparát, podpis se kreslí na displej a foto doručení se ukládá lokálně a nahraje později. Aplikaci firma rozdistribuovala na služební telefony přes MDM, takže není a nemusí být v Google Play.

Co aplikace umí

  • Celá trasa a seznam zásilek v telefonu, i když řidič vyjede mimo signál.
  • Offline-first nad lokální SQLite, synchronizace na pozadí po návratu online.
  • Skenování čárových kódů zásilek přímo fotoaparátem, bez další čtečky.
  • Foto doručení a podpis příjemce na displeji jako důkaz o předání.
  • Živý stav doručení pro dispečink, místo večerního přepisování z papírů.
  • Distribuce přes MDM na firemní telefony, pod kontrolou firmy a bez Google Play.
08

Terénní servis / revize · ČR a Německo · 2025

Instalovatelná PWA pro revizní techniky, offline a bez obchodu

Progresivní webová aplikace pro techniky, kteří v terénu provádějí revize a servisní prohlídky. Technik si ji nainstaluje z odkazu na plochu telefonu, vyplňuje protokoly i bez signálu, přikládá fotky a po návratu k signálu se vše dosynchronizuje a vygeneruje PDF protokol. Jedna aplikace pro Android i iPhone, žádné čekání na schválení v obchodě.

PWAVueService WorkerIndexedDBLaraveloffline-first
Problém, postup a výsledek

Problém

Technici vyplňovali revizní protokoly na papír a večer je přepisovali do počítače. Přepis byl zdvojená práce a vznikaly v něm chyby, občas se protokol ztratil úplně. Firma zvažovala mobilní aplikaci, ale nechtěla řešit dvě verze pro Android a iPhone ani schvalování v obou obchodech a instalaci přes obchod na desítkách zařízení techniků. K tomu revize probíhají v kotelnách a technických místnostech, kde signál většinou není.

Jak jsem to vyřešil

Zvolil jsem PWA, protože pokrývá obě platformy jedním kódem a nasazuje se odkazem, ne přes obchod. Frontend je ve Vue, offline zajišťuje Service Worker a rozpracované protokoly i fotky drží IndexedDB přímo v prohlížeči, takže technik pracuje bez signálu. Jakmile je zařízení online, data se odešlou na backend v Laravelu, který z nich vygeneruje PDF protokol a založí záznam. Aplikace se instaluje „přidat na plochu", chová se jako běžná appka a firma ji má jen pro své techniky.

Co aplikace umí

  • Instalace z odkazu na plochu telefonu, jedna aplikace pro Android i iPhone.
  • Vyplňování protokolů kompletně offline, data drží IndexedDB v telefonu.
  • Fotodokumentace u položek protokolu, nahrání po návratu k signálu.
  • Automatické vygenerování PDF protokolu na backendu v Laravelu.
  • Konec dvojího přepisování: co technik vyplní v terénu, je rovnou v systému.
  • Bez obchodu a bez schvalování, aktualizace se propíše všem hned při dalším spuštění.

04 · Recenze

Co říkají klienti

Skutečná hodnocení od klientů, načtená živě z mého Google profilu.

Recenze na Google

05 · Kdo jsem

Jeden vývojář od začátku do konce

Jsem Jakub Podhaiský a dělám full-stack v PHP, Laravelu, .NETu, Angularu, Vue i jQuery. Bavíte se přímo se mnou, ne s obchodníkem, který kód jenom předává dál. Klidně naskočím do rozpracovaného nebo cizího projektu a dotáhnu ho. Sídlím v Mariánských Lázních, beru práci v celém Karlovarském kraji, po celé ČR, v Německu i vzdáleně.

Mluvíte přímo se mnou

Píšu kód a zároveň ho s vámi řeším. Žádný prostředník mezi námi není.

Převezmu i cizí kód

Zorientuju se v zděděném projektu a navážu na to, co už máte hotové.

Backend, frontend i databáze

Celý stack zvládnu sám, takže máte na všechno jeden kontakt.

06 · Postup

Jak to probíhá

Čtyři kroky od prvního hovoru po běžící projekt. Po celou dobu jednáte přímo se mnou.

01

Konzultace a zadání

Probereme, co potřebujete, k čemu to má sloužit a v jakém stavu je případný stávající kód.

02

Návrh a odhad ceny

Navrhnu technické řešení, zvolím stack a dám vám konkrétní cenu i termín.

03

Vývoj po iteracích

Vyvíjím v krátkých iteracích a průběžně posílám funkční ukázky. Vidíte postup a můžete korigovat směr.

04

Nasazení a podpora

Aplikaci nasadím do provozu a dál se o ni starám: úpravy, rozšíření, údržba.

// Úvodní konzultace je nezávazná a zdarma.

07 · FAQ

Časté otázky

Na tyhle věci se mě lidé ptají nejčastěji. Pokud vám něco chybí, napište mi a odpovím napřímo.

Převezmete rozpracovaný projekt po jiném vývojáři?+
Ano, dělám to běžně. Projdu kód, řeknu vám, v jakém je stavu, a buď navážu, nebo doporučím, co dořešit. Nedokumentovaný cizí kód mě neodradí.
V jakých technologiích pracujete?+
Backend PHP/Laravel a .NET, frontend Angular, Vue, jQuery a čistý JavaScript. K tomu WordPress, WooCommerce a databáze SQL/MySQL. Zvládnu celý stack od databáze po frontend.
Berete zakázky pro zahraničí a Německo?+
Ano. Pracuji pro klienty po celé ČR, v Německu i vzdáleně. Práci na dálku mám zaběhnutou, komunikace ani odevzdávání nejsou problém.
Kolik vývoj stojí?+
Záleží na rozsahu, paušální ceník nemá smysl. Po prvním hovoru a zadání vám pošlu konkrétní odhad. Cena, na které se domluvíme, platí. Žádné skryté položky.
Jak dlouho to trvá?+
Jednodušší web mám hotový v řádu dnů až dvou týdnů, větší aplikace zaberou týdny až měsíce. Reálný termín vám řeknu po zadání, ne dřív.

08 · Kontakt

Máte projekt? Napište mi.

Napište mi v pár větách, co potřebujete. Podívám se na to a navrhnu, jak na to. Bavíte se rovnou se mnou, ne s formulářem.

Působnost
Mariánské Lázně · Karlovarský kraj · celá ČR · Německo · vzdáleně

// Odpovídám obvykle do 24 hodin. První konzultace nic nestojí.