{"slug": "show-hn-i-built-a-tool-that-turns-app-reviews-into-a-report-you-can-audit", "title": "Show HN: I built a tool that turns app reviews into a report you can audit", "summary": "Jared launched OneStar, a Show HN tool that reads store reviews from the App Store, Google Play and Steam and turns them into an auditable report on complaints, praise, churn reasons and feature requests. OneStar uses the Jev model from TypeSafe to answer a fixed set of typed questions per review with a probability per answer, while plain code handles counting, trends, percentages and star math, with every answer cached per review so threshold changes never re-call the model. The tool reads the newest 500 reviews per country on the App Store (up to 5,000 per report on paid plans), never reads review author fields, keeps raw review text off disk except 200-character excerpts, and gives free accounts 3 reports a month; Jared said the Method page accuracy numbers are upper bounds because verification labels were model-drafted and the human pass is unfinished.", "body_md": "Hi HN, I'm Jared. OneStar reads the store reviews of any app or game (App Store, Google Play, Steam) and turns them into one report: what people complain about, what they praise, why they say they're leaving, what they ask for.\nHere's one you can read without an account: [https://onestar.sh/vs/babbel-vs-duolingo-k5gc4](https://onestar.sh/vs/babbel-vs-duolingo-k5gc4)\nThe AI model is Jev from TypeSafe. Instead of asking it to summarize, I ask it the same set of typed questions about every review (\"is there a complaint?\", \"which category?\", \"does the reviewer say they're leaving?\") and it returns a probability per answer. Plain code does all the counting, trends, percentages and star math. Every answer is cached per review, so changing a threshold or a slider never calls the model again.\nAnswers under a confidence cutoff go into an \"unsure\" bucket that the report shows instead of hiding. Cutoffs come from 300-review labeled gold sets per vertical. The accuracy numbers on the Method page are upper bounds for now, because the verification labels were model-drafted and I haven't finished the human pass. That's the next thing I'm fixing.\nWhat it won't do: it reads the newest 500 reviews per country on the App Store (up to 5,000 a report on paid plans), it doesn't read review author fields at all, and raw review text never touches disk, only 200-character excerpts. A free account gets 3 reports a month.\nI'd like feedback on the method page and on whether the unsure bucket is the right way to be honest about model confidence. Happy to run any app in the thread.\n\nComments URL: [https://news.ycombinator.com/item?id=50006725](https://news.ycombinator.com/item?id=50006725)\n\nPoints: 1\n\n# Comments: 0", "url": "https://wpnews.pro/news/show-hn-i-built-a-tool-that-turns-app-reviews-into-a-report-you-can-audit", "canonical_source": "https://onestar.sh", "published_at": "2026-10-08 15:06:08+00:00", "updated_at": "2026-10-08 15:18:10.761923+00:00", "lang": "en", "topics": ["ai-products", "ai-tools", "large-language-models", "natural-language-processing"], "entities": ["OneStar", "Jared", "TypeSafe", "Jev", "App Store", "Google Play", "Steam", "Hacker News"], "also_reported_by": [], "alternates": {"html": "https://wpnews.pro/news/show-hn-i-built-a-tool-that-turns-app-reviews-into-a-report-you-can-audit", "markdown": "https://wpnews.pro/news/show-hn-i-built-a-tool-that-turns-app-reviews-into-a-report-you-can-audit.md", "text": "https://wpnews.pro/news/show-hn-i-built-a-tool-that-turns-app-reviews-into-a-report-you-can-audit.txt", "jsonld": "https://wpnews.pro/news/show-hn-i-built-a-tool-that-turns-app-reviews-into-a-report-you-can-audit.jsonld"}}