Vývoj webové aplikace na míru: jak vznikl průvodce Co darovat? během několika hodin
Některé aplikace vznikají po měsících analýz, několika workshopech a důkladném obchodním plánování. Jiné vzniknou večer, když se člověk snaží usnout a hlavou mu proběhne otázka, kterou řeší několikrát do roka:
Co mám zase někomu koupit za dárek?
Narozeniny, svátek, Vánoce, výročí, svatba, Den matek nebo Den otců. Příležitostí je hodně, ale dobré nápady mají nepříjemnou tendenci docházet. Zvlášť pokud má dárek člověka opravdu potěšit, vejít se do rozpočtu a ideálně neskončit ve skříni vedle dalších tří univerzálních sad kosmetiky.
Právě z této každodenní situace vznikla webová aplikace Co darovat?. Jednoduchý online průvodce, který se uživatele zeptá, komu dárek vybírá, k jaké příležitosti, co má obdarovaný rád a kolik do něj chce investovat. Následně nabídne několik konkrétních nápadů, které lze dále odmítat, ukládat mezi zvažované nebo rovnou vybrat.
První funkční verze aplikace vznikla během několika hodin. Ne proto, že by šlo o jednu statickou stránku s několika náhodnými tipy, ale díky vhodně zvolenému rozsahu, jednoduché technologii, připravené infrastruktuře a moderním vývojovým postupům.
Původní hrubý odhad byl výrazně vyšší. Ve výsledku se základní realizace dostala přibližně na 10 % původně očekávaného času. To samozřejmě neznamená, že lze stejným způsobem zkrátit každý projekt. Ukazuje to ale, jak výrazně může správně navržené MVP, existující know-how a efektivní vývoj změnit cenu i rychlost realizace.
Spontánní nápad, který řeší téměř neřešitelný problém
Vybrat dárek je zvláštní disciplína. Na první pohled jednoduchá, v praxi často téměř neřešitelná.
Dárek by měl být:
- osobní, ale ne příliš osobní
- praktický, ale ne nudný
- originální, ale ne nepoužitelný
- hodnotný, ale neměl by zruinovat rozpočet
- vhodný pro konkrétního člověka
- a ideálně něco, co už dávno nemá
Člověk pak často skončí u hledání typu „dárek pro tatínka do 1 000 Kč“, otevře deset článků, projde několik e-shopů a nakonec koupí něco, co by ho napadlo už na začátku.
Myšlenka projektu Co darovat? byla proto jednoduchá:
Co kdyby místo dalších dlouhých seznamů vznikl krátký průvodce, který se nejprve zeptá na konkrétního člověka?
Uživatel nemusí pročítat desítky obecných tipů. Vybere příjemce, příležitost, věk, zájmy, charakter dárku a rozpočet. Aplikace pak ukáže maximálně tři relevantní návrhy.
Co je Co darovat?
Co darovat? je česká webová aplikace, která pomáhá s výběrem dárků podle konkrétní situace.
Průvodce pracuje například s těmito informacemi:
- komu je dárek určen
- jaký má uživatel k obdarovanému vztah
- k jaké příležitosti dárek hledá
- kolik je obdarovanému let
- jaký je dostupný rozpočet
- co má daný člověk rád
- zda má být dárek praktický, osobní, romantický nebo zážitkový
- zda uživatel preferuje fyzický dárek, zážitek, poukaz nebo vlastní výrobu
Výsledkem není seznam padesáti položek. Aplikace ukáže vždy jen několik tipů, aby uživatele nezahltila dalším rozhodováním.
U každého návrhu lze zvolit:
- Už má
- Nelíbí se mi
- Zvažuji
- Trefa!
Zvažované dárky zůstávají uložené v přehledu. Ostatní návrhy lze odložit a nechat si zobrazit další. Aplikace si zároveň pamatuje, co již uživatel viděl, takže neopakuje stále stejné výsledky.
Pokud už vhodné tipy v databázi dojdou, stránka neskončí prázdnou hláškou. Připraví strukturované zadání, které lze zkopírovat do ChatGPT, Gemini nebo jiného AI asistenta. Umělá inteligence zde ale není základem aplikace. Jde pouze o doplňkovou možnost ve chvíli, kdy vlastní databáze nemá co dalšího nabídnout.
Proč aplikace nestojí na umělé inteligenci
U podobného projektu by se nabízelo poslat všechny odpovědi do jazykového modelu a nechat jej vygenerovat několik nápadů. Technicky by to bylo poměrně snadné.
Pro první verzi jsme ale zvolili jiný přístup.
Doporučení vycházejí z vlastní databáze dárků, štítků, věkových omezení, cenových rozsahů a bodovacího systému. Každý dárek má definováno, pro koho se hodí, k jakým příležitostem, pro jaký věk a jakým zájmům odpovídá.
Tento přístup má několik výhod:
- výsledky jsou předvídatelné a kontrolovatelné
- aplikace nevymýšlí neexistující produkty
- nevznikají průběžné náklady na AI tokeny
- lze přesně řídit věkovou vhodnost
- doporučení lze postupně zlepšovat podle skutečného používání
- později lze snadno přidat odkazy na obchody nebo partnerské nabídky
Moderní technologie neznamenají automaticky použít AI úplně všude. Někdy je lepším řešením dobře navržená databáze, několik pravidel a transparentní algoritmus.
Jednoduchá technologie pro jednoduchý cíl
Technologie by měla odpovídat projektu. Ne každý web potřebuje rozsáhlý framework, komplikovaný frontendový build nebo několik samostatných služeb.
Pro Co darovat? jsme použili:
- PHP 8.2
- Apache
- MariaDB
- vanilla JavaScript
- vanilla CSS
- serverově vykreslované SEO stránky
- JSON API pro interaktivní část průvodce
Aplikace nepoužívá žádný rozsáhlý PHP framework ani frontendovou knihovnu typu React nebo Vue. Ne proto, že by tyto technologie byly špatné, ale protože pro tento rozsah nepřinášely dostatečný přínos.
Výsledkem je řešení, které:
- má malý počet závislostí
- rychle se načítá
- snadno se nasazuje
- má nízké provozní náklady
- lze dál rozšiřovat
- a neobsahuje zbytečnou technickou složitost
Jednoduchá technologie ale neznamená nekvalitní technologii. Backend řeší databázové relace, anonymní uživatelské session, bodování výsledků, ukládání reakcí, filtrování již zobrazených dárků i generování personalizovaného fallback promptu.
Webová aplikace není jen několik HTML stránek
Na první pohled může Co darovat? působit jako jednoduchý formulář. Pod uživatelským rozhraním se ale řeší několik samostatných částí.
Mezi ně patří:
- vytvoření a obnovení anonymní session
- ukládání odpovědí z průvodce
- výpočet relevance jednotlivých dárků
- věkové a cenové filtrování
- vyloučení již zobrazených návrhů
- práce se stavy „už má“, „nelíbí se mi“ a „zvažuji“
- výběr finálního dárku
- otevření detailu a vyhledání konkrétního produktu
- obnovení rozpracovaného výběru po návratu na stránku
- ochrana kontextu mezi různými landing pages
Samostatnou část tvoří také obsahové stránky, například tipy pro maminku, tatínka, partnerku, narozeniny nebo Den otců. Ty jsou vykreslované na serveru, mají vlastní texty, metadata, FAQ a přednastavený kontext průvodce.
Interaktivní část tedy běží převážně v JavaScriptu, ale SEO obsah nezůstává schovaný v prázdné klientské aplikaci.
Od nápadu k funkční aplikaci během několika hodin
Původní představa byla, že základní verze zabere podstatně více času. Po rozdělení projektu na skutečně důležité části se ale ukázalo, že první použitelnou verzi lze vytvořit výrazně rychleji.
Pomohlo zejména:
- jasně definované jádro aplikace
- omezení první verze na skutečně potřebné funkce
- použití připravené vlastní infrastruktury
- zkušenosti s PHP, databázemi a frontendovým vývojem
- opakovaně použitelné technické postupy
- moderní vývojové nástroje a asistované programování
- rychlé průběžné ověřování výsledku přímo v produkčním prostředí
Základní realizace se díky tomu dostala přibližně na desetinu původního odhadu.
To je ale potřeba správně chápat. Neznamená to, že desetidenní projekt bude vždy hotový za jeden den. Znamená to, že odhad může obsahovat rezervu na nejasnosti, komplikovanější architekturu nebo technologie, které nakonec nejsou potřeba.
Pokud má projekt jasný cíl, lze někdy odstranit velkou část původně očekávané práce, aniž by se odstranila hodnota výsledku.
Co nelze uspěchat ani moderními nástroji
Rychlost samotného vývoje je pouze jedna část projektu.
Nelze rozumně přeskočit:
- testování různých kombinací vstupů
- ověření, že se výsledky neopakují
- kontrolu věkových omezení
- ladění textů a uživatelského rozhraní
- testování na mobilních zařízeních
- kontrolu různých prohlížečů
- sběr reálné zpětné vazby
- vyhodnocení, zda doporučení dávají skutečně smysl
Kód lze napsat rychle. Důvěru uživatele, kvalitní obsah a ověřenou funkčnost ale nelze vytvořit jen rychlejším psaním.
U podobné aplikace je navíc zásadní samotná databáze. Technicky může doporučovací algoritmus fungovat perfektně, ale pokud jsou v něm špatně nastavené věkové hranice nebo příliš obecné návrhy, výsledky nebudou užitečné.
Proto se první verze dá vytvořit během několika hodin, zatímco další testování, doplňování dárků, ladění vah a obsahový rozvoj pokračují postupně.
Moderní vývoj neznamená jen rychlejší psaní kódu
Největší úspora nevznikla tím, že by někdo psal rychleji na klávesnici.
Vznikla tím, že se rychleji podařilo:
- navrhnout datový model
- rozdělit projekt na menší části
- připravit databázové migrace
- vytvořit strukturu API
- vygenerovat první obsah a testovací data
- najít chyby v uživatelském toku
- upravit doporučovací logiku
- opakovat návrh podle reálného výsledku
Moderní nástroje dokážou výrazně zkrátit cestu od nápadu k první verzi. Stále je ale potřeba vědět, co má aplikace dělat, jak mají data souviset a proč určité technické řešení dává smysl.
Bez správného zadání lze velmi rychle vytvořit i velmi špatnou aplikaci.
Jednoduché MVP nemusí stát stovky tisíc
U menších webových aplikací bývá častým problémem, že se hned na začátku navrhne příliš široké řešení.
Začnou se plánovat:
- uživatelské účty
- komplexní administrace
- mobilní aplikace
- několik jazykových mutací
- AI integrace
- placené členství
- desítky integrací
- funkce, které zatím nikdo nepotřebuje
Co darovat? začalo jednoduše:
- průvodce
- databáze dárků
- doporučovací algoritmus
- zvažované položky
- detail dárku
- odkazy na vyhledávání
- několik kvalitních SEO stránek
Další funkce lze přidávat až podle používání. Do budoucna může jít například o napojení konkrétních e-shopů, affiliate odkazy, partnerské produkty, sdílené seznamy nebo další tematické průvodce.
První verze ale nemusí obsahovat obchodní model, který ještě nebyl ověřen.
Od osobního problému k použitelné webové aplikaci
Co darovat? nevzniklo jako odpověď na rozsáhlou firemní poptávku. Vzniklo jako řešení osobního problému, který zná téměř každý.
A právě to je na podobných projektech zajímavé. Webové aplikace nemusí řešit pouze účetnictví, logistiku nebo schvalovací procesy. Mohou řešit i malé každodenní situace:
- co někomu koupit
- jak něco naplánovat
- jak porovnat několik možností
- jak se rozhodnout podle rozpočtu
- jak nahradit tabulku nebo opakované hledání
Pokud nějaký problém řešíte opakovaně, je dost možné, že jej řeší i další lidé. A někdy stačí několik hodin vývoje, aby místo poznámky v telefonu vznikl funkční produkt.
Ano, umíme tedy řešit nejen firemní procesy, ale i osobní problémy. Minimálně ty, které lze převést na databázi, několik pravidel a tlačítko „Trefa!“.
Kolik stojí vývoj jednoduché webové aplikace?
Cena webové aplikace záleží především na tom, co skutečně musí umět.
Rozhoduje například:
- rozsah uživatelského rozhraní
- databázový model
- uživatelské role a přihlášení
- administrace
- napojení na externí služby
- platby
- automatizace
- požadavky na zabezpečení
- množství obsahu
- testování a následná podpora
Jednoduché MVP lze někdy vytvořit v jednotkách člověkodnů. Jindy může i zdánlivě malá aplikace obsahovat složitou obchodní logiku nebo integrace a vyžadovat výrazně větší rozsah.
Proto má smysl nejprve oddělit:
- co je nutné pro první použitelnou verzi
- co lze přidat později
- co je pouze nápad bez ověřené hodnoty
Co si z projektu Co darovat? odnést
Projekt ukazuje, že vývoj webové aplikace na míru nemusí být dlouhý a nákladný proces, pokud má řešení jasný cíl a přiměřený rozsah.
Během několika hodin vznikla funkční aplikace s databází, vlastním backendem, doporučovacím algoritmem, anonymními session, interaktivním frontendem, SEO landing pages a připraveným prostorem pro budoucí monetizaci.
Zároveň platí, že samotné vytvoření první verze není konec práce. Testování, kvalitní obsah, zpětná vazba a další ladění vyžadují čas, který nelze bezpečně přeskočit.
Největší úsporou není vynechat kvalitu. Největší úsporou je nevyvíjet věci, které první verze nepotřebuje.
Často kladené otázky
Jak dlouho trvá vývoj jednoduché webové aplikace?
Záleží na rozsahu, databázi, integracích a požadavcích na uživatelské rozhraní. Jednoduché MVP může vzniknout v jednotkách člověkodnů. První funkční verze aplikace Co darovat? vznikla během několika hodin, další testování a obsahový rozvoj ale pokračují samostatně.
Lze webovou aplikaci vytvořit bez frameworku?
Ano. U menšího a jasně definovaného projektu může být čisté PHP a vanilla JavaScript jednoduchým a efektivním řešením. Framework dává smysl tam, kde jeho funkce skutečně snižují složitost projektu, nikoliv automaticky u každé aplikace.
Musí doporučovací aplikace používat umělou inteligenci?
Nemusí. Co darovat? používá vlastní databázi, štítky a bodovací algoritmus. Díky tomu jsou výsledky kontrolovatelné a nevznikají průběžné náklady na AI API. Umělá inteligence slouží pouze jako volitelný fallback.
Proč nejde uspěchat testování?
Funkční kód ještě nemusí znamenat kvalitní produkt. Testování odhaluje nevhodné kombinace, chyby ve stavech aplikace, problémy na mobilních zařízeních i situace, kdy doporučení nedává uživateli smysl.
Je možné aplikaci později rozšířit?
Ano. Architektura počítá s dalšími dárky, novými landing pages, partnerskými odkazy, affiliate nabídkami i případným napojením vlastních produktů nebo e-shopů.
Umíte podobnou aplikaci vytvořit i na míru?
Ano. Stejný princip lze využít pro konfigurátory, kalkulačky, doporučovací průvodce, interní nástroje, zákaznické portály nebo jiné webové aplikace založené na datech a rozhodovacích pravidlech.
Máte nápad na vlastní webovou aplikaci?
Pomůžeme vám, pokud řešíte například:
- jednoduchou webovou aplikaci nebo MVP
- online průvodce či konfigurátor
- doporučovací systém
- kalkulačku nebo interaktivní formulář
- interní firemní nástroj
- zákaznický portál
- databázovou aplikaci
- automatizaci opakovaného rozhodování
- levný a dlouhodobě udržitelný provoz
Vyzkoušejte naši online kalkulačku ceny projektu a získejte první orientační představu během několika minut.