Fullstack SaaS · 2026
Outlay
Každá opakovaná platba stále na očích. Sleduj svá předplatná, odpočítávej každé obnovení a dostaň upozornění dřív, než ti odejdou peníze z účtu.

Role
Sólo projekt. Design, frontend i backend.
Technologie
Přehled
Outlay je sledovač předplatných: jeden přehled všech opakovaných plateb, živý odpočet do každého obnovení a e-mailové upozornění dřív, než ti přijde platba, aby tě nic nepřekvapilo.
Problém
Předplatné se snadno založí a snadno zapomene a jeho cena potichu roste. Lidem se účtují věci, které chtěli zrušit, a zdražení si všimnou až na výpisu. Chtěl jsem jeden přehled, který ukáže skutečné měsíční náklady a ozve se dřív, než peníze odejdou, ne potom.
Co jsem postavil
- Přehled všech předplatných se skutečným měsíčním součtem
- Podpora více měn (USD / EUR / CZK / GBP) s převodem na jedno srovnatelné číslo
- Předvyplněný katalog populárních služeb pro přidání na jedno klepnutí, s cenou, logem i barvou značky
- Platební cykly (týdně / měsíčně / čtvrtletně / ročně) přepočtené na jednotné měsíční náklady
- Odpočet do obnovení a e-mailové upozornění před každou platbou, s pojistkou proti duplicitě
- Sledování změny ceny, které pamatuje předchozí cenu a včas odhalí zdražení
- Stav pozastaveno / aktivní a kategorie výdajů (streaming, hudba, software, hraní, …)
- Přihlášení, čekací listina k spuštění a plná lokalizace (next-intl)
Technologie a proč
Outlay jsem postavil na Convexu záměrně jako protiklad k ručně psanému stacku Journea. Convex nabízí reaktivní backend (změny dat se posílají do UI živě bez ruční práce s cache) a drží schéma, serverové funkce i přihlašování v jednom typovaném systému. Připomínkové e-maily běží na plánovaných (cron) funkcích přes Nodemailer a katalog služeb je nasazený v databázi, takže ho lze upravit bez nového nasazení.
Nejtěžší část
- Sjednotit různé platební cykly a měny do jednoho srovnatelného měsíčního čísla.
- Posílat připomínkové e-maily bez duplicit: pojistka `lastReminderSent` navázaná na datum obnovení.
- Držet jeden katalog se základem v USD, ale každému uživateli ukázat správnou lokální cenu (např. v CZK).
Výsledek
Nasazená aplikace ve stylu SaaS a záměrný protějšek k Journeu. Dva projekty, dvě filozofie backendu: jeden vlastní Express + MySQL, druhý moderní reaktivní BaaS. Portfolio tak ukazuje, že umím zvážit kompromisy, ne jen jeden způsob.
Případová studie
Journeo