<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Reid Ji]]></title><description><![CDATA[Reid Ji]]></description><link>https://reidstonji.hashnode.dev</link><image><url>https://cdn.hashnode.com/uploads/logos/6ab7c32e4b874737a74c2f5c/d7004ae3-9bbf-43bc-ba19-61944b5f2f5e.png</url><title>Reid Ji</title><link>https://reidstonji.hashnode.dev</link></image><generator>RSS for Node</generator><lastBuildDate>Sat, 24 Oct 2026 13:40:31 GMT</lastBuildDate><atom:link href="https://reidstonji.hashnode.dev/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[No method has been shown to predict what software to build. So I'm backtesting mine on three years of store data]]></title><description><![CDATA[Update, Oct 9: I wrote this on Sept 29. The first backtest finished on Oct 1. One signal first looked 13x better than random; compared against needs of the…]]></description><link>https://reidstonji.hashnode.dev/no-method-has-been-shown-to-predict-what-software-to-build-so-i-m-backtesting-mine-on-three-years-of-store-data</link><guid isPermaLink="true">https://reidstonji.hashnode.dev/no-method-has-been-shown-to-predict-what-software-to-build-so-i-m-backtesting-mine-on-three-years-of-store-data</guid><category><![CDATA[AI]]></category><category><![CDATA[Chrome]]></category><category><![CDATA[buildinpublic]]></category><dc:creator><![CDATA[Reid Ji]]></dc:creator><pubDate>Fri, 09 Oct 2026 01:05:42 GMT</pubDate><content:encoded><![CDATA[<p><em>Update, Oct 9: I wrote this on Sept 29. The first backtest finished on Oct 1. One signal first looked 13x better than random; compared against needs of the same size, it was about 2x; with finer size bands, an estimated 1.4–1.6x, and that is in-sample, so likely on the high side. Which signals really work will take forward checks. One signal ("Missing Here") was moved to watch-only on Oct 1. Originally published on Medium.</em></p>
<p>You can build a Chrome extension with AI in an afternoon now. Building isn't the bottleneck anymore. <strong>Knowing what to build is.</strong></p>
<p>I'm running a public experiment: mine public store data for unmet needs, let AI research whether each one is worth building, let AI build the good ones, and publish every result — misses included. A week in, I hit the question underneath all of it: <em>why should anyone trust a verdict that says "build this"?</em></p>
<p>So I read everything I could find on how to pick software opportunities. Short version:</p>
<blockquote>
<p>No method has been independently shown to predict what to build. What you can borrow is a vocabulary for describing opportunities and a few robust correlates of success. Whether a specific signal works, you have to test yourself.</p>
</blockquote>
<h2>The experiment that humbled me</h2>
<p>A popular playbook: find abandoned or removed extensions that still have users, and rebuild them. People sell lists of these.</p>
<p>We took the 100 top-scoring candidates and had an AI agent research each one on the web:</p>
<ul>
<li><strong>0 were worth building.</strong> 34 were "maybe, with conditions", 66 were no.</li>
<li>90 already had a better, maintained alternative.</li>
<li>66 served a need that was shrinking or gone.</li>
<li>40% of the top 30 were "maybe", versus 28% of ranks 61–100 — only slightly better, and not one was a clear yes. <strong>The score meant much less than it looked.</strong></li>
</ul>
<p>Abandoned usually means abandoned for a reason. A list tells you what's broken; only validation tells you whether it's worth fixing.</p>
<h2>Popular frameworks describe opportunities well — they don't predict them</h2>
<ul>
<li><strong>Outcome-Driven Innovation</strong> gives you a great definition ("important but underserved outcomes"). Its famous 86% success rate comes from 21 of the vendor's own client projects.</li>
<li><strong>Disruptive innovation</strong>: a re-examination of the 77 cases cited in the original work found only 9% fit all four elements of the theory.</li>
<li><strong>"Timing matters most"</strong>: the widely quoted 42% comes from a founder scoring 200 companies himself, after the outcomes were known.</li>
<li><strong>Indie hacker wisdom</strong> (stair-step, audience-first, "4 of my 70+ projects made money") is genuinely useful — and mostly self-reported.</li>
</ul>
<p>Two things do have real statistical backing:</p>
<ol>
<li>A <strong>meta-analysis of 233 studies</strong>: the strongest correlate of new-product success is <strong>product advantage</strong> (a correlation of .34, the strongest in that meta-analysis). The samples are mostly manufacturing and B2B, so whether it transfers to small indie software is an open question.</li>
<li>A <strong>randomized trial with 116 startups</strong>: founders trained to treat ideas as falsifiable hypotheses performed better and were more willing to pivot. The real benefit is killing false positives.</li>
</ol>
<p>And I could not find a single verified case of "picked an idea from store data → made money."</p>
<h2>Base rates are brutal</h2>
<ul>
<li>Of subscription apps, 17.2% reach \(1K/month within a year; 3.5% reach \)10K.</li>
<li>The median Chrome extension has 17 users; about 70% have fewer than 100.</li>
<li>About 60% of Chrome extensions live roughly a year; among potentially infringing extensions, 86% are near-copies of removed ones.</li>
</ul>
<p>So I assume random picks hit <strong>5–20% of the time</strong>. Any method that reports a hit rate without comparing it to a random baseline is telling you nothing.</p>
<h2>What we're moving to</h2>
<p>Three layers, plus a separate "need" object (signals are live; dimensions and forms are being designed):</p>
<ul>
<li><strong>Signals — why is there a gap here?</strong> Seven on trial: Abandoned Users, Leader Complaints, Unfair Pricing, Rising Demand, Underserved Website, Leader Went Bad (acquired, ads added, price hike, ratings sliding), and Missing Here (people use it in another store; Chrome has nothing like it).</li>
<li><strong>Dimensions — is it worth it? (being added)</strong> Size, willingness to pay, product advantage, build difficulty, acquisition difficulty, timing, evidence strength.</li>
<li><strong>Form — what do we ship? (being designed)</strong> A single tool, a bundle of small needs, a template, or a funnel into something else.</li>
</ul>
<p>Needs live on their own because of an early lesson: across 30,000 extensions, <strong>the unit of opportunity is a need, not an extension.</strong> One need often has dozens of extensions; old ones die and users have already moved.</p>
<p>Every "build this" will also ship with <strong>the riskiest assumption, the cheapest test, and a stop-loss line</strong> — our practical takeaway from that randomized trial.</p>
<h2>Why backtesting</h2>
<p>If no theory has been shown to predict, test against history. We have daily full snapshots of the Chrome Web Store going back to September 2023:</p>
<ol>
<li>Pretend it's a past date and run today's rules to produce that day's opportunity list.</li>
<li>Check whether, within 12 months, a <strong>newcomer reached 10,000+ users</strong> in those needs.</li>
<li>Compare against randomly picked needs.</li>
</ol>
<p>(Backtesting is borrowed from quant investing: judge today's rules by how they would have done on past data, not by how convincing they sound.)</p>
<p>That answers which signals beat chance and by how much, how to weight the dimensions, and something I couldn't find any outside study answering: <strong>do gaps mined from store data actually get filled by someone who wins?</strong></p>
<p>Pitfalls to fix first: remove duplicate clones before counting competitors; clean the removals first — many are spam, so keep only ones that had real users and were compliant; and deduplicate "hits" too, or one winner's dozens of clones become dozens of hits.</p>
<h2>One consequence to design for now</h2>
<p>If many people subscribe to the same opportunity list, <strong>a shared list speeds up saturation of the very opportunities it finds.</strong> How opportunities are distributed (limited, batched delivery, routed by each user's own constraints) may need to be designed together with the backtest, not bolted on after launch.</p>
<h2>If you're figuring out what to build</h2>
<ol>
<li>Look at markets as <strong>needs</strong>, not individual products.</li>
<li>Decide <strong>what</strong> separately from <strong>what form</strong>.</li>
<li>Ask "why is there a gap here?" first. No signal, no bet.</li>
<li>Rate <strong>product advantage before ease of building</strong>, or you'll drift toward easy-but-pointless.</li>
<li>Write the <strong>riskiest assumption, cheapest test and stop-loss</strong> before you build.</li>
<li>Always compare your hit rate to a <strong>random baseline</strong>.</li>
</ol>
<p>The first backtest results are in the update at the top. When the forward checks are in, I'll publish them as they are — including the signals that turn out to be useless.</p>
<p>How do you decide what to build right now? Reply with what you're working on.</p>
<p><em>I'm Reid. Building is cheap now; knowing what to build isn't. Data picks, AI builds, every result goes public — misses included.</em></p>
<p><strong>Sources:</strong> Wikipedia (Outcome-Driven Innovation); Strategyn; e-Literate, "Cracks in the Foundation of Disruptive Innovation"; Bill Gross talk transcript (Singju Post); Evanschitzky et al. 2012 meta-analysis; Camuffo et al., Management Science; TechCrunch 2024-03-12 on RevenueCat data; DebugBear, "Counting Chrome Extensions"; arXiv 2406.12710 and 2406.00374. Our data: 100-candidate research run and 30,009-extension need clustering, 2026-09-24. Data: Chrome-Stats, processed by us.</p>
<p><em>Drafted with AI assistance; the decisions and opinions are mine.</em></p>
<p>If you're weighing a direction right now, we do one free verdict a day. The link is in my profile.</p>
]]></content:encoded></item></channel></rss>