It's a Small Web After All: The State of Indie Launches, July 2026
Published 3 August 2026
Does where a founder sits change what they build with?
19,772 indie launches analysed in July 2026. With country-of-origin estimates live, we crossed the stack against the map. Most of it did not move. The parts that did are the parts that touch money and law.
The framework layer is global. The payment layer is not.
Last month we found that a tool's audience tells you how new it is. This month we pointed the same machinery at geography and asked the obvious follow-up: does an Indian launch reach for a different default than a German or Brazilian one, or is the indie monoculture global?
The answer is both, and the line between them is sharp. Tailwind runs on between 47.6% and 58.2% of launches in every country in this data. Stripe runs on 9.7% of American launches and 1.3% of Indian ones, where Razorpay takes 14.7%. The layer a founder picks for taste is the same everywhere on earth. The layer a founder picks because a bank, a regulator, or a local incumbent made the decision for them is where the map reappears.
Five things stood out
- India runs on Razorpay, not Stripe. Stripe is on 1.3% of Indian launches against 9.7% of American ones. Razorpay is on 14.7% of Indian launches and effectively zero everywhere else.
- Germany opted out of Google. Google Analytics runs on 25.1% of German launches against 45% to 54% almost everywhere else. Tag Manager and Google Ads show the same gap, and it survives when you control for what people are building.
- .dev is the only domain ending that means what it says. 71.0% of .dev launches are developer tools or AI products, against a 25.0% baseline. On .ai, 72% of launches are not AI products.
- One launch in ten never bought a domain. 9.6% ship on vercel.app, github.io, lovable.app or similar. They average 3.72 out of 10 on the StackScope score against 6.58 for launches on their own domain.
- Product Hunt and Show HN launch from different countries. India is 21.3% of the Product Hunt launches we can place and 6.0% of Show HN's. Relative to an American launch, an Indian one is about six times more likely to appear on Product Hunt than on Show HN.
A quick word on methodology
The scored launches come from Product Hunt (83.7%), Hacker News Show HN (9.7%), and PeerPush (6.5%). A launch is counted against the board it launched on, even when our own crawl found the site first. Every launch in this set was crawled during July 2026. Same baseline crawl as previous issues: static HTML, rendered DOM via Playwright, DNS and RDAP, legal-page discovery. Tech detection runs against 15,759 fingerprints, up from 5,676 in June, most of that growth being small vendors surfaced by the discovery crawl described at the end of this issue. Full methodology at /methodology.
The country estimates need more explanation than usual, because this issue leans on them.
We estimate where a launch is based from signals that point at the company rather than the server, weighted by how much each one is worth, with the legal paperwork a company publishes about itself carrying the most weight. We deliberately do not use the IP address, because for the indie web that measures Cloudflare and Vercel, not the founder. Most launches resolve to "unknown" and we leave them there.
Two confidence bars matter below. The wide bar (confidence 0.45 and up) covers 22,908 launches across the corpus and is what a launch page shows publicly. The tight bar (0.9 and up) covers 2,956 and is what we publish country rankings on. Every finding in this issue was computed at both. Where the two disagree, we say so.
The tight bar is not a random sample, and it is worth being blunt about how it is selected. Because the heaviest evidence is legal text, between 72% and 100% of high-confidence labels, depending on the country, come from a launch that published real terms naming a jurisdiction, and for the three largest origins it is 95% or better. So the tight bar is close to a census of launches that wrote a proper terms page, which is a different population from "all launches" and one that different countries populate at different rates. The wide-bar numbers are the ones we lead with for that reason, with the tight bar as the check.
One deliberate omission. We do not publish country-code domain cuts, no "do German makers stay on .de", because the domain itself is one of the things that can inform the origin estimate, so that answer would partly be our own arithmetic coming back at us. Every domain-ending number in this issue is restricted to generic endings (.com, .ai, .io, .app, .dev and the rest), where no such loop exists.
Denominators, as ever: per-country and per-domain-ending counts are sub-corpus counts and read lower than the all-time totals on the linked /tech pages.
The cohort
| Source | Launches | Share |
|---|---|---|
| Product Hunt | 16,549 | 83.7% |
| Hacker News (Show HN) | 1,925 | 9.7% |
| PeerPush | 1,290 | 6.5% |
| Found outside the boards | 8 | 0.0% |
| Total scored | 19,772 | 100% |
Show HN's share is up (6.4%, 8.1%, 9.7% across May, June and July) and Product Hunt's is down about a point from June. The last row is small on purpose. Our own crawl reached 612 of July's launches before the board listed them, and those are counted against the board they launched on rather than against us. Only seven were never listed anywhere. What that crawl is, and why it amounts to a great deal more than eight launches, is at the end of this issue.
Everyone builds with the same things
Here is the boring half of the answer. The interesting half only means something against it.
| Estimated origin | Launches | Tailwind | React | Next.js | Vercel |
|---|---|---|---|---|---|
| United States | 5,001 | 55.4% | 49.1% | 47.9% | 37.5% |
| India | 4,465 | 56.2% | 40.9% | 40.0% | 35.7% |
| United Kingdom | 1,895 | 52.8% | 40.6% | 39.1% | 30.3% |
| China | 1,053 | 53.4% | 38.2% | 36.4% | 19.9% |
| Germany | 847 | 50.8% | 30.1% | 28.6% | 21.7% |
| France | 755 | 56.4% | 42.3% | 42.0% | 33.5% |
| Canada | 739 | 54.0% | 42.4% | 40.9% | 31.7% |
| Australia | 540 | 47.6% | 37.4% | 35.6% | 31.5% |
| Brazil | 433 | 58.2% | 41.1% | 39.0% | 32.1% |
Launches with an estimated origin at confidence 0.45 or better, across the whole catalogue rather than the July cohort. Percentages are of that country's labelled launches.
Tailwind spans eleven points across nine countries. React and Next.js span about nineteen, and Germany sits at the bottom of both. Nobody is building on a materially different frontend. A Brazilian launch and a Californian one reach for the same four things, in the same order, at nearly the same rate.
This is the strongest evidence we have for something the last three issues kept implying. Nobody exported this stack. It is the default output of tools everyone shares, and those tools do not know what country you are in.
Where the map reappears
Now change layer. Same launches, same table shape, different rows.
| Estimated origin | Stripe | Razorpay | Google Analytics | Hostinger | Resend |
|---|---|---|---|---|---|
| United States | 9.7% | 0.1% | 46.4% | 3.9% | 30.2% |
| India | 1.3% | 14.7% | 53.0% | 17.3% | 16.6% |
| United Kingdom | 10.6% | 0.0% | 44.7% | 6.0% | 28.0% |
| China | 2.3% | 0.0% | 45.5% | 1.3% | 9.8% |
| Germany | 7.8% | 0.0% | 25.1% | 3.0% | 17.0% |
| France | 11.1% | 0.0% | 35.1% | 9.0% | 32.5% |
| Canada | 9.1% | 0.0% | 44.8% | 5.3% | 29.6% |
| Australia | 10.4% | 0.0% | 53.5% | 6.5% | 31.3% |
| Brazil | 9.5% | 0.0% | 49.7% | 11.3% | 30.3% |
Payments draw the sharpest line in the dataset. Stripe sits between 7.8% in Germany and 11.1% in France, with every other Western origin here inside that band. In India it is 1.3%, and Razorpay, a company most Western founders have never heard of, is on 14.7%, more than ten times Stripe's Indian rate. Cashfree adds another 1.4%. In China, Stripe is 2.3% and no Western processor replaces it.
We are not going to pretend this is a mystery. Domestic card and UPI rails, local acquiring rules and who can actually settle money into a local bank account decide this, not developer preference. A founder in Bangalore and a founder in Austin ship the same React app on the same Vercel deployment, and then hit a completely different wall at checkout.
Hosting splits the same way, one layer down. Hostinger is on 17.3% of Indian launches against 3.9% of American ones, with Brazil (11.3%) and France (9.0%) in between. WordPress tracks it: 10.1% in India and 13.1% in Australia against 4.6% in the US. This is the same non-Vercel indie web the May issue found under the headline stack, and it turns out to have a geography.
Transactional email leans Anglosphere. Resend is on about 30% of American, French, Australian, Brazilian, Canadian and British launches, 16.6% of Indian ones and 9.8% of Chinese ones. For a tool that reads as a global default in the places that write about it, that is a large hole in the map.
The obvious objection is that different countries build different products, so this could be product mix wearing a flag. It is a real effect. American launches are 26.1% technical builds (developer tools or AI) against India's 18.5%, and Indian launches skew towards marketing, education and finance products. So we split every country into technical and non-technical builds and re-ran the table inside each band. The payment gap does not move: Stripe is on 1.2% of India's non-technical builds and 1.5% of its technical ones, against 10.2% and 9.6% for the United States. Razorpay holds at 14.3% and 14.0% in the two Indian bands. Hostinger stays at least three times its American rate in both. Whatever these launches are, the plumbing under them is national.
Germany opted out of Google
The single largest deviation in the whole cross-tab belongs to Germany, and it has nothing to do with payments. It is about Google.
| Tool | Germany | Everywhere else |
|---|---|---|
| Google Analytics | 25.1% | 35.1% to 53.5% |
| Google Tag Manager | 19.1% | 25.7% to 41.9% |
| Google Ads | 6.7% | 10.5% to 21.9% |
| Matomo | 1.9% | 0.0% to 1.2% |
| Cookiebot | 1.7% | 0.0% to 0.7% |
German launches run Google Analytics at roughly half the rate of the corpus, run Google's ad and tag products at a third to a half, and lead on the self-hosted alternative, with only France close behind. Matomo's German rate is small in absolute terms and still the highest anywhere. France sits in the same direction at 35.1%, less strongly.
German data-protection authorities have spent years making Google Analytics legally awkward, and German founders have clearly absorbed the message. What is unusual is being able to measure it: a regulatory posture, visible as a double-digit hole in a tag manager's market share.
It also survives the control. In the technical band German launches run GA at 25.4% and in the non-technical band at 26.1%, against 46.8% and 46.4% for the United States. This is not German launches being different products. It is German launches making a different choice about the same product.
About last month's India headline
Last month we published a high-confidence country ranking, said India edges the United States, and called it "a good question to pull on". Pulling on it produced an answer we did not expect, so here it is.
At the tight bar the ranking still holds, and by a wider margin than in June:
| Estimated origin (tight bar) | Launches |
|---|---|
| India | 935 |
| United States | 437 |
| United Kingdom | 332 |
| Canada | 227 |
| Australia | 96 |
| Brazil | 79 |
| Japan | 74 |
| Germany | 73 |
At the wide bar, the order flips: the United States leads with 5,001 against India's 4,465.
Both numbers are correct and they measure different things. The tight bar mostly counts launches that published a governing-law clause, and Indian terms pages carry one far more often than American ones, along with a GST or company registration number that pushes the same launch over the line. The wide bar accepts weaker evidence, covers seven times as many launches, and puts the two countries within about 12% of each other.
So the honest version of June's line is this: India and the United States are the two largest origins in our data by a distance, they are closer to each other than either is to anyone else, and which one leads depends on how much evidence you demand. India leading was not wrong, but it was a property of the bar, and we should have said so at the time. It stayed in the top spot every way we cut it this month, which is the part that is genuinely surprising and the part worth keeping.
We can put a number on the bias rather than just warn about it. Move from the wide bar to the tight bar on Product Hunt alone and India's share of placed launches goes from 21.3% to 34.0%, while America's falls from 20.4% to 13.9%. Demanding more legal paperwork makes the sample more Indian, every time. That is the clearest evidence we have that Indian launches are over-represented among the launches we can place at all, and it is why nothing in this issue reports a country as a share of all launches.
The two launch boards are in different countries
Splitting origin by where the launch was posted turned up the widest gap in this issue, and it is not about technology at all.
| Estimated origin | Product Hunt | Show HN | PeerPush |
|---|---|---|---|
| India | 21.3% | 6.0% | 11.6% |
| United States | 20.4% | 34.7% | 26.8% |
| United Kingdom | 8.2% | 7.7% | 9.2% |
| Germany | 3.3% | 7.5% | 5.1% |
| Netherlands | 1.9% | 6.3% | 3.5% |
| China | 4.9% | 1.4% | 4.0% |
| Launches we can place | 19,390 | 1,209 | 2,301 |
| As a share of that board | 31.7% | 21.5% | 37.6% |
Percentages are of the launches on each board that we can place at all (confidence 0.45 and up), NOT of every launch on that board. Two thirds of Product Hunt and four fifths of Show HN carry no origin estimate, and per the section above the launches we can place skew towards countries whose founders publish more legal paperwork. Read these as the shape of the placeable slice, not a census of either board.
India is the largest placeable origin on Product Hunt and the fifth on Show HN. The United States is the reverse: a fifth of placeable Product Hunt launches and a third of Show HN.
Because the same country's paperwork habits apply on both boards, the comparison between boards cancels most of the bias that the raw shares carry. Doing it that way: relative to an American launch, an Indian launch is about six times more likely to turn up on Product Hunt than on Show HN. Germany and the Netherlands lean the other way, each at least twice as present on Show HN as on Product Hunt.
There is a trend inside it too. India's share of placeable Product Hunt launches has gone 19.3%, 21.6%, 21.4%, 22.3% across the April to July cohorts, passing the United States in May and pulling away since; the American share drifted 21.2% to 19.6% over the same four months. On Show HN, India moved from 3.4% to 8.2%, rising quickly from a small base.
We are not going to over-explain this. Show HN and Product Hunt reward different things, one is a link aggregator for engineers with an American centre of gravity and the other is a global product-launch board, and founders sort themselves accordingly. The number worth keeping is the six-times figure, because it says the two boards are not two samples of one population. Anyone generalising from Show HN to "the indie web" is generalising from one country more than they think.
The TLD lens
If origin is where the maker is, the domain ending is the address they chose. We looked at whether the address predicts anything, using generic endings only.
It predicts one thing extremely well and almost nothing else.
| Domain ending | Launches | Technical products | AI | Developer tools |
|---|---|---|---|---|
| .dev | 1,792 | 71.0% | 17.1% | 54.0% |
| .ai | 4,238 | 40.7% | 27.9% | 12.8% |
| .tech | 555 | 36.9% | 16.0% | 20.9% |
| .io | 2,951 | 31.9% | 12.8% | 19.1% |
| .xyz | 790 | 24.1% | 10.6% | 13.5% |
| .com | 31,776 | 21.4% | 9.7% | 11.6% |
| .co | 1,124 | 20.0% | 11.7% | 8.4% |
| .app | 5,673 | 16.4% | 9.2% | 7.3% |
"Technical products" is the same measure as last month's tech-share: the percentage of a group's classified launches that are developer tools or AI products, against a corpus baseline of 25.0%. Launches on a platform subdomain are excluded here and counted in the next section.
.dev means what it says. More than half of .dev launches are developer tools, over four times the .com rate, and 71.0% are technical products against a 25.0% baseline. No other signal we track separates a population that cleanly on one field.
.ai mostly does not. The lift is real: 27.9% of .ai launches are AI products against 9.7% on .com, so an .ai domain makes a launch roughly three times as likely to be an AI product. But 72% of .ai launches are something else entirely, sold on an address that says otherwise. The premium is being paid for the connotation, not the category.
.app is the flattest ending in the table. At 16.4% technical it sits below .com. Whatever a founder is signalling by choosing .app, it is not what they built.
The stacks follow the same shape. Launches on .ai and .io are the most modern-JS populations in the data (Tailwind 64.7% and 62.5%, shadcn/ui 31.2% and 26.1%, PostHog 15.1% and 10.1%, all well above the corpus). Launches on .com carry almost all of the WordPress population. And .dev inherits the developer pole from last month's issue wholesale: Google Analytics is on 23.6% of .dev launches against 46.4% of .com ones, and Tag Manager 17.4% against 34.5%. Developers buy the developer domain and then decline to install the marketing tags, which is about as on-brand as a dataset gets.
One cut we will not print. Because a country-code ending feeds the origin estimate, the natural question ("do German makers stay on .de") is circular by construction, so this section stops at generic endings. On those, the only origin difference big enough to bother reporting is the .ai premium: 15.4% of American launches with a generic domain use .ai against 6.6% of Indian ones, with .com running the other way (52.6% American, 63.9% Indian). Chasing an .ai domain is, for now, a disproportionately American habit.
The launches with no address
Sorting by domain ending turned up something we had not looked at directly. A large slice of launches never bought a domain at all.
7,013 launches in the corpus, 9.6%, ship on a subdomain of the thing that built or hosts them: vercel.app (2,861), github.io (1,154), netlify.app (885), lovable.app (596), pages.dev (300), base44.app (181), web.app (180), onrender.com (139). It is 9.7% of the July cohort. Two in every five hosts ending in .app are one of these, which is why the .app row above needed them removed before it meant anything.
| Own domain | Platform subdomain | |
|---|---|---|
| Launches | 65,910 | 7,013 |
| Avg StackScope score | 6.58 | 3.72 |
| Avg Launch Readiness | 87.7 | 67.9 |
| Avg Vibe Score | 29.8 | 36.6 |
| Share that are AI products | 11.7% | 12.3% |
The gap is large and it is not a product-mix effect: both groups are the same 12% AI products. A launch on a builder's subdomain scores nearly three points lower out of ten and twenty points lower on launch readiness. That makes sense mechanically, since a lot of what we check (a privacy policy, security headers, a sitemap, an email domain) is easier to ignore when you never owned the domain in the first place. Buying a domain is not what causes a good launch. It is just the first thing founders who finish a launch tend to have done.
The platform split by source is the sharpest version of it. Product Hunt launches are on a platform subdomain 10.4% of the time and Show HN 10.3%, against 1.3% on PeerPush. Three issues in a row now, PeerPush has come out as the most finished cohort in the data, and this is the plainest reason yet: almost everyone there brought their own domain.
The adoption clock
The recurring measurement introduced last month. The theory: a tool's tech-share, the percentage of its users that are technical builds, reads how new it is, and it should fall as the tool crosses over.
| Email tool | Users | Tech-share |
|---|---|---|
| Cloudflare Email Sending (beta) | 294 | 42% |
| SendGrid | 1,576 | 27% |
| Mailgun | 711 | 26% |
| Resend | 10,985 | 24% |
| Amazon SES | 2,091 | 23% |
User counts are within the classified sub-corpus (56,504 launches with a high-confidence product category), so they read lower than the all-time totals on the linked pages.
The clock ticked, in both directions at once, exactly as the theory says it should. Cloudflare Email Sending exactly doubled its share of the monthly cohort, from 0.45% in June to 0.90% in July, and its tech-share fell from 48% to 42%. It is still the most developer-skewed tool in the category by a wide margin, and it is less developer-skewed than it was four weeks ago.
At the other end, Resend keeps sliding: 24.9%, 23.8%, 22.9%, 22.6% across the April to July cohorts, against a technical baseline that has not moved at all (25.0% in each of the last three months). Four consecutive months below the line and falling. The developer's email service now has an audience slightly less technical than the average indie launch, and the trend is the most consistent single line in our data.
Risers and fallers
| Field | June 2026 | July 2026 | Δ |
|---|---|---|---|
| Vercel hosting share | 32.2% | 30.4% | -1.8pp |
| Tailwind CSS adoption | 52.0% | 51.1% | -0.9pp |
| React adoption | 35.6% | 34.8% | -0.8pp |
| Next.js adoption | 34.1% | 34.0% | -0.1pp |
| Resend share of email | 19.3% | 19.0% | -0.3pp |
| Cloudflare Email Sending | 0.45% | 0.90% | +0.45pp |
| Named AI-builder cohort | 8.6% | 7.3% | -1.3pp |
| Lovable share of named cohort | 50.2% | 49.4% | -0.8pp |
| Avg Vibe Score (PH) | 31.7 | 29.8 | -1.9 |
| Avg Launch Readiness (PeerPush) | 91.3 | 92.7 | +1.4 |
| Avg Vibe Score (Show HN) | 19.7 | 18.1 | -1.6 |
Auto-derived from last month's data. Anything inside about two points is noise.
One line clears the noise band, and it is the Cloudflare Email Sending row covered above. Everything else sits inside it, including two that are worth naming anyway because of where they point.
The named AI-builder cohort fell from 8.6% to 7.3%, the largest move in the table and still, by our own two-point rule, noise. It is also the part of the pipeline most sensitive to a vendor quietly changing its output, so a fall could be the market or could be us losing a fingerprint. Lovable held about half of the cohort either way. We will report it again next month before reading anything into it.
Vercel slipped under a third for the first time (30.4%), which is also inside the band month over month, but the four-issue series now reads 33.2%, 32.1%, 32.2%, 30.4%. That is 2.8 points off April and the lowest we have recorded. Each single step is noise; the sum of them is starting not to be.
Tuesday is launch day, mostly
The recurring check, run across the whole corpus of 72,927 launches. The finding from May holds unchanged: Tuesday leads at 20.3% against Wednesday's 17.7%, the weekend is the only real cliff, and the Tuesday peak is a Product Hunt artifact. On PeerPush, where most founders take a scheduled queue slot instead of picking a day, the week is essentially flat and the gentle peak is on Friday.
The claim funnel
75 founders have now claimed their listing and triggered a recrawl, up from 52 at the end of June. Of the 62 we could compare cleanly, 41 shipped at least one observable fix. The median claimer starts at 7.3 out of 10 and lands at 9.5, a median lift of +1.1. The most-added items are the same boring five as every month: llms.txt (20), a Referrer-Policy header (20), security.txt (19), a privacy policy (11), robots.txt (5).
If you launched on Product Hunt, PeerPush, or Show HN in July and have not checked your listing, find it on /browse. Claiming is free. The Launch Readiness Check runs the same analysis on any URL.
What we can now measure
The wider web, not just the launch boards. Every issue of this publication so far has described the same population: sites that a founder posted to Product Hunt, Show HN or PeerPush. We have said in each one that this is a directory-submitted cohort and not the whole indie web. That is still true of every number above, and this month it became true in a much more visible way, because we started crawling sites we find ourselves rather than waiting for someone to post them. That set went from nothing on 8 July to 538,728 sites by the end of the month. It is now the large majority of the catalogue by count, close to nine sites in ten, and it will be what you mostly see if you browse the site.
It changes nothing in this issue, deliberately. There is a hard line between the two sets:
- Scored launches have a launch date that means something and go through the full baseline crawl that produces a StackScope score, a Launch Readiness score and a Vibe Score. Almost all of them come from a launch board. There were 19,772 in July, and every table above is computed on those.
- The wider-web set is detected, not scored. We can see what a site runs. We do not give it a score, and we do not know when it launched, only when we first saw it.
Mixing the two would quietly break every comparison the last four issues have built, so we do not mix them, and a number in this publication will always tell you which set it came from. The reason to do it at all is that a launch board is a narrow window on the web, as the platform section above demonstrates at some length. Being able to check a finding from the boards against a much larger population that nobody curated is worth the extra bookkeeping.
And if you want it as data rather than as a blog post. The discovered stream is first-party from end to end, ours from the moment we find a site to the moment we crawl it, which is what makes it something we can offer machine access to. That is now a small paid product, and it is live: a domain lookup that returns a site and its stack, a filterable feed of what launched this week, and standing watches that tell you when something launches using a given technology. Pricing is published in full and starts at £15 or $19 a month. /data describes what is in it, and more usefully what it does not claim. If you want to know whether it answers your particular question before paying for it, ask us for a trial key and say what you would query.
What's next
This is issue #4. The recurring shape holds: a monthly feature, the adoption clock, the deltas table, the day-of-week check, the claim funnel.
Next month we stop asking what launches run and start looking at what they look like. Issue #5 is The Average Launch: we are averaging thousands of launch screenshots per product category into single composite images, the way people build the average face of a country, to see whether the design monoculture is as strong as the stack monoculture. The early composites suggest it is, and that the average game landing page is a popup. Alongside them, the top stack of every product category rendered as a build sheet.
Bookmark /blog.
Credits and links
Thanks to the PeerPush team for the ongoing integration support, and to the readers who pushed back on the June country ranking. The "which bar are you using" section above exists because of those questions.
Explore the July data
- Find your launch: see how your July launch was scored.
- Claim a listing: verify ownership from your launch page and trigger a fresh crawl.
- Slice the trends: stackscope.dev/trends, filterable by product category.
- Browse the tech catalogue: stackscope.dev/tech.
- Machine access: /data covers the lookup API, the launch feed and standing watches. Live now.