01
Pushed collection, normalization, and LLM classification onto an async backend so organized data is already there at launch
PROBLEMPiping RSS from different language spheres and formats straight through lets the differences and noise wreck the UX
I designed data collection, schema normalization, and LLM classification/grouping as a fully asynchronous backend pipeline. As a principle, the moment the user opens the app a highly structured, organized data stream is already complete. Each processing step is implemented as loosely coupled modules so it can withstand rising load.
→Absorbs format differences and noise behind the scenes, presenting an organized stream the instant you open it
02
Ditched static feeds so that auto-grouping and custom folders let users build their own stream
PROBLEMThe context-switching that comes from shuttling across multiple sources and languages was the biggest barrier to digging deeper
I auto-group multiple sources covering the same topic (stack view) and auto-link common topics (Topic headers), consolidating the thread of a story into a single stream. Rather than handing over one static feed, I structured it as "custom folders" that freely cross sources with category tags and reorder by drag and drop, letting users build their own pipeline.
→The thread of a story stays intact even across sources, and you can recompose the stream around your own interests
03
Chose a stable paid VPS over a free tier as the foundation, making the stability of async AI processing a precondition of product quality
PROBLEMSince AI classification, summarization, and translation run in parallel in the background, server stability directly determines the quality of the experience
Because the design runs AI article classification, LLM summarization, and translation in parallel in the background, server stability directly drives experience quality. To avoid the instability of a free tier while keeping costs down, I chose a reasonably priced paid VPS rather than a free plan. To make "processing that completes out of the user's sight" the default, I defined infrastructure reliability as a precondition of product quality.
→Runs parallel AI processing reliably, keeping its very existence out of the user's awareness
04
Adopted a language-agnostic abstract schema and a PWA to get both easy source expansion and fast startup
PROBLEMI wanted to avoid a design that had to be rebuilt every time I added Asian or European sources
I designed an RSS-based abstract data pipeline that doesn't depend on language structure or domain characteristics, making it easy to add new sources like Taiwan or Chinese. Alongside that, treating startup speed and mobile ease as top priorities for a daily news-reading tool, I adopted a PWA. Combined with a Service Worker caching strategy, it achieves lightweight performance on par with a native app.
→Keeps the cost of adding sources from new language spheres low while securing native-level startup speed