Product notes · Drip

Running Drip against a real book

Michael, thanks for the demo and the conversations at the last two events. Rather than poke at it with a toy query I ran Drip through my actual research process, every name I follow, and spent real credits on the paid side to see what lands. Short version: when it hits your curated layer it is very good, I found things I would not have found otherwise, and the issues I hit are concentrated in one specific place.

Neil Patel · tested 2026-09-03 to 2026-09-04
All figures from the public Drip API, data as of 2026-09-04 · 14 paid unlocks, $20.70 spent
What I liked most
  1. The curated entity layer. Proper resolution with Wikidata ids, tickers and domains, and whyMatched telling me why each hit landed. Every good result I got traced back to it. This is the moat.
  2. Enterprise software coverage. Sixteen SaaS and infra names, nearly all full and current within days. Stronger than the crypto coverage, and probably underplayed in how you pitch it.
  3. Price-to-value on focused posts. A dollar bought a complete GARP workup on a name I hold. Another dollar surfaced a Chapter 11 in a commodity I track from a newsletter I had never heard of.
What I would fix first
  1. The summary drops the entity that caused the match. Three of nine articles I bought for one ticker never mention it. This is the step I pay for, so it stings most.
  2. The fuzzy fallback never returns empty. It sits in front of the good layer and invents confident irrelevance. An honest "no coverage" beats five plausible options.
  3. Stock picks are harvesting disclosure footers as calls. All 37 came back long, because disclosures only list longs.

Where the signal is, and where it is not

I ran 58 tickers across twelve segments through the entity route to map coverage rather than guess at it. Bars are average articles returned per name, capped at the 25 I requested, so anything at 25.0 is saturated and the real number is higher.

Mega-cap tech
25.0
6/6 names
Enterprise SaaS
25.0
6/6 names
Financials
25.0
4/4 names
Crypto & fintech
23.2
5/5 names
Cybersecurity
19.6
4/5 names
Consumer & retail
11.8
3/6 names
Energy
10.8
3/4 names
Healthcare
10.5
4/4 names
Industrials
7.5
3/4 names
Materials & mining
2.8
0/4 names
REITs
2.5
0/4 names
Small & micro cap
0.7
0/6 names

The four segments with effectively no signal

Consumer is more uneven than the average suggests. The megacaps are fine, WMT:22 and COST:25, but it drops off a cliff below them: SBUX:3, DG:2, MNRO:0. The pattern across every segment is that coverage tracks market cap far more than it tracks sector, which makes sense given who writes on Substack, but it means the long tail is where a subscriber is most likely to walk away disappointed.

The Ziff Davis case, because it is the whole product in one query

ZD was the first name I searched and it shaped my entire first impression, so it is worth walking through properly. It is a small-cap name, so thin coverage is completely fair. The issue is not the coverage, it is what happens around it.

The entity route is honest and correct. It resolves cleanly and tells the truth:

/api/v1/entities/search?ticker=ZD
matchedEntity: "Ziff Davis"  ticker ZD  domain ziffdavis.com  qid Q199296
matchedVia: ["ticker","company"]
count: 1

One article. That is a genuinely good answer and it is the reason I trust that route.

The search box, same query, returns a full page of confident nothing:

matchConfidence: weak    totalCount: 15

1. rel=100  matched=0/0  [thinkingcrypto.com]
   ARE YOU READY? THE CRYPTO BULL MARKET IS HERE!
   why: Semantic match, conceptually similar content

2. rel=78   matched=1/2  [bloomberg.com]
   A Historic El Nino Is Coming That Could Cost the World Trillions
   why: Matched article body for: davis

A Bitcoin video at a perfect relevance score with zero token overlap, and an El Nino story matching the word davis.

And the one real article does not mention Ziff Davis. I paid a dollar for the single honest entity hit, Matt Levine's Money Stuff: Opting Out of the AI Boom. The summary came back at 8,712 characters, well written, and contains zero occurrences of "Ziff", "Davis" or "ZD". I suspect Levine did mention it in passing, the tagger caught it on the full text, and the summariser dropped it. So all three layers touched this name and only one of them told me the truth.

