# ShipReady index - 30 developer products scored Generated 2026-11-10 by `scripts/batch.mjs` from public pages only. Scores are opinionated, public-data hypotheses - not verdicts, and not traffic data. **Median: 44/100** - 1 strong, 2 decent, 6 leaky, 21 failing. Excluded as JS-rendered/unreadable: 5 (siloslabs.com, bird.jacomakes.com, vesputio.app, todaypad.vercel.app, jaxammon.com). | Product | Score | Grade | Top fix | |---|---|---|---| | uplumo.com | 95 | strong | No UCP agent-commerce profile | | phonescovered.com | 80 | decent | No separate pricing page (price only on the landing page) | | fileoctopus.com | 79 | decent | No common signup path found | | getmitra.com | 68 | leaky | No free trial / no-card offer in the copy | | dropkind.app | 60 | leaky | Meta description is missing or 172 chars (aim 50-170) | | veloworkspaces.com | 59 | leaky | No separate pricing page (price only on the landing page) | | whizra.com | 58 | leaky | No free trial / no-card offer in the copy | | teamonly.dev | 58 | leaky | No common signup path found | | jobeazee.com | 57 | leaky | No price visible on the landing page | | hirundo.io | 54 | failing | No common signup path found | | flickfinds.ca | 52 | failing | Meta description is missing or 0 chars (aim 50-170) | | locatic.dev | 51 | failing | Fewer than 2 clear CTAs | | pickthewheel.com | 47 | failing | Title is missing or 89 chars (aim 10-70) | | riffipedia.com | 45 | failing | Only 0 content posts (aim 5+) | | aircad.com | 45 | failing | Only 1 content posts (aim 5+) | | apptraction.dev | 44 | failing | No separate pricing page (price only on the landing page) | | 4percentcalc.com | 42 | failing | Title is missing or 85 chars (aim 10-70) | | search2o.com | 41 | failing | Only 0 content posts (aim 5+) | | trilog.app | 36 | failing | No separate pricing page (price only on the landing page) | | contentrank.app | 35 | failing | Only 0 content posts (aim 5+) | | vgoapp.com | 35 | failing | Only 0 content posts (aim 5+) | | getpolicypeek.com | 34 | failing | Meta description is missing or 26 chars (aim 50-170) | | leftagraph.com | 34 | failing | Meta description is missing or 20 chars (aim 50-170) | | practicaldata.dev | 33 | failing | No separate pricing page (price only on the landing page) | | salesutils.app | 33 | failing | No separate pricing page (price only on the landing page) | | basalfit.com | 30 | failing | Only 0 content posts (aim 5+) | | getghostrunner.com | 30 | failing | No social proof language (testimonials/customers/reviews) | | mismo.dev | 29 | failing | No common signup path found | | eldervault.app | 28 | failing | Meta description is missing or 13 chars (aim 50-170) | | amagi.dev | 8 | failing | Title is missing or 5 chars (aim 10-70) | ## Most common gaps - Only 0 content posts (aim 5+) (19 of 30) - No common signup path found (18 of 30) - No free trial / no-card offer in the copy (17 of 30) - No analytics visible (may be JS-injected - verify in a browser) (16 of 30) - No price visible on the landing page (14 of 30) - No social proof language (testimonials/customers/reviews) (12 of 30) - No separate pricing page (price only on the landing page) (11 of 30) - Fewer than 2 clear CTAs (10 of 30) - No pricing page and no price on the landing page (9 of 30) - No UCP agent-commerce profile (7 of 30) - No Organization schema (7 of 30) - Sitemap has 0 URLs (aim 10+) (6 of 30) ## Method and limits - Inputs: landing HTML, robots.txt, sitemap(s), pricing/signup paths, UCP profile. No traffic, revenue or analytics data. - Weights: clarity 20, offer/pricing 20, conversion path 20, trust 10, content/SEO 15, instrumentation 10, agent 5. - JS-rendered pages are excluded rather than scored (5 in this batch). Analytics injected by JS may be missed. - The sample is Hacker News launch products, not the market: selection bias is real. ## Publishing policy Named scores are shown only for products we contacted for consent or that opt in; otherwise use aggregate numbers only.