Pitching the Menu Search to Boulder Newsrooms
Private deliverable. Enter the hub password to continue.
That's not right. Try again.
Pitching the Menu Search to Boulder Newsrooms
August 3, 2026 · Rewritten around the menu price index. The closures angle is out, at Annette's direction.
Stop. Fix the prices first.
You cannot pitch a priced-menu dataset to a newsroom this week, because a reporter who opens it will find a $460 chocolate chip cookie at Cheba Hut and a $380 iced mocha latte at Panera.
I checked what's behind those numbers and the raw values name the bug:
| Item | Venue | Stored price | Raw text captured |
|---|---|---|---|
| Chocolate Chip Cookie | Cheba Hut | $460.00 | 460 CAL |
| Hazelnut Mocha Frozen Java | Panera Bread | $460.00 | 460 Cal per |
| Warrior Bowl | Vitality Bowls | $450.00 | Medium 450 c |
| Wings (8 Pieces) | Blackjack Pizza | $453.00 | 453-1,093 |
| Chicken, Bacon & Ranch | Cheba Hut | $490.00 | 490/980/1470 |
Calorie counts are being stored as prices. Cheba Hut, Panera, Vitality Bowls, Rush Bowls and Blackjack all publish calories on their menus, and the extractor is taking the number nearest the item name without checking what it is.
Scale: of 21,615 priced Boulder items, 713 are $60 or more. 158 of those are genuine catering trays (the wording says box, tray, platter, feeds). The other 555 are unexplained, and the ones I sampled are all calories. That's 2.6% of the dataset, but it is heavily concentrated: Panera 54, Vitality Bowls 47, East & Co. 42, Cheba Hut 38, Rush Bowls 34.
Not everything high is wrong. Sforno's $450 Sassicaia and $480 Dom Perignon are real wine prices, captured correctly with a dollar sign. That's the tell, and it's the fix.
The fix, which is small
At extraction time, reject a number when:
- The raw text contains
cal,CAL,calorie, orkcalanywhere near it. This alone kills most of the 555. - There is no currency symbol and the value is a bare integer of 3+ digits. Real
menu prices under $100 essentially always carry a
$or a decimal.460is a calorie count;$4.60is a price. - The raw text is a slash-separated run of three ascending numbers (
490/980/1470), which is a calorie ladder for three sizes, not a price ladder. - The raw text is a range with a comma-thousands number (
453-1,093).
Keep anything with an explicit $, which is what protects the real wine list.
Then re-run the extract and spot-check the top 50 by price. Until that's done, this pitch stays in the drawer.
Who actually wants this, and who doesn't
Worth being precise, because I got this wrong in an earlier draft.
A reporter does not care about their website's SEO. It isn't their job, it usually isn't their decision, and telling a food writer their meta descriptions are missing is pitching the wrong person. Site performance is an owner, marketing director or IT concern.
So the offers split by audience, and they don't cross over:
| Audience | What they want | What you offer |
|---|---|---|
| Reporters, food writers, editors | A story with numbers nobody else has, and reporting time saved | The menu price data. Never an audit. |
| Restaurant owners, marketing directors | Customers, and their own site working | The free SEO audit. That's the SEO Believer list, a different campaign entirely. |
| Civic bodies, hotels, event organisers | Something genuinely useful for their visitors | The dining search itself, as a resource to link |
The link routine already buckets prospects this way. Newsroom and blog buckets get data. Nobody in this document gets offered an audit.
The story
Not "I built a search tool". A tool is not news. The story is what the data shows.
You can answer a question nobody in Boulder can currently answer: what does a given dish actually cost, across the whole town?
Every number below is the middle 80% of the market, tenth to ninetieth percentile, which excludes both the catering trays and the calorie-count bug. These are safe to quote once the fix above is done.
| Dish | Places serving it | Typical range | Middle of the market |
|---|---|---|---|
| Green chili | 32 | $2.00 to $16.07 | $7.75 |
| Taco | 36 | $3.50 to $19.89 | $12.50 |
| Burrito | 48 | $6.99 to $17.30 | $9.49 |
| Wings | 50 | $6.00 to $27.00 | $12.00 |
| Burger | 47 | $6.77 to $23.00 | $16.99 |
| Margarita | 38 | $8.50 to $38.00 | $13.25 |
| Steak | 54 | $11.79 to $34.20 | $17.99 |
| Pizza | 28 | $10.99 to $28.86 | $19.75 |
| Latte | 34 | $4.50 to $8.95 | $6.00 |
| Pancakes | 27 | $5.95 to $16.00 | $11.00 |
The whole dataset: 21,615 priced items across 539 Boulder venues. Median item, $12.00.
The three lines a reporter will actually use
- Green chili spans 8x across town, $2 to $16 for what sounds like the same bowl. The most Boulder possible version of a price story.
- A burger has a narrower spread than a margarita. Food is priced more consistently than drink, which is not what most people would guess.
- The middle of the Boulder market is $12.00 an item. One number for "what does it cost to eat here now", and it's checkable.
Who to send to
| Outlet | Why | Referring domains |
|---|---|---|
| Boulder Reporting Lab | Runs the Nibbles food newsletter, covers this beat weekly | 1,339 |
| Daily Camera | Largest local reach, covers Boulder dining regularly | 19,746 |
| BizWest | Business desk. Prices are an economics story for them | n/a |
| Boulder Weekly | Alt-weekly, likes a data story with an edge | 4,625 |
Send Boulder Reporting Lab first and give them a few days.
Rules before you send
- Fix the calorie bug first. Non-negotiable. One checked number that's wrong costs you the outlet permanently.
- Say you run tasteboulder.com in the first three lines.
- Do not ask for a link. Ever, including the follow-up.
- One story per email. Prices only. No closures, no audit offer, no second dataset.
- Under 200 words.
- One follow-up, a week later, two sentences. Then stop.
Draft 1: Boulder Reporting Lab
Subject: What a green chili actually costs in Boulder, 32 places compared
Hi [name],
I'm Annette Thompson. I built tasteboulder.com, which meant collecting every published menu in Boulder: 21,615 priced items across 539 places.
It turns out you can now ask questions nobody could answer before. Green chili runs from $2 to $16 across 32 restaurants, an eightfold spread for what sounds like the same bowl. A burger has a tighter range than a margarita does. The middle of the whole Boulder market is $12.00 an item.
If any of that is useful for Nibbles, the data's yours. I can send the full breakdown for any dish you want, or the whole set. No credit needed, and I'm happy to explain how the prices were collected so you can check them.
Annette
Draft 2: Daily Camera
Subject: Every menu in Boulder, priced. 21,615 items.
Hi [name],
I run tasteboulder.com, a Boulder restaurant directory. Building it meant collecting every published menu in town, and the result is a price picture nobody else has: 21,615 items across 539 places.
Some of it is genuinely surprising. Green chili ranges from $2 to $16 depending where you order it. A margarita varies more in price than a steak does. Typical Boulder menu item, $12.00.
Happy to hand over the whole dataset, or pull whichever dish you'd want to write about. No conditions, no credit required.
Annette
Draft 3: BizWest
Subject: 21,615 Boulder menu prices, if you want a number on dining costs
Hi [name],
I built a directory of every restaurant in Boulder, tasteboulder.com, which produced something that belongs on a business desk: every published menu price in the city. 21,615 items across 539 venues.
It gives you a measurable answer to what eating out in Boulder now costs, rather than an anecdotal one. The median item is $12.00. The spread within a single dish is often wider than the gap between cuisines, which says something about how operators are handling their costs.
The data's yours, no conditions. Happy to explain how it was collected.
Annette
If someone bites
Have ready: a CSV of one dish across every venue with prices, the method in a paragraph (where menus came from, how prices were parsed, what was excluded and why), and an honest note that catering items are excluded from the ranges. Offer a call.
Volunteer the limitations before they find them. Menus go stale, some venues publish no menu at all, and PDFs parse imperfectly. A reporter who hears the caveats from you trusts the rest. One who finds them alone stops trusting all of it.
Published to Annette's hub. Rebuilt from the source markdown, so edit the source and rerun rather than editing this page.