{"slug": "an-18-hour-half-life-for-mixed-launch-feeds", "title": "An 18-hour half-life for mixed launch feeds", "summary": "A developer built LaunchSignal, a public feed that merges Product Hunt, Hacker News, and GitHub launches into a single ranked list. The ranking uses a heat formula with an 18-hour half-life, and source-native scores to normalize different platforms. The project is live at launchsignal.ai/feed.", "body_md": "Product Hunt, Hacker News, and GitHub do not speak the same language. One is votes in a 24-hour window, one is comments on a Show HN, one is stars on a repo that may have been created last month. I wanted a single public list of what just shipped — not another idea-validation landing page (that is a different product at launchsignal.io).\n\nThe ranking bet is boring on purpose:\n\nheat = score × exp(−hours / 18)\n\nEighteen hours is a guess. Too short and GitHub never shows up. Too long and yesterday's PH winner sits on the homepage all week. Score is source-native: PH's public feed has no vote count I can trust, so every PH row starts at 12; HN is points + 0.4 × comments; GitHub is 2 × stars + forks. Then the same decay hits all three.\n\nGitHub Search taught me not to get clever. A long OR query came back 422. The surviving query is short: created recently, plus (ai OR llm OR gpt OR openai OR claude OR gemini). If that source dies, the board still has HN and PH. Recency and heat, nothing else — no classifier.\n\nLive list (same payload as JSON): [https://launchsignal.ai/feed](https://launchsignal.ai/feed)\n\nIf you have mixed a vote-based feed with a star-based one, what half-life did you keep?", "url": "https://wpnews.pro/news/an-18-hour-half-life-for-mixed-launch-feeds", "canonical_source": "https://dev.to/launchsignalai/an-18-hour-half-life-for-mixed-launch-feeds-ii9", "published_at": "2026-08-28 05:03:12+00:00", "updated_at": "2026-08-28 05:18:27.854398+00:00", "lang": "en", "topics": ["developer-tools", "ai-products"], "entities": ["LaunchSignal", "Product Hunt", "Hacker News", "GitHub"], "alternates": {"html": "https://wpnews.pro/news/an-18-hour-half-life-for-mixed-launch-feeds", "markdown": "https://wpnews.pro/news/an-18-hour-half-life-for-mixed-launch-feeds.md", "text": "https://wpnews.pro/news/an-18-hour-half-life-for-mixed-launch-feeds.txt", "jsonld": "https://wpnews.pro/news/an-18-hour-half-life-for-mixed-launch-feeds.jsonld"}}