{
  "meta": {
    "title": "Verified Portfolio Receipts",
    "as_of": "2026-07-05",
    "currency": "USD",
    "revenue_basis": "Public-facing external revenue only (money paid by a stranger, after platform fees). Grants, salary, and paper/simulated results are excluded from the revenue column and noted separately.",
    "totals": {
      "lines": 17,
      "lifetime_external_revenue": 0,
      "shipping_or_live": 6,
      "parked": 7,
      "killed_or_harvested": 4
    },
    "source_note": "Every figure here is drawn from an internal portfolio audit dated 2026-07-01 and its execution plan. Nothing is rounded up. Where a line has earned nothing, the number is a real 0, not a blank.",
    "stat_54_percent": "An analysis of 937 Stripe-verified Indie Hackers products (ScrapingFish) found 54% make exactly $0 and only 5% clear $100K/yr. A $0-heavy ledger is not the exception. It is the base rate the highlight reels leave out."
  },
  "lines": [
    {
      "name": "Driftwink",
      "kind": "iPhone app · AI bedtime stories",
      "status": "ship",
      "status_label": "Ship (flagship)",
      "revenue": 0,
      "revenue_note": "In App Store review",
      "gate": "Day-60/90 verdict on App Store Connect metrics: under ~$100 proceeds or fewer than 10 payers with flat impressions after two listing iterations, park or kill. That verdict cascades to the gated apps built on the same thesis.",
      "gate_type": "App / product kill gate"
    },
    {
      "name": "Fjell Market",
      "kind": "Print-on-demand · Etsy shop",
      "status": "ship",
      "status_label": "Ship, then measure",
      "revenue": 0,
      "revenue_note": "0 sales, 0 reviews, 15 lifetime visits at audit",
      "gate": "Roughly 15 organic sales per month, trending up, by mid-September. Two marketplace policy flags is an automatic kill. Below the band on the verdict date: freeze.",
      "gate_type": "Marketplace-experiment gate"
    },
    {
      "name": "Ship-It Kit + RepoRadar",
      "kind": "Developer products · one-time",
      "status": "ship",
      "status_label": "Ship, then measure (capped)",
      "revenue": 0,
      "revenue_note": "Storefront rail not yet live",
      "gate": "Under $200 or fewer than 5 units by day 30 after launch: open-source it and stop. The experiment is hard-capped up front.",
      "gate_type": "App / product kill gate"
    },
    {
      "name": "Overnight Audit",
      "kind": "Productized service · async",
      "status": "ship",
      "status_label": "Push (products)",
      "revenue": 0,
      "revenue_note": "Storefront rail not yet live",
      "gate": "Fewer than 2 sales in 60 days of weekly public posting: kill.",
      "gate_type": "Content / product gate"
    },
    {
      "name": "The Autopsy",
      "kind": "Content series + $29 kit",
      "status": "ship",
      "status_label": "Push (distribution)",
      "revenue": 0,
      "revenue_note": "Series pre-launch",
      "gate": "Scored as distribution, not revenue. Two posts that produce zero funnel clicks: drop to quarterly.",
      "gate_type": "Content-channel gate"
    },
    {
      "name": "YouTube channel",
      "kind": "Content channel · owner-voiced",
      "status": "ship",
      "status_label": "Conditional go",
      "revenue": 0,
      "revenue_note": "Pre-launch; video 1 built",
      "gate": "Gate A at video 10 (retention and click-through floors, one breakout over 1,000 views). Gate B at month 4 (subscribers plus tracked clicks). Gate C at month 6. Owner time over 3 hrs/week in any month is a standing kill.",
      "gate_type": "Content-channel gate"
    },
    {
      "name": "MileJar",
      "kind": "iPhone app · mileage tracking",
      "status": "park",
      "status_label": "Gated ship",
      "revenue": 0,
      "revenue_note": "In development",
      "gate": "Ships only after Driftwink's day-60 canary reads and a real-device drive-test week. Gated behind the flagship on purpose.",
      "gate_type": "App / product kill gate"
    },
    {
      "name": "HearthJar",
      "kind": "iPhone app · home inventory",
      "status": "park",
      "status_label": "Park 60d",
      "revenue": 0,
      "revenue_note": "In development",
      "gate": "Parked behind the Driftwink canary. The best comparable took 21 full-time months to reach $1k/mo, so a zero-surface launch now would only measure the flagship's thesis twice.",
      "gate_type": "App / product kill gate"
    },
    {
      "name": "Snoutkin",
      "kind": "iPhone app · pet health",
      "status": "park",
      "status_label": "Park",
      "revenue": 0,
      "revenue_note": "In development",
      "gate": "Parked behind the canary; re-entry needs vet-review quotes at or under $750. The lead competitor is free and vet-reviewed.",
      "gate_type": "App / product kill gate"
    },
    {
      "name": "WorthJar",
      "kind": "iPhone app · resale pricing",
      "status": "park",
      "status_label": "Park",
      "revenue": 0,
      "revenue_note": "Blocked on data-source approval",
      "gate": "Trigger is the eBay Marketplace Insights approval. Denial or 60 days of silence is a kill.",
      "gate_type": "App / product kill gate"
    },
    {
      "name": "GrantSignal",
      "kind": "SaaS · grant matching",
      "status": "park",
      "status_label": "Park",
      "revenue": 0,
      "revenue_note": "Demand unproven",
      "gate": "Re-entry needs 3 or more consultant prepay commitments at $99+/mo from a 25-contact demand test. A rename is likely. Priced into a dead zone otherwise.",
      "gate_type": "App / product kill gate"
    },
    {
      "name": "Cairo-KB",
      "kind": "Knowledge base · defense / DIB",
      "status": "park",
      "status_label": "Park (partner deadline)",
      "revenue": 0,
      "revenue_note": "No pipeline; 18 to 36 month sales cycle",
      "gate": "The partner delivers a signed channel agreement and one named, scheduled meeting by 2026-09-30, or the line exits via the acquisition pack. Zero new build hours until then.",
      "gate_type": "Acquisition / pause rule"
    },
    {
      "name": "Video Factory",
      "kind": "Faceless video pipeline",
      "status": "park",
      "status_label": "Park (frozen)",
      "revenue": 0,
      "revenue_note": "1,153 renders built, 0 published",
      "gate": "Frozen. Re-entry requires the flagship live plus a written weekly-loop commitment. Park converts to kill on 2027-01-01. Roughly 3% of faceless channels ever monetize.",
      "gate_type": "Content-channel gate"
    },
    {
      "name": "SpamBuffer",
      "kind": "iPhone app · call screening",
      "status": "kill",
      "status_label": "Kill by default 2026-09-01",
      "revenue": 0,
      "revenue_note": "Category closing",
      "gate": "iOS 26 native call screening ends the thesis. Kills by default on 2026-09-01 unless a one-weekend device-validation and ship genuinely happens first.",
      "gate_type": "App / product kill gate"
    },
    {
      "name": "DinerJar",
      "kind": "iPhone app · dining log",
      "status": "kill",
      "status_label": "Kill",
      "revenue": 0,
      "revenue_note": "Revenue compiled off by design",
      "gate": "Killed. Revenue was compiled off by an internal design decision and the category's willingness to pay is near zero. Code kept, domain registered as an asset only.",
      "gate_type": "App / product kill gate"
    },
    {
      "name": "TitleSentinel",
      "kind": "Service · title-fraud alerts",
      "status": "kill",
      "status_label": "Kill / harvest",
      "revenue": 0,
      "revenue_note": "Regulator warns buyers off the category",
      "gate": "Killed and harvested. The FTC actively warns consumers off this category and both launch counties alert for free and faster. The adapter framework is salvaged for future data products.",
      "gate_type": "App / product kill gate"
    },
    {
      "name": "Trading Desk",
      "kind": "Automated trading system",
      "status": "kill",
      "status_label": "Killed 2026-07-01",
      "revenue": 0,
      "revenue_note": "Simulated result: -$7,758 across 29 paper trades",
      "gate": "The pre-registered go-live scorecard read 6 of 6 FAIL against a six-week paper P&L of minus $7,758. The system had 626 passing tests. The gate was the only document in the repo that told the truth about the business. Killed the same week; jobs unloaded; post-mortem written.",
      "gate_type": "The gate that worked"
    }
  ]
}