I run a concentrated equity and crypto book plus a few recurring research themes. I put every name through both the search box and the API, then bought fourteen articles and a stock-picks bundle to test the part that actually costs money. Three product-level observations came out of it, and one sourcing question.

51
publications in the catalog
2 of 3
of my names well covered
$20.70
actually spent testing
$1.00
best single purchase

Starting with what worked, because it genuinely did

Reddit is one of my larger positions and I did not expect much. Drip returned 25 articles, newest from the day before I searched, with TMT Breakout covering it in the daily wraps. The best single dollar I spent all week was a Quality Stocks weekly screener that had a full GARP workup on it:

Reddit ($RDDT)  —  Highly Attractive
Growth 100/100 · Quality 97/100 · Valuation 74/100
Price $152 · fair value $233 base / $156 bear / $326 bull · TSR 17.2%/yr
Bear case: AI search reduces referral traffic before RDDT proves it
is a destination rather than a search-arrival business.

That is the exact debate I care about on that name, priced at a dollar, and I did not know that newsletter existed. Coinbase worked the same way and pulled crypto sources and equity desks into one result set, which is the pitch working as advertised. Uniswap resolves to Uniswap Labs and returns Unchained and Bits + Bips.

The other standout: searching a niche industrial topic surfaced a bankruptcy newsletter I had never heard of with a Chapter 11 filing that directly informs a commodity I track. One dollar, and it told me a US producer shut its operations in February on Chinese oversupply. That is the product doing something I could not do by hand.

Name by name

These are the names I actually follow. Counts are what /api/v1/entities/search returned, capped at the 25 I requested.

NameCoverageArticlesNewestWhat I got
RDDTDeep25Sep 2TMT Breakout dailies, Quality Stocks screener
COINDeep25Sep 1Crypto and equity sources together, best result of the test
NVDADeep25Sep 3BEP Research, Chipstrat, TMTB, Burry
PLTRDeep25Sep 2Burry trading posts, Za's, Tic Toc
CRCLDeep25Sep 1Good results even without entity resolution
TWLOSolid17Sep 2Fintech Wrap Up, TMTB
DOCNSolid16Aug 18Useful for the agentic infra thesis
FSLYSolid13Aug 18Enough to check before a print
MNDYSolid13Aug 18Good results without entity resolution
UNISolid12Aug 27Resolves to Uniswap Labs, Unchained and Bits + Bips
ADBEDeep25Sep 2Fintech Wrap Up, Burry, TMTB
CRMDeep25Sep 2FUNDA enterprise rerating work, All-In, Za's
NOWDeep25Sep 3BEP Research, FUNDA, TMTB
SECZThin3Jul 3Small cap, fair enough
VRNSThin1Jun 4Resolves cleanly, corpus does not cover it
ZDThin1Jun 3The first name I tried, more below
MORPHONot covered0 realNot in the entity graph
APPNNot covered0Resolves, no articles
NRPNot covered0Natural resources, see sourcing below
MNRONot covered0Resolves correctly, no coverage
GEODNot covered0Micro cap, expected

Enterprise software is your strongest category by some distance. I checked sixteen SaaS and infrastructure names beyond my own holdings and almost all of them came back full and current within one to three days:

ADBE CRM NOW SNOW MDB PANW CRWD DDOG NET OKTA SHOP   25 articles each
TEAM 22 · ZS 18 · ESTC 8 · U 25

FUNDA's enterprise rerating work, BEP Research, TMT Breakout and the All-In SaaS segments stack up into something genuinely useful on this sector. If I were pitching the product to another investor, this is the category I would lead with, not crypto.

Roughly two thirds of my book is well served. That is a better hit rate than I expected going in, and the thematic lanes were stronger still. Agentic payments, stablecoins, AI infrastructure and tokenization each returned eight solid current articles. The top hit for subject=agentic payments was your own Fintech Wrap Up appearance, which was a nice thing to bump into.

What I actually bought

Rather than guess at the paid experience I spent the signup credit down. Fourteen unlocks and one stock-picks bundle, $20.70 across two days. The per-item value varied a lot, and I think the pattern is the useful part:

