Stylo pro Android: Cesta od nápadu po release
Po měsících vývoje a ladění je Stylo pro Android konečně připravené na testování. Podělím se s vámi o to, co nás to stálo.

Když jsem před pár měsíci seděl nad prvním řádkem kódu pro Android verzi Stylo, netušil jsem, kolik nočních ladění mě čeká. Dnes je aplikace konečně připravená na testování a můžu vydechnout.
Jak to začalo
Vlastně celé to začalo jednoduchou otázkou od kamaráda: "Proč Stylo nemá Android appku?" A já jsem odpověděl typicky jako programátor: "To bude hotové za týden."
No, nebylo.
Web fungoval skvěle, ale mobilní appka je úplně jiný svět. Chtěli jsme, aby lidé měli Stylo v telefonu — v autobuse, v kavárně, kdekoliv potřebují rychle něco opravit. Takže jsem si řekl, dobře, zkusme to.
Kotlin, Compose a všechny ty fancy věci
Rozhodl jsem se dělat to pořádně. Ne nějaký quick & dirty prototyp, ale skutečnou produkční appku. Takže Kotlin (samozřejmě), Jetpack Compose namísto těch šílených XML layoutů, MVVM architektura abych se v tom za půl roku ještě vyznal, Hilt na dependency injection a Room databáze pro offline režim.
Celé to znělo v hlavě skvěle. V praxi... no, povím vám o tom.
Ten Galaxy A5, který mě naučil trpělivosti
Nejhorší bylo, když mi kamarád poslal screenshot: "Appka mi crashla." Měl starý Samsung Galaxy A5 z roku 2017. 2GB RAM. Android 9.
A já jsem tam seděl s mým novým telefonem, kde všechno běželo krásně plynule, a uvědomil jsem si, že jsem totálně zanedbal optimalizaci pro staré zařízení.
Strávil jsem asi 3 týdny jen tím, že jsem lovil paměťové úniky, debugoval proč se Compose rekompiluje 50krát místo 2krát, a profiloval každý jeden LazyColumn. Víte, co je nejhorší? Když vidíte v profileru, že vaše animace žere 80% CPU. Tehdy jsem zjistil, že některé animace prostě musí pryč.
Ale když jsem nakonec viděl appku plynule běžet na tom starém Samsungu, měl jsem pocit, že jsem vyhrál maraton.
Architektura? Když se to vyplatí
Na začátku jsem přemýšlel, jestli se vyplatí dělat celou tu Clean Architecture s MVVM. Zní to komplikovaně — máte tam UI vrstvu, doménovou vrstvu, datovou vrstvu, každá komunikuje jen přes interfaces...
Řekl jsem si, že to zkusím. A pak přišel moment, kdy jsme potřebovali přidat offline režim. Víte co? Změnil jsem implementaci repository, aby bral data z Room databáze namísto API. UI jsem vůbec nemusel měnit. Ani řádek.
Tehdy jsem pochopil, proč všechny ty Android tutoriály na YouTube tak křičí o separaci vrstev.
Ten bug s tokeny, který mi vzal večer
Nezapomenu na to, jak jsem zapomněl implementovat EncryptedSharedPreferences a ukládal jsem tokeny v plain textu. Našel jsem to náhodou, když jsem si četl dokumentaci k něčemu úplně jinému.
Představte si, že by někdo dekompiloval APKčko a našel Supabase tokeny jen tak v SharedPreferences. Noční můra. Rychle jsem to přepsal na AES-256 šifrování a od té doby kontroluji bezpečnost ještě před tím, než něco commitnu.
Lekce? Nikdy neodkládejte bezpečnost na později. Když máte deadline a jste unavení, zapomenete na to.
Co vlastně ta appka dělá?
Okej, takže po všech těch optimalizacích a refaktorech máme appku, která umí transformovat text 10 různými způsoby — gramatika, formální styl, sumarizace, všechno možné. Funguje to v 5 jazycích a má auto-detect režim, takže nemusíte vybírat jazyk manuálně.
Všechno se ukládá lokálně do Room databáze, takže i když nemáte internet, vidíte historii. Rate limiting jsem implementoval, abychom nespamovali API — 6 requestů za hodinu pro návštěvníky, 20 pro přihlášené.
Supabase jsem použil na autentifikaci, Material Design 3 pro UI (s dark modem, samozřejmě), a udělali jsme i podporu pro tablety, což bylo vlastně jednodušší, než jsem čekal.
Co dál?
Teď potřebuji reálné lidi, kteří to vyzkouší. Ne kamarády, kteří řeknou "super appka bro", ale lidi, kteří mi řeknou "tohle crashlo", "tohle je pomalé", "tohle nedává smysl".
Beta testování začíná brzy. Pokud máte Android a chcete pomoct, budu rád.
A ještě jedna věc — děkuji. Stack Overflow mi zachránil život asi 20krát, Google dokumentace je fakt dobrá (což se o dokumentacích nedá říct často), a Kotlin komunita je super helpful.
Ale hlavně děkuji vám, kteří používáte Stylo a dáváte feedback. To je to, co mě žene dál.
Uvidíme se v appce. 🚀
Našli jste bug nebo máte otázku? Napište mi, rád odpovím.
Ready to improve your writing?
Try Stylo for free and experience AI-powered writing assistance that adapts to your style.
Try Stylo FreeRelated Posts
Stylo pro Android: Cesta od nápadu po release
Po měsících vývoje a ladění je Stylo pro Android konečně připravené na testování. Podělím se s vámi o to, co nás to stálo.
product updatesStylo vs ChatGPT: V jednoduchosti je krása
Mnoho lidí se mě ptá, v čem je Stylo lepší než ChatGPT či Gemini. Odpověď je jednoduchá - šetří vám čas při opakujících se úlohách.