Aplikace/Ongy Feed
Novinky, které si vybírám sám.
Stránka vlevo od plochy patřila Google Discover. Ukazoval sport, slevy a věci, které mě nezajímají, a nedal se pořádně nastavit. Tak jsem si napsal vlastní: jen zdroje, které mě zajímají, anglické články česky a widget, který se učí z toho, co otevírám.
K čemu to je
Ráno přejedu prstem doleva a vím, co je nového
Na stránce vedle plochy je widget přes celou obrazovku: nahoře počasí a nejbližší událost z kalendáře, pod tím třicet článků s náhledy. Obnovuje se sám každých 30 minut, šipkou hned.
Klepnutí otevře článek přímo v appce. Čtečka vytáhne z webu jen text a obrázky, a když je článek anglicky, přeloží ho do češtiny po odstavcích, takže se dá číst hned. Videa z YouTube jdou rovnou do appky YouTube.
V appce jsou čipy kategorií: AI, Hardware, Gaming, 3D tisk, Home Assistant, Tech CZ a ČR a svět. Dlouhý stisk na článku nabídne Víc takových, Méně z tohohle zdroje nebo Nezajímá mě.
Proč
Discover se nedal naučit
Google Discover vybírá podle sebe. Mezi články, které mě zajímají, se pořád pletl sport, slevy a zprávy odjinud, a nastavit, odkud zprávy chci, nejde vůbec.
Přímá náhrada nejde: One UI pouští na stránku úplně vlevo jen Google Discover nebo Samsung Free. Widget ale může být na jakékoli stránce plochy, takže Discover vypnu a vlastní widget roztáhnu přes stránku hned vedle. Výsledek je skoro stejný, jen obsah je můj.
Zdroje jsem nevybíral od stolu. U každé kategorie jsme s AI asistentem prošli kandidáty, změřili, kolik článků denně vydávají, a zkusili, jestli jdou filtrovat. Ukecané zdroje dostaly filtr nebo limit, nefunkční letěly ven.
Jak to funguje
Ze zdrojů na plochu
- Každý zdroj má vlastní filtr. Tom's Hardware píše o všem, já chci grafiky, procesory a homelab, bez slev. PC Gamer bez návodů, SamMobile jen telefony a hodinky, které mám. Filtr bere kategorie článku, adresu nebo titulek.
- Nikdo nepřekřičí ostatní. Každý další článek z téhož zdroje se v pořadí posune o dvě hodiny dozadu. Zprávy, které chrlí desítky článků denně, tak nezahltí AI ani 3D tisk.
- Anglicky psané, česky čtené. Titulky a perexy se přeloží hned při stažení, celý článek až při otevření. Claude Haiku píše přirozenou češtinu za haléře, ML Kit v telefonu je zdarma a offline, ale překládá strojově.
- Pořadí se učí z kliků. Appka si všímá, které zdroje, kategorie a slova z titulků otevírám, a podle toho posouvá články nahoru nebo dolů, nejvýš o 36 hodin. Staré zájmy po třech týdnech slábnou.
- Klidné zdroje nezmizí. Články starší než 14 dní se nezobrazují, ale poslední tři z každého zdroje zůstávají až 60 dní. Jinak by blog, který píše jednou měsíčně, vypadl celý.
Co jsem zjistil
Co jsem cestou zjistil
Den od nápadu po betu
Kostra, zdroje, widget, překlad, čtečka, personalizace a notifikace vznikly 10. října 2026 během jednoho dne s AI asistentem.
Zdrojů z víc než padesáti kandidátů
Každý jsem nechal změřit: kolik článků denně, jestli jde filtrovat a jestli vůbec pustí robota. Pět webů vrací 403, jeden padá na chybě serveru.
Článků denně z iRozhlasu
Sám by zaplnil celý feed. Zprávy teď dělá ČT24 jen z domácích, světových, ekonomických a vědeckých rubrik a Deník N bez komentářů a kultury.
Koruny za 150 přeložených titulků
Krátký celý článek vyjde na dva haléře. Appka počítá spotřebu ze skutečných tokenů, odhad na měsíc je 20 až 30 Kč.
Hodin je nejvíc, o kolik personalizace posune článek
Strop je schválně. Bez něj by oblíbený zdroj vytahoval nahoru i týden staré věci a feed by přestal být čerstvý.
Kliků, které odejdou z telefonu
Co čtu a co mě nezajímá, zůstává v telefonu v jednom souboru. Do Claude jdou jen texty článků k překladu.
Co jsem se naučil
Tři věci, na které jsem narazil
Stránka vlevo je zamčená
One UI na úplně levou stránku pustí jen Google Discover nebo Samsung Free, třetí appky ne. Řešení je obyčejná stránka plochy hned vedle a widget přes celou obrazovku. Glance widgety na One UI 9 fungují bez potíží.
Strojový překlad titulků nestačí
ML Kit v telefonu přeložil všech 150 titulků, ale část dávala nesmysl. Titulky jsou krátké a plné názvů, slovník na ně nestačí. Claude Haiku píše češtinu, která se dá číst, a stojí haléře. ML Kit zůstal jako záloha bez klíče.
Feed, který funguje, ještě není dobrý feed
Odpověď 200 OK nic neříká. Tom's Hardware má feedy podle témat, jenže s několikahodinovým zpožděním, takže beru hlavní feed a filtruju sám. A u vydání z GitHubu se jako náhled nabízel avatar autora, tedy fotka cizího člověka. Avatary appka teď přeskakuje.
Pro AI agenta
Postav si to u sebe
Chceš si to postavit u sebe? Zkopíruj návod a dej ho svému AI agentovi, třeba Claude Code nebo Codexu. Je v něm cíl, postup krok za krokem, pasti, na které jsem narazil, a jak ověřit, že to funguje. Adresy ani hesla v něm nejsou, ty agent doplní s tebou.
Pro zvědavé
Technické detaily
Stack a tok dat Kotlin · Compose · Glance · Claude
- Appka
- Nativní Android, Kotlin a Jetpack Compose. Instalace z APK podepsaného vlastním klíčem, v Google Play není. Telefon Galaxy S25 s One UI 9.
- Zdroje
- Vlastní parser RSS a Atom přes OkHttp. Vlastní zdroj stačí zadat adresou webu nebo YouTube kanálu, feed se najde přes
<link rel="alternate">a před uložením se ověří. - Obrázky
- Z feedu (media, enclosure, obrázek v obsahu), chybějící z
og:imagena webu článku, zkouší se jednou. U ČT24 a iRozhlasu appka přepíše adresu na velkou verzi. V appce Coil, ve widgetu předstažené náhledy 168 px. - Překlad
- Claude Haiku 5.5 přes oficiální anthropic-java SDK se strukturovaným JSON výstupem, po dávkách 25 článků. Nebo ML Kit v telefonu. Překlad se uloží a znovu se dělá jen při změně originálu nebo překladače.
- Čtečka
- Readability4J vytáhne obsah, appka ho rozloží na odstavce, nadpisy, citace, odrážky a obrázky. Mobilní User-Agent, posledních 60 článků v cache. Pod 400 znaků textu bere jako paywall a nabídne prohlížeč. Vydání z GitHubu čte přes API.
- Widget
- Jetpack Glance, posuvný seznam 30 článků. Klepnutí jde přes appku, aby se započítalo do personalizace, video se přesměruje do YouTube.
- Pozadí
- WorkManager každých 30 minut a tlačítko ve widgetu. Obnova je za zámkem, appka a pozadí se nepřepisují.
- Data
- Články, překlady a zájmy jako JSON soubory v úložišti appky. Databázi to nepotřebuje.
Filtry zdrojů kategorie · adresa · titulek
| Filtr | Co dělá | Příklad |
|---|---|---|
| jen kategorie | bere jen články s některou kategorií feedu | Tom's Hardware: grafiky, procesory, 3D tisk; Xbox Wire jen Game Pass |
| bez kategorií | přeskočí články s kategorií | Deník N bez komentářů, kultury a podcastů |
| adresa | odkaz musí odpovídat vzoru | ČT24 jen rubriky domácí, svět, ekonomika a věda |
| titulek | přeskočí titulek podle vzoru | slevy, návody ke hrám, bety a RC vydání |
| limit | nejvýš N článků ze zdroje | ČT24 osm, Deník N šest |
Řazení a personalizace afinita · poločas 21 dní
Základ je čas vydání. Každý další článek téhož zdroje dostane dvě hodiny navíc. Personalizace k tomu přičte nebo odečte posun: 8 × afinita zdroje + 6 × afinita kategorie + 12 × shoda slov z titulku, dohromady nejvýš ±36 hodin.
Afinita je logaritmus poměru, jak často otevírám tenhle zdroj proti průměru (s vyhlazením, aby jeden klik nic nerozhodl), omezená na ±2. Témata jsou slova z titulků otevřených článků v originále i v překladu. „Nezajímá mě“ dá tématům −2 a článek skryje. Všechno slábne s poločasem 21 dní. Výpočet má sedm jednotkových testů.
Pasti a jejich řešení pro ty, kdo to staví taky
Měřte články za den, ne jen jestli feed odpovídá: feed s dvaceti položkami u ukecaného zdroje pokryje pár hodin. Regex se slovní hranicí na „deal“ mine „deals“ i „discounts“, testujte ho na skutečných titulcích. Vydání z GitHubu mají titulek jen „v2.1.296“, appka před něj doplní název zdroje. Ranní souhrn Deníku N má v feedu prázdný odkaz, takové položky se přeskakují. YouTube náhled hqdefault má černé pruhy, mqdefault ne. Shorts ve feedu nejdou poznat. Odinstalace appky smaže widget z plochy. Na anthropic-java SDK na Androidu je potřeba vyloučit z balíčku duplicitní soubory META-INF.
Dál
















