ELHA. Systém, který jsme neplánovali postavit.
V malé elektro firmě se člověk dost rychle naučí jednu věc: největší zdržení často nevzniká při montáži. Vzniká mezi montáží, telefonem, kanceláří, skladem, cenovou nabídkou a fakturou. Jeden člověk něco ví, druhý to potřebuje, třetí to znovu opisuje. A všichni mají mezitím úplně jinou práci.
Nezačal jsem s představou, že vyvineme vlastní ERP. Nejdřív jsme si zapisovali docházku do Google Sheets. Připadalo mi zbytečné, že materiál z půdorysu stavby musíme stále dokola opisovat do dalšího soupisu, a tak vznikl jednoduchý 2D plánek. A pak malá mobilní aplikace pro zapisování práce. Každá část byla původně samostatná, celkem skromná a praktická.
Jenže informace z těchto nástrojů spolu přirozeně souvisely. Docházka patří k zakázce. Materiál na plánku patří do nabídky a potom do nákladů. Úkol na stavbě souvisí s kalendářem a člověkem, který ho bude dělat. A tak jsme je začali spojovat.
Vyrostlo to za provozu.
Dneska ELHA propojuje poptávky a nabídky, rozpracované zakázky, výkazy práce, úkoly, fotografie ze staveb, materiál, plánování, náklady i podklady k vyúčtování. Má pracovní rozhraní pro kancelář a mobilní část pro lidi na stavbách. Žádná předem nakreslená velká architektura — postupné řešení konkrétních překážek, které se opakovaly.
Od drobných pomocníků k jednomu systému
Google Sheets → 2D plánek → mobilní docházka → společné zakázky, materiál, výkazy a nabídky → weby a zákaznické portály. Nešlo o to mít víc funkcí. Šlo o to zapisovat potřebné věci jednou a předávat je tam, kde jsou skutečně potřeba.
Pracujeme na tom přímo se společností Elektro Hanika. Fungující verze se dostávají k uživatelům rychle, protože lidé, kteří je potřebují, jsou opravdu vedle nás. Zpětná vazba nepřichází po půl roce z nějakého formuláře. Někdy přijde po deseti minutách. Občas velmi jasně.
Import, který vydržel do pondělí.
V malé firmě si nemůžete dovolit vyvíjet všechno. Potřebujete pracovat s katalogy a cenami dodavatelů. Jenže ti často nenabízejí otevřené API ani stabilní formát dat, ze kterého by se daly položky automaticky přenášet. Takže jsme si postupně vyráběli importy sami. Sledovat, co je co, jak se mění cena, které položky k sobě patří, co lze přenést do nabídky.
A pak se nám jeden dodavatel podařil. Import fungoval. Přes víkend ale dodavatel změnil celý e-shop a v pondělí už se nedalo spolehnout skoro na nic. Nezbylo než pochopit nový způsob, jakým web funguje, a import přestavět.
V ELHA nezáleží jen na tom, že se něco podaří naprogramovat. Důležité je, že to přežije změnu ceníku, skutečnou zakázku, člověka v terénu a běžný provoz firmy.
AI není tajný pomocník.
Velká část vývoje vzniká s pomocí AI. Bez ní bych v takovém tempu tolik věcí sám nepostavil. Pomáhá mi navrhovat struktury, psát kód, odhalovat chyby a rychle připravovat nové varianty. Nechci předstírat, že všechno píšu ručně, protože to není pravda.
Současně ale AI nechodí do skladu, neřeší s elektrikářem, proč něco na stavbě nefunguje, a nepozná sama od sebe, co potřebuje jednatel nebo administrativní pracovník při skutečné zakázce. To vzniká v rozhovorech, ve zkoušení, ve zpětné vazbě. Nápad lze během chvíle převést do funkčního pokusu, ale jestli za něco stojí, rozhoduje provoz.
Firma má i svou veřejnou tvář.
S tím, jak ELHA rostla, začali jsme znovu stavět i weby kolem firmy. Přestavěli jsme firemní stránky Elektro Hanika a spustili samostatný zákaznický portál servisu Intex s katalogem modelů, chybových kódů a možností objednání opravy.
Dalším krokem je Moje stavba — připravovaný portál, na kterém by klient mohl sledovat informace o své zakázce, sdílet podklady a spolupracovat s firmou bez zbytečného přeposílání e-mailů.
Teď přestavujeme i to, co není vidět.
Původně spolu veřejné části a informační systém žily na hostingu. Cílová architektura je jiná: veřejné weby a klientské portály zůstanou na hostingu VEDOS, primární firemní databáze a informační systém poběží na lokálním serveru s Debianem 13. Zaměstnanci budou mít přístup po místní síti nebo přes zabezpečené vzdálené spojení Tailscale. Veřejné portály mají s interním systémem komunikovat jen přes omezené autentizované HTTPS API, nikoli přímo s databází.
Stav k říjnu 2026
Tohle je plánovaná, postupně zaváděná architektura, ne hotový bezpečnostní stav. Interní část zatím není plně přesunutá do odděleného lokálního provozu. Dokud nebude migrace a ověření dokončené, nechceme tvrdit, že je systém izolovaný od veřejného internetu. Součástí přechodu budou i zálohování a kontrola přístupů.
A k čemu to celé je?
Nepotřebujeme mít nejsložitější informační systém na světě. Malé firmy se často topí v administrativě právě proto, že nemají vlastní IT oddělení. Lidé chtějí dělat svoje řemeslo. Zbytek by jim měl pomáhat, ne přidávat práci.
ELHA je naše odpověď. Není hotová jednou provždy, mění se spolu s firmou. A právě to, že se používá, je pro mě její nejdůležitější vlastnost.
Demo běží s vymyšlenými daty a pravidelně se resetuje. Některé firemní integrace v něm nejsou zapnuté.
Co umí

Nástěnka
Zakázky podle stavů, úkoly, potřebný materiál a záznamy ze staveb v jednom řaditelném přehledu.

Nabídky z katalogu
Položky z ceníků dodavatelů (Kamat, Schrack, KV Elektro) a vlastních prací, marže, verze nabídky a export.

Plánky materiálu
Do půdorysu se rozmístí zásuvky, světla a rozvaděč, natáhnou trasy a z plánku vznikne soupis materiálu i nabídka.

Zakázky
Úkoly ke stavbě, záznamy, fotky, výkazy práce, náklady, marže a podklady k fakturaci na jednom místě.

Kalendář práce
Naplánované úkoly, odpracované úseky, platnosti nabídek a nepřítomnost lidí v jednom kalendáři.

Na stavbě z mobilu
Webové rozhraní funguje i na telefonu, takže řemeslník vidí úkoly a zapisuje potřeby přímo ze stavby.
Android
ElhaTracker
Mobilní aplikace pro řemeslníky. Hlídá GPS zóny zakázek a dodavatelských míst a při příchodu nebo odchodu nabídne zápis práce. Neposílá průběžnou polohu ani trasu, jen události vstupu a výstupu.
- výkaz práce k aktivní zakázce, ruční záznam, dovolená a nemoc
- potřebný a spotřebovaný materiál a záznamy ke stavbě
- offline fronta – bez signálu se nic neztratí
Soukromí na prvním místě
Geofencing běží v telefonu. Server dostane jen informaci „přišel na zakázku / odešel“, ne pohyb člověka.