ItemPriceWorth it?
Quality Stocks
Weekly Screener, Aug 23
$1.00 Best of the lot Full GARP workup on a name I hold, with scores, fair values and the bear case. Found a newsletter I did not know existed.
petition11
Searles Valley Ch. 11
$1.00 Excellent Dense, specific, dates and docket numbers. Told me a US producer exited a commodity I track.
Stock-picks bundle
37 picks, Sep 3
$2.50 Mixed Great schema, but see the disclosure-footer issue below.
TMT Breakout × 7
daily wraps
$12.60 Weakest Good writing, but three of the seven never mention the name I searched for. This is where most of my money went and least of my value.
Podcast Alpha
compute demand
$0.60 Fine One passing mention, cheap enough not to mind.
Matt Levine / Unchained / Bits + Bips
first session
$3.00 Fine All three good reads. The Levine one was surfaced on a ticker it never mentions.
TMT Breakout EOD Wrap
top RDDT result
$0.00 Could not buy summary_not_ready. Correctly charged nothing, which I appreciated.

The read I would take from my own receipts: the cheap, specific, single-topic posts massively outperformed the expensive broad ones. Two dollars of niche newsletters beat thirteen dollars of daily market wraps, because the wraps get tagged for every ticker they touch and then summarized at a level where the individual name disappears. If I were pricing this I would charge more for the focused pieces and less for the broad dailies, or unbundle the dailies so I can buy the section about the name I asked for.

Three things at the product level

1. The curated layer is the product. The fuzzy fallback sits in front of it.

Every good result I got traced back to a curated tag. You can see it in whyMatched:

rel=100  [unchained]  Treasury Puts DeFi On Notice as Roman Storm Trial Drags On
   why: Matched post metadata companies: Uniswap

The issue is that when a query does not resolve to a curated entity, the fallback still returns a full, confident result set instead of nothing. Its quality tracks how distinctive the query token happens to be. A distinctive ticker like CRCL works well. A common word does not. Ziff Davis was the first name I tried, and it resolves perfectly through the entity route while the search box returns this:

query "Ziff Davis"    matchConfidence: weak    totalCount: 15

1. rel=100  matched=0/0  [thinkingcrypto.com]
   ARE YOU READY? THE CRYPTO BULL MARKET IS HERE!
   why: Semantic match, conceptually similar content

2. rel=78   matched=1/2  [bloomberg.com]
   A Historic El Nino Is Coming That Could Cost the World Trillions
   why: Matched article body for: davis

Result two is matching the token davis alone. Result one takes the top slot at a perfect 100 with zero token overlap. The sharpest version was my most specific query, the Uniswap fee switch, where a bankruptcy newsletter ranked second on the word "fee" while Uniswap governance returned exactly the right thing because it hit the curated tag. The more precise my question, the worse the answer, which is the opposite of what you want.

Suggested rule: when a query resolves to a curated entity, let that lane win and suppress the fuzzy results underneath. When nothing clears a relevance floor, return empty and say so. Your entity route already does this correctly for ZD, returning one honest article, and that is precisely why I trust it. For an agent spending real money, a clean "no coverage" is worth more than five plausible options.

2. The summary drops the entity that caused the match

This is the one I would fix first, because it is the step that costs money. I bought nine articles that the entity route surfaced for RDDT. Three of them do not mention Reddit anywhere in the summary:

2026-08-17  $1.80  TMTB EOD Wrap        RDDT mentions: 0
2026-08-18  $1.80  TMTB Morning Wrap    RDDT mentions: 0
2026-08-19  $1.80  TMTB Morning Wrap    RDDT mentions: 0

Same thing on the single Ziff Davis article, which came back as a well written 8,700 character summary with no mention of Ziff Davis in it. The tag looks like it is computed on full text while the summary is generated independently, so on broad daily wraps the specific name I searched gets summarized away. Pinning the passage that triggered the entity match, or generating the summary conditioned on the query entity, would change how those unlocks land. Right now the broader the source article, the more likely the paid artifact loses the reason I bought it.

3. The stock-picks bundle is reading disclosure footers as calls

I bought a day's bundle, 37 picks for $2.50. The schema is genuinely good and every field is populated. But all 37 are LONG, and this is why:

ticker: ORCL   action: HOLD   direction: LONG   conviction: 3 (medium)
evidenceQuote:    "BEP Research's principal is long NVDA, LITE, CRDO, TSEM,
                   ALAB, WOLF, NOW, SMCI, BE, NBIS, and ORCL (2027 LEAPS)"
rationaleSnippet: "Disclosed long position via 2027 LEAPS."

That is a standard position-disclosure line at the foot of a newsletter, and it has become eleven separate stock picks. Disclosures only ever list longs, which explains the 100% long skew, and a skew like that makes the dataset hard to use as a signal. Twenty-one of the 37 also come from a single publication. Filtering out disclosure and boilerplate sections before extraction, and separating "author discloses a position" from "author is making a call today," would make this bundle much more valuable. I would pay more for a smaller, cleaner set.

The sourcing question

The catalog is 51 publications. Filtering for energy, mining, commodities, materials and royalties, exactly one comes back: Doomberg. That explains the zero on NRP and it is the one gap I would actually flag as strategic rather than technical.

Substack is where a lot of natural resources and industrials research actually lives, and it is the corner of Substack I personally spend the most time in. The corpus today is strong in TMT, crypto, macro and semis, which is a coherent and defensible place to start. But it means a whole category of paying reader currently gets nothing. Adding even a handful of commodities, shipping, energy and industrials writers would open a category that has no good aggregation anywhere and where readers are used to paying real subscription prices.

Evidence that the demand is real from my own session: the single most useful thing I bought all week was a Chapter 11 filing note on a soda ash producer, from a bankruptcy newsletter that is not in your curated catalog at all. It only surfaced by accident through fuzzy matching. That is a category worth being deliberate about.

Smaller things

not ready
The number one result for RDDT could not be bought: {"error":"Post summary is not ready yet."}. Correctly charged $0, which I appreciated, but discovery is surfacing priced items the paid layer cannot yet deliver. One in ten on my sample.
confidence
Nonsense input returns matchConfidence: strong while real companies like Ziff Davis, Reddit and Palantir return weak. I ended up gating on matchedEntity != null instead, which was reliable.
totalCount
Sits at 15 for nearly every query regardless of limit, so it reads as page size rather than corpus depth.
one doc
The same Thinking Crypto episode was the top result for ZD, for Reddit and for nonsense strings. Its description is very long and full of sponsor copy, which is usually enough to win a similarity contest when nothing else matches. Stripping boilerplate before embedding might fix several things at once.
stale tickers
Several tickers resolve to defunct companies that used to hold them, which looks like matching against historical Wikidata entries rather than current listings:
SNOW → "Intrawest"              (ski resorts, not Snowflake)
U    → "US Airways Group"       (not Unity Software)
ALTO → "Altos Computer Systems" (Unix maker, not Alto Ingredients)
Worth noting the articles are still right, SNOW returns real Snowflake coverage, so this looks isolated to the entity card rather than the tagging.
entities
COIN returns two entities, one a bare Wikidata id surfacing as a name (Q138757245). ZS and CRCL return good articles with matchedEntity: null.
top-selling
Purchase counts and dollar totals do not reconcile against list price on /api/v1/posts/top-selling, for example 124 purchases of a $30 item showing $6.85 sold. Probably units or a display thing, but it is a public endpoint.

Where I landed

I am keeping it, and I will use the entity and subject routes rather than the search box, for RDDT, COIN, NVDA, PLTR, the enterprise software complex and the agentic payments and stablecoin themes. That is a real slice of my process for a couple of dollars a week, and the $1 screener on Reddit alone justified the week.

The curated layer is the moat. The fuzzy fallback is what shaped my first impression before I found the routes underneath it, and the summarization step is where the paid experience most often loses the thread. Both look fixable without touching the part that already works.

Happy to re-run all of this whenever you ship changes, it is fully scripted. And happy to be wrong about any of it if I was holding it wrong.