What 17,000+ indie launch pages reveal about AI builders, hosting, frameworks, email, and launch readiness.
In April 2026, we crawled 17,196 indie launch pages.
We haven't seen many public monthly snapshots of the modern indie launch stack, so this is our attempt at one. This is the first one. Thanks for being here.
It's a filtered set. We exclude big-tech URLs (app stores, vendor blog posts), shop-front product pages, and obvious spam at ingest, so the 17,196 is actual indie launches, not everything submitted to a launch board.
Five things stood out
- 8.1% of launches had a named AI-builder fingerprint. Lovable, Replit, Base44, Bolt, v0, and a long tail.
- Another 19.6% of the cohort scored above 40 on stylistic Vibe Score signals. That's the "looks LLM-shaped" tail beyond the named-builder hits, still measured against all 17,196 launches.
- Vercel hosted one-third of all scored launch pages. A single provider running a third of this launch cohort.
- Tailwind appeared on 58.0% of launches. Plus React on 37%, Next.js on 36%, shadcn/ui on 24%.
- Resend appeared on more launch domains than SendGrid, Mailgun, Postmark, and Mailjet combined. A 2023-founded company has overtaken four long-running incumbents in this cohort.
A quick word on methodology
The scored launches come from Product Hunt (82.1%), PeerPush (11.8%), and Hacker News Show HN (6.1%), with a handful of manual entries. Every launch in this set was crawled during April 2026. It's a smaller dataset than BuiltWith, but everything in it was crawled this month.
This is a directory-submitted cohort, not "all indie sites". Founders who submit to public launch boards skew towards public-facing JavaScript and SaaS launches, away from internal tools, course landing pages, niche WordPress sites, and other indie work that never gets a launch-board post. Every claim in this post describes that slice, not the entire indie web.
Every launch gets a baseline crawl: static HTML via direct fetch, rendered DOM via Playwright, DNS and RDAP, plus legal-page discovery. The tables in this post use that launch-state baseline only. Founders can claim a listing and trigger a fresh crawl later, but those recrawls do not feed back into the April dataset. Tech detection runs against the rendered output, using our own custom fingerprint database (3,202 entries this month).
The Vibe Score rolls up signals from seven categories:
- Named-builder fingerprints: direct hits like Lovable or v0.
- Section and layout patterns: common page structures and component orderings.
- Visual styling tells: colour schemes, gradients, font and CSS-variable conventions.
- Markup artifacts: comment density, inline-style usage, JS boilerplate shapes.
- Asset and scaffolding tells: default favicons, framework-default fonts and icon sets.
- Copy patterns: generic CTA shapes, placeholder strings, suspicious testimonial widgets, punctuation overuse.
- Stack composition: specific framework combinations that signal a templated start.
None of these signals would convince a human reviewer on its own. Every legitimate site uses several of them. The score is a weighted sum capped at 100, with named-builder hits dominating the high end.
We keep the per-signal weights and exact patterns private because the score is meant as a rough cohort-level signal, not a public accusation about any individual site. It's useful in aggregate; we wouldn't treat a high score on its own (without a named-builder fingerprint) as proof that any specific launch was AI-built. The seven categories above are what the score actually looks at. Full methodology at /methodology.
The cohort
| Source | Launches | Share |
|---|---|---|
| Product Hunt | 14,114 | 82.1% |
| PeerPush | 2,026 | 11.8% |
| Hacker News (Show HN) | 1,053 | 6.1% |
| Manual / other | 3 | 0.0% |
| Total scored | 17,196 | 100% |
How the three platforms compare
| Source | Avg Vibe Score | Avg Launch Readiness | Avg StackScope |
|---|---|---|---|
| Product Hunt | 31.9 | 84.6 | 6.2 |
| PeerPush | 31.4 | 90.6 | 7.1 |
| Hacker News | 20.5 | 76.9 | 4.9 |
The three sources produce measurably different launch pages.
PeerPush launches are the most polished on average. Highest Launch Readiness, highest overall StackScope score, and a near-identical Vibe Score to Product Hunt. PeerPush founders ship complete metadata, legal pages, OG tags, and responsive layouts at a noticeably higher rate than either competitor, which is not what we expected from the smallest of the three platforms. The difference is too big to brush off: 90.6 vs 84.6 on a 100-point scale. Six points is a lot, on this scale.
Show HN looks different again. Its launches have materially lower Vibe Scores than either PeerPush or Product Hunt: 20.5 versus the 31s. That fits the Show HN stereotype: more hand-built engineering projects, with less polish. Show HN launches are the least polished on launch readiness (76.9). The Show HN crowd often ships utilities and engineering projects where meta descriptions and OG images are not the priority.
Product Hunt and PeerPush score nearly identically on Vibe Score (31.9 vs 31.4). The real gap is on Launch Readiness, where PeerPush leads by six points. PH is still by far the largest source, so it anchors the overall dataset, and "anchored" here still means an average Vibe Score in the low 30s.
How "AI-shaped" the cohort looks
The Vibe Score is a 0-to-100 stylistic signal, plus a separate categorical detection for launches whose markup contains a named-AI-builder fingerprint. We treat those two as different evidence and keep them in different tables.
| Vibe Score | Launches | % |
|---|---|---|
| 0-10 | 3,410 | 19.8% |
| 10-20 | 3,443 | 20.0% |
| 20-30 | 3,082 | 17.9% |
| 30-40 | 2,493 | 14.5% |
| 40-50 | 1,577 | 9.2% |
| 50-60 | 726 | 4.2% |
| 60-70 | 426 | 2.5% |
| 70-80 | 266 | 1.5% |
| 80-90 | 188 | 1.1% |
| 90-100 | 189 | 1.1% |
Percentages in this table are calculated against the full 17,196-launch cohort. The 1,396 named-builder launches are excluded from the bins and shown separately below, which is why the rows sum to about 91.9%, not 100%.
Another 19.6% of the full cohort scored above 40 on stylistic Vibe Score signals without matching a named builder. That's the "this looks LLM-shaped before we look at named-builder fingerprints" tail, still measured against all 17,196 launches.
Now for the categorical detection: nearly one in twelve indie launches was built by a specific, named AI builder that left its fingerprints in the markup. 1,396 launches (8.1%) contain unambiguous references to a named AI-builder product. They're direct fingerprint hits: distinctive markers that only a specific generator produces.
Almost half the named-AI-builder cohort scored a perfect 100 on Launch Readiness, meaning the founder used AI to generate a well-structured landing page and then actually finished it.
8.1% arrived fast. Lovable barely existed two years ago. Base44 got acquired by Wix in 2025. v0 was a Vercel side project. The named-builder hits were visible enough that they changed how I thought about the cohort halfway through the analysis. 8.1% being a named-builder output is the first hard estimate we've seen for the indie-launch-directory slice. We haven't seen a comparable number published for the broader indie web. If anyone has a different number, we'd like to see it.
Which named AI builders are winning
| AI builder | Launches | % |
|---|---|---|
| Lovable | 746 | 4.3% |
| Replit | 228 | 1.3% |
| Base44 | 134 | 0.8% |
| Bolt | 92 | 0.5% |
| v0 by Vercel | 73 | 0.4% |
| Manus | 53 | 0.3% |
| Emergent | 26 | 0.2% |
| Cursor | 23 | 0.1% |
| Other (long tail) | 21 | 0.1% |
| Total | 1,396 | 8.1% |
Lovable alone accounts for 53% of the named-builder cohort. That's a genuinely surprising distribution. We expected v0 to lead given Vercel's position elsewhere. The data goes the other way, by a wide margin.
The stack: what indie launches are built on
| # | Name | Category | Sites | % |
|---|---|---|---|---|
| 1 | Google Search Console | seo | 10,738 | 62.4% |
| 2 | HSTS | security | 10,526 | 61.2% |
| 3 | Tailwind CSS | css_framework | 9,980 | 58.0% |
| 4 | Google Analytics | analytics | 7,111 | 41.4% |
| 5 | HTTP/3 | protocol | 6,687 | 38.9% |
| 6 | Google Fonts | font | 6,540 | 38.0% |
| 7 | React | framework | 6,345 | 36.9% |
| 8 | Cloudflare | cdn | 6,276 | 36.5% |
| 9 | Next.js | meta_framework | 6,110 | 35.5% |
| 10 | Cloudflare DNS | dns_provider | 5,966 | 34.7% |
| 11 | Vercel | hosting | 5,713 | 33.2% |
| 12 | Google Tag Manager | tag_management | 4,366 | 25.4% |
| 13 | shadcn/ui | ui_library | 4,046 | 23.5% |
| 14 | Vite | build_tool | 3,844 | 22.4% |
| 15 | Resend | email_transactional | 3,502 | 20.4% |
The modern indie stack is so concentrated that it reads like a recipe. Tailwind CSS, React, Next.js, Vercel, Cloudflare for DNS, shadcn/ui for components, Google Fonts for type, Resend for transactional email, Google Analytics for numbers. In many cases, this looked less like an explicit stack decision and more like whatever the starter template handed the founder. Tailwind shows up on 9,980 launches (58%). React on 6,345 (37%). Vercel on 5,712 (33%). shadcn/ui on 4,046 (24%).
The dominance of Vercel is partly downstream of other choices. Next.js is one of the default starting points for new React projects, and Vercel is its default deploy target. Vercel's market position isn't product quality in isolation, it's the compounding effect of being tightly integrated with one of the most popular frameworks on the list.
WordPress, Webflow, Framer, Bootstrap, and PHP-style stacks are either absent from the top tier or far less visible in this launch cohort than they would have been five years ago. Some of that is a real shift in how indies build, and some is detection bias (server-side stacks behind CDNs, PHP included, are harder to identify), but the lean towards JavaScript-first, component-library-driven, JAM-stack output is unmistakable.
Hosting monoculture
| Host | Sites | % |
|---|---|---|
| Vercel | 5,712 | 33.2% |
| Hostinger | 1,183 | 6.9% |
| Netlify | 816 | 4.7% |
| GitHub Pages | 570 | 3.3% |
| Railway | 430 | 2.5% |
| Render | 337 | 2.0% |
| AWS S3 | 318 | 1.8% |
| Google Cloud | 317 | 1.8% |
| IONOS | 250 | 1.5% |
| OpenNext | 215 | 1.3% |
A third of the indie launches we analysed were hosted on a single provider. Vercel runs 33.2% of the sites we analysed, and the next nine providers combined run 25.8%. (These shares are detected origins. Cloudflare appears as a CDN on 36.5% of launches, fronting a slice of sites whose origin host we couldn't resolve, so the table reads as a floor, not a complete picture.) Nothing else comes close. Hostinger is a distant second at 6.9%, mostly serving the bulk shared-hosting and WordPress crowd rather than the React SPA cohort.
As a founder, I understand the default. As someone looking at 17,000 launches at once, the concentration is uncomfortable. Vercel is a great product and has earned its position, but when a single hosting provider quietly becomes the default for one-third of new indie launches in this cohort, any outage, pricing change, or policy shift at that one provider affects the entire category simultaneously. The closest analogue is probably the shared PHP hosting era circa 2010, when the entire bottom half of the indie web would go down together about once a quarter.
Resend is dominating new indie launch email
This is the section we expected to be boring and turned out to be the headline finding of the month.
| Provider | Sites | % |
|---|---|---|
| Resend | 3,502 | 20.4% |
| Amazon SES | 743 | 4.3% |
| SendGrid | 551 | 3.2% |
| Mailgun | 258 | 1.5% |
| Mailjet | 89 | 0.5% |
| MailChannels | 64 | 0.4% |
| MailerSend | 47 | 0.3% |
| Postmark | 46 | 0.3% |
| Mandrill | 40 | 0.2% |
| Cloudflare Email | 38 | 0.2% |
Resend appears on 3,502 launch domains this month (20.4%). SendGrid, Mailgun, Postmark, and Mailjet, the four household-name legacy providers, appear on 944 domains combined (5.5%). Resend alone shows up on nearly four times as many launch domains as those four incumbents put together. Add in Amazon SES at 743 and the older-provider group totals 1,687, still 52% less than Resend on its own.
SendGrid launched in 2009. Mailgun in 2010. Postmark in 2010. Mailjet in 2010. Resend opened to the public in June 2023. In this launch cohort, it has already overtaken four providers that had 13- to 14-year head starts, combined. I went back to the fingerprint database twice because the gap looked wrong. It checks out. That's not incremental market share shift. That's the kind of replacement that hits dev tooling every few years.
There are three observable reasons: (1) developer experience, Resend's API feels better suited to modern TypeScript stacks than SendGrid's older developer experience; (2) tight integration with Next.js, which appears in 35.5% of these launches; (3) aggressive pricing on the free tier. Our best guess is that LLM-assisted development is reinforcing this shift. A founder scaffolding a new project in 2026 is more likely to be handed modern Resend / React Email-style examples than old SendGrid snippets, because the training data has shifted towards what's been popular over the last 18 months.
One footnote on the table above. Cloudflare Email Sending moved from private beta to public beta in April 2026, and at 38 sites it lands at the bottom of the table this month: a launch-month floor, not a settled number. It's the only provider in this category whose adoption curve is starting from zero this month, and the May edition of this post should pick up the early ramp. Cloudflare has the distribution (a large share of sites already sit behind their CDN) and the likely pricing advantage, but the LLM-recommendation lag (assistants default to whatever was popular in their training data, not what shipped last month) is working against them for now. Whether Resend's 20.4% lead holds against a competitor with that distribution is what we'll be tracking for the next few editions.
Case study: 2.0 to 8.5 in 31 hours
An indie launch shipped on Product Hunt on Tuesday 22 April 2026. Our first crawl that day picked up a StackScope score of 2.0 out of 10 and a Launch Readiness of 52 out of 100. That isn't a great launch-day signal. The site was missing the kind of things that don't seem important when you're trying to ship: a robots.txt, a sitemap, a privacy policy, four basic security headers, a security.txt and an llms.txt.
Then this happened. The founder discovered their own StackScope listing the next day, claimed it via the "Is this your site?" link on the launch page, made the fixes, and triggered a fresh crawl. By Wednesday 23 April at 16:53, 31 hours after launch, the score was 8.5 out of 10 and Launch Readiness was 100. Same site, same product. Just the boring parts fixed.
| Apr 22 (launch day) | Apr 23 (after fixes, +31h) | |
|---|---|---|
| StackScope score | 2.0 / 10 | 8.5 / 10 |
| Launch Readiness | 52 / 100 | 100 / 100 |
| robots.txt | absent | added |
| sitemap.xml | absent | added |
| Privacy policy | absent | added |
| llms.txt | absent | added |
| security.txt | absent | added |
| Referrer-Policy header | absent | added |
| X-Frame-Options header | absent | added |
| X-Content-Type-Options header | absent | added |
| Permissions-Policy header | absent | added |
Nine concrete fixes. None of them are hard. They're just easy to forget when you're 12 hours from a launch and there are 40 other things on the list.
The score isn't a grade. It's a checklist of things that compound: search engines get crawlable structure, AI assistants and search tools have more signals to work with, and journalists or link aggregators have more reasons to trust the page.
We never spoke to the founder until after the fact. They found their own listing, used the claim flow, fixed the gaps, and watched the next crawl reflect the work. That's the loop we hoped StackScope would enable.
This isn't the only one. By the end of April we'd watched the same thing happen on a handful of other launches: founder discovers their own listing, claims it, ships fixes, the next crawl reflects the work. The deltas vary with the launch-day baseline. A site that shipped at 6.3 might lift to 7.1 by adding a couple of missing files. A site that shipped near 10 already might polish the last point or two.
If you've launched something on Product Hunt, PeerPush, or Show HN in the last 30 days, there's a good chance we've already analysed it. Search for it on stackscope.dev/browse, claim the listing, and see what the score is telling you.
What's next
This is issue #1. We're aiming for roughly monthly going forward, no fixed publish day, and each issue will shift focus rather than re-running the same charts unless the trend itself moves. The May edition will pick up Cloudflare Email's adoption ramp and the AI-builder leaderboard.
Beyond next month, we're watching whether the same displacement pattern that hit transactional email plays out for legacy error-tracking (Sentry vs Bugsnag vs Rollbar) and legacy analytics (Mixpanel vs Amplitude vs Heap) over the next 12 months. I'm less confident here, but the early pattern looks similar enough to be worth tracking. PostHog and Plausible lead the early data here, but not at Resend-level margins yet.
Bookmark /blog.
Credits and links
Big thanks to the PeerPush team for replying to the initial integration email within 33 minutes and giving the integration a thumbs-up.
Hacker News Show HN is included because the relevant launch posts and linked sites are publicly accessible.
Product Hunt is the largest source in this month's data, and the post wouldn't exist without their public launch feed. We sent a courtesy note in early April about our API usage and attribution approach, just so they knew we were here.
Explore the April data
Claiming a listing and triggering a fresh crawl are free.
- Find your launch: search by name and see how your April launch was scored.
- Claim a listing: from your launch page, use the "Is this your site?" link to verify ownership and trigger a fresh crawl.
- Browse the tech catalogue: stackscope.dev/tech. Every fingerprint we track and which launches use it.
- Bookmark /blog for the May edition.
Update 2026-05-08: The transactional email table and the surrounding paragraph were corrected after a DKIM-detection bug was found and fixed. A small subset of domains publish a wildcard *._domainkey record (often a v=DKIM1; p= empty-key kept as anti-spoofing defence) which was inflating every ESP's count when a wildcard responded to the per-vendor selector probe. The headline finding strengthened: Resend's lead over the four legacy combined widened from "nearly twice" to "nearly three times". Supporting numbers shifted by 5 to 80%. Non-email statistics in this post (hosting, frameworks, scores, AI-builder fingerprints) were unaffected.
Update 2026-05-21: A second, larger detection bug was found and fixed. The crawler's DNS resolver was silently dropping roughly 15% of DNS lookups, which undercounted every DNS-derived signal: DKIM, SPF, MX records, verification TXT records, and nameservers. Resend was hit hardest because its DKIM uses a TXT record (two lookups per check) where most rivals use one, so the fix lifts Resend more than the field. The resolver was replaced and the full catalogue of roughly 29,000 launches was re-probed; the transactional-email table and the top-15 technology table were both recomputed. Resend moved from 3,090 to 3,502 (18.0% to 20.4%), the four legacy providers' combined total moved from 1,048 to 944, and Resend's lead over them widened again, from "nearly three times" to "nearly four times". In the top-15 table, Google Search Console (also DNS-derived, through a verification TXT record) rose enough to take the number-one slot from HSTS. That table also now reflects a separate Vite re-detection pass, which is why Vite moves ahead of Resend in the last two rows. Hosting, frameworks, scores, and AI-builder fingerprints are not DNS-derived and did not move. The headline finding strengthened again.