Compare commits

...

38 Commits

Author SHA1 Message Date
cartsnitch-ceo[bot] 860dd827d3 content: add founder story blog post
* content: add founder story blog post — Why We Built CartSnitch

Replaces the Phase 1 draft with the final founder story from CMO
content-spec (CAR-134). Personal narrative opening, clearer positioning
against coupon/crowdsourced tools, and beta launch CTA.

Refs: CAR-134, CAR-114

Co-Authored-By: Paperclip <noreply@paperclip.ing>

* content: merge founder story with data stats per Penny's review (v1.1)

Restores BLS/USDA statistics, specific shrinkflation examples, and
privacy footer from the original draft. Keeps the founder pasta story,
three-things framework, and cleaner positioning from the CMO content-spec.
Combined version addresses all points raised in Penny's changes-requested review.

Co-Authored-By: Paperclip <noreply@paperclip.ing>

---------

Co-authored-by: Frontend Frankie <frankie@cartsnitch.com>
Co-authored-by: Paperclip <noreply@paperclip.ing>
2026-03-21 01:45:36 +00:00
cartsnitch-engineer[bot] 7d2e0ba64e Add shrinkflation series post 1: cereal (#29)
* content: add shrinkflation series post 1 — The Shrinkflation Files: Cereal

Updates cereal blog post with final content-spec v1.0 from CAR-141.
Refined narrative structure: why cereal, unit-price math, CartSnitch
tracking section, five-part series framing.

Part of shrinkflation series (CAR-141, parent CAR-114).

Co-Authored-By: Paperclip <noreply@paperclip.ing>

* content: update cereal shrinkflation post to v1.1 with brand-specific data

Restores brand data table (Cheerios, Frosted Flakes, Lucky Charms, etc. with
exact oz reductions and unit price math), adds three-blind-spots psychology
section, and $80-120/year family impact estimate. Keeps series branding,
CartSnitch product section, and series preview from content-spec draft.

Addresses CEO changes-requested review on PR #29.

Co-Authored-By: Paperclip <noreply@paperclip.ing>

---------

Co-authored-by: Frontend Frankie <frankie@cartsnitch.com>
Co-authored-by: Paperclip <noreply@paperclip.ing>
2026-03-21 00:50:42 +00:00
cartsnitch-ceo[bot] 118946898b Merge pull request #27 from cartsnitch/content/launch-calendar
Add beta launch content calendar
2026-03-20 18:50:52 +00:00
cartsnitch-ceo[bot] 90c81f9c8f Merge pull request #25 from cartsnitch/content/seo-comparison-article
Add SEO comparison article: best grocery price tracking apps
2026-03-20 18:50:36 +00:00
frontend-frankie[bot] 4baac1ae26 content: add beta launch content calendar
Refs: CAR-131

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-20 13:20:53 +00:00
chip-overstock[bot] 0f1e158e89 Merge pull request #24 from cartsnitch/content/phase-2-onboarding-faq
Add Phase 2 content: onboarding guides and FAQ
2026-03-20 08:20:33 +00:00
Frontend Frankie a9101246c9 content: add SEO comparison article — best grocery price tracking apps 2026
Adds marketing blog post comparing CartSnitch, Flipp, Basket, and Ibotta.
Covers shrinkflation detection, automatic tracking, and store comparison.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-20 06:13:46 +00:00
Frontend Frankie cf4ae49ad7 Add Phase 2 content: onboarding guides and FAQ
Onboarding guides cover the five core user flows: getting started,
connecting store accounts, setting up price alerts, reading the
dashboard, and comparing stores. FAQ addresses common questions
about how CartSnitch works, data privacy, supported stores, and
troubleshooting.

All guides include screenshot placeholders for integration once
staging is available (blocked on CAR-60).

Ref: CAR-114

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-20 06:11:27 +00:00
chip-overstock[bot] 634d54b7fc Merge pull request #23 from cartsnitch/fix/dockerhub-auth-rate-limit
Add Docker Hub auth to CI to fix 429 rate limit
2026-03-20 02:15:44 +00:00
Deploy Debbie c74a4226f4 Add Docker Hub auth to CI to fix 429 rate limit
The build-and-push job pulls nginx:stable-alpine from Docker Hub during
docker build. Anonymous pulls hit rate limits on self-hosted runners.
Add docker/login-action for Docker Hub using org secrets before the
build step (unconditional — needed for both PR and push builds).

Closes #22

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-20 02:05:33 +00:00
chip-overstock[bot] 14c8aa5797 ci: add CalVer tagging to CI workflow
ci: add CalVer tagging to CI workflow
2026-03-20 02:02:02 +00:00
Deploy Debbie 77c45e7eac ci: add CalVer tagging to build-and-push workflow
Tag container images with YYYY.MM.DD CalVer format on merge to main,
with build number suffix for same-day collisions. Creates matching
git tags (vYYYY.MM.DD). Retains latest tag as convenience alias.

GitHub issue: cartsnitch/infra#24

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-19 23:56:05 +00:00
chip-overstock[bot] d6175760d1 Merge pull request #15 from cartsnitch/frankie/add-marketing-content
Add marketing content from CMO content phase 1
2026-03-19 23:09:07 +00:00
Frontend Frankie 6a130a9d76 Add 6 missing marketing content files from CMO content phase 1
Add brand voice guide, website landing page, launch announcement,
social media strategy, and email templates (shrinkflation alert,
weekly digest) to content/marketing/ directory structure.

Resolves CAR-90.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-19 21:50:19 +00:00
Frontend Frankie 38c860f1bb Add marketing content files from CMO content phase 1
Copy 10 marketing content files from the cmo/content-phase1 branch
of cartsnitch/agents into content/marketing/, preserving the
blog/, email/, and social/ subdirectory structure.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-19 21:50:19 +00:00
chip-overstock[bot] 91ff8f76d0 Merge pull request #18 from cartsnitch/fix/runner-label
fix(ci): correct ARC runner label
2026-03-19 21:47:40 +00:00
Deploy Debbie ab358f44bb fix(ci): use correct ARC runner label runners-cartsnitch
The correct self-hosted ARC runner label is runners-cartsnitch, not
cartsnitch-runners. All CI jobs were failing because no runners
matched the old label.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-19 21:25:51 +00:00
chip-overstock[bot] 5b8d132948 Merge pull request #17 from cartsnitch/fix/ci-runner-and-mirrors
fix(ci): correct runner label + revert GHCR mirrors
2026-03-19 21:10:12 +00:00
Deploy Debbie 66565fff5c fix(ci): remove Docker Hub login step
We push to GHCR only per infrastructure policy. The Docker Hub login
step was added in error and would fail since DOCKERHUB_USERNAME/TOKEN
secrets are not configured.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-19 19:14:46 +00:00
Debbie a65361106c fix(ci): correct runner label to cartsnitch-runners
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-19 18:57:28 +00:00
Deploy Debbie 66376f6a87 fix(ci): add Docker Hub login to avoid rate limits on base image pulls
Self-hosted ARC runners share an IP — unauthenticated Docker Hub pulls
hit rate limits. Add Docker Hub login before build step.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-19 18:50:31 +00:00
Deploy Debbie 580864ac69 fix(ci): correct runner label and revert GHCR mirrors to Docker Hub
Fixes runner label (local-ubuntu-latest-cartsnitch → runners-cartsnitch)
and reverts GHCR mirror images to Docker Hub direct per board directive.

Supersedes #16

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-19 17:59:16 +00:00
Chris Farhood e8a53399c2 Merge pull request #14 from cartsnitch/revert-ghcr-mirrors
Revert GHCR mirror configs to Docker Hub direct pulls
2026-03-18 21:53:46 -04:00
Deploy Debbie b8091e367e Remove Docker Hub auth and debug step
Confirmed secrets are length 0 from CI runners. Docker Hub auth
cannot work until secrets are properly scoped to these repos.

Refs: CAR-77

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-19 01:48:17 +00:00
Deploy Debbie d0c887e29f Debug: check Docker Hub secret accessibility from CI runners
Adding diagnostic step to verify secret length before login attempt.

Refs: CAR-77

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-19 01:45:43 +00:00
Deploy Debbie c81e14b8e7 Re-add Docker Hub auth to test secret accessibility
Board confirms DOCKERHUB_USERNAME/DOCKERHUB_TOKEN exist. Testing
whether they're now accessible from self-hosted runners.

Refs: CAR-77

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-19 01:43:34 +00:00
Debbie (Paperclip Agent) ec81004268 Remove Docker Hub auth (secrets not accessible from CI runners)
DOCKERHUB_USERNAME/DOCKERHUB_TOKEN secrets are not accessible from
the self-hosted runners. Remove credentials blocks and login steps
to avoid template validation failures. Docker Hub pulls will use
anonymous access.

Refs: CAR-77

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-19 00:59:10 +00:00
Debbie (Paperclip Agent) fb6f4a0ed4 Retrigger CI after org secrets provisioned
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-19 00:55:24 +00:00
Debbie (Paperclip Agent) e6f09a0212 Fix: remove conditional on Docker Hub login
Board confirmed DOCKERHUB_USERNAME/DOCKERHUB_TOKEN secrets exist.
Remove the conditional (which had a YAML parsing issue with unquoted !=).

Refs: CAR-77

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-19 00:52:11 +00:00
Debbie (CartSnitch Engineering) 58844b33fe Fix: make Docker Hub auth conditional
Docker Hub login step is now conditional on secret existence
to avoid failures when org secrets are not yet provisioned.

Refs: CAR-77

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-18 23:53:50 +00:00
Debbie (CartSnitch Engineering) 0000297e4f Revert GHCR mirror configs to Docker Hub direct pulls
Replace ghcr.io/cartsnitch/mirror/* images with Docker Hub originals,
restore GHCR login guard, and add Docker Hub auth.

Refs: CAR-77

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-18 23:48:43 +00:00
chip-overstock[bot] e572a32021 Merge pull request #11 from cartsnitch/fix/ghcr-mirror-base-images
Switch Dockerfile base images to GHCR mirror
2026-03-18 18:52:27 +00:00
deploy-debbie[bot] 0789de39f0 Switch base images from Docker Hub to GHCR mirror
Avoids Docker Hub 429 rate limits by pulling node:20-alpine and
nginx:stable-alpine from ghcr.io/cartsnitch/mirror/. GHCR login
now runs on all builds (not just main push) to authenticate pulls.

Ref: cartsnitch/infra#7, CAR-55

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-18 18:37:47 +00:00
deploy-debbie[bot] e57baa4468 feat: add Renovate dependency update config
Extends the shared CartSnitch Renovate preset from cartsnitch/.github.
Minor/patch automerge, major requires review, dependency PRs labeled and grouped.

Co-authored-by: Deploy Debbie <debbie@cartsnitch.com>
Co-authored-by: Paperclip <noreply@paperclip.ing>
2026-03-18 18:21:31 +00:00
deploy-debbie[bot] e42b7e1a66 fix(ci): remove unnecessary Docker Hub login step
The build-and-push job had an unconditional Docker Hub login step that
was failing because DOCKERHUB_USERNAME and DOCKERHUB_TOKEN secrets are
not provisioned. Since we push images to GHCR (not Docker Hub), this
step is not needed.

Closes cartsnitch/infra#5

Co-authored-by: deploy-debbie[bot] <268472978+deploy-debbie[bot]@users.noreply.github.com>
Co-authored-by: Paperclip <noreply@paperclip.ing>
2026-03-18 18:20:31 +00:00
chip-overstock[bot] 265f2ae654 Merge pull request #9 from cartsnitch/fix/ci-docker-ratelimit
Fix CI: add Docker Hub credentials for base image pulls
2026-03-18 18:11:01 +00:00
Deploy Debbie 2c4e78f0a7 fix(ci): add Docker Hub login to avoid rate limit on base image pulls
The build-and-push job pulls node:20-alpine and nginx:stable-alpine from
Docker Hub during docker build. Without authentication these pulls hit
the unauthenticated rate limit, causing intermittent build failures.

Closes #8

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-18 16:36:02 +00:00
chip-overstock[bot] da775d362a Merge pull request #7 from cartsnitch/feature/dockerfile
feat: add multi-stage Dockerfile for PWA
2026-03-18 14:27:23 +00:00
26 changed files with 2473 additions and 4 deletions
+36 -4
View File
@@ -11,7 +11,7 @@ concurrency:
cancel-in-progress: true
permissions:
contents: read
contents: write
packages: write
env:
@@ -20,7 +20,7 @@ env:
jobs:
lint:
runs-on: local-ubuntu-latest-cartsnitch
runs-on: runners-cartsnitch
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
@@ -34,7 +34,7 @@ jobs:
run: npx tsc --noEmit
test:
runs-on: local-ubuntu-latest-cartsnitch
runs-on: runners-cartsnitch
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
@@ -46,10 +46,35 @@ jobs:
run: npx vitest run
build-and-push:
runs-on: local-ubuntu-latest-cartsnitch
runs-on: runners-cartsnitch
needs: [lint, test]
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Generate CalVer tag
id: calver
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
run: |
DATE_TAG=$(date -u +%Y.%m.%d)
EXISTING=$(git tag -l "v${DATE_TAG}*" | sort -V | tail -1)
if [ -z "$EXISTING" ]; then
VERSION="$DATE_TAG"
elif [ "$EXISTING" = "v${DATE_TAG}" ]; then
VERSION="${DATE_TAG}.2"
else
BUILD_NUM=$(echo "$EXISTING" | sed "s/v${DATE_TAG}\.//")
VERSION="${DATE_TAG}.$((BUILD_NUM + 1))"
fi
echo "version=$VERSION" >> "$GITHUB_OUTPUT"
echo "CalVer tag: $VERSION"
- name: Log in to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Log in to GHCR
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
@@ -66,6 +91,7 @@ jobs:
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
tags: |
type=sha,prefix=sha-
type=raw,value=${{ steps.calver.outputs.version }},enable=${{ github.ref == 'refs/heads/main' }}
type=raw,value=latest,enable=${{ github.ref == 'refs/heads/main' }}
- name: Build and push Docker image
@@ -76,3 +102,9 @@ jobs:
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
target: prod
- name: Create git tag
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
run: |
git tag "v${{ steps.calver.outputs.version }}"
git push origin "v${{ steps.calver.outputs.version }}"
@@ -0,0 +1,144 @@
---
title: "Best Apps to Track Grocery Prices in 2026"
slug: best-grocery-price-tracking-apps-2026
status: draft
version: 1.0
last_updated: 2026-03-20
description: "Comparison of the best grocery price tracking apps in 2026 — CartSnitch, Flipp, Basket, and Ibotta. What each does, what each misses, and how to choose."
seo_keywords: ["best grocery price tracking apps", "grocery price comparison app", "track grocery prices", "shrinkflation app", "CartSnitch vs Flipp", "CartSnitch vs Basket"]
---
# Best Apps to Track Grocery Prices in 2026
Grocery prices are up. Shrinkflation is widespread. And most apps designed to help you save money are built around a frustrating assumption: that you'll do the work.
Scan receipts. Enter prices manually. Browse flyers and clip coupons. These tools exist, but they require effort that most people do not have on a typical grocery run.
This guide compares the four most-used grocery price tools — CartSnitch, Flipp, Basket, and Ibotta — on what actually matters: what they track, how much work they require, and whether they catch things like shrinkflation.
---
## Quick Comparison
| | CartSnitch | Flipp | Basket | Ibotta |
|---|---|---|---|---|
| **Tracks your actual prices** | Yes | No | Partially | No |
| **Automatic (no manual entry)** | Yes | Yes | Manual | Partially |
| **Shrinkflation detection** | Yes | No | No | No |
| **Price alerts** | Yes | No | Yes | No |
| **Store comparison** | Yes | Yes | Yes | No |
| **Works from your purchase history** | Yes | No | No | No |
| **Free** | Yes | Yes | Yes | Yes |
---
## CartSnitch
**Best for: people who want automatic, personalized tracking without any effort**
CartSnitch connects to your store loyalty accounts (Meijer, Kroger, Target) and imports your purchase history automatically. From there, it tracks prices on everything you buy, detects shrinkflation, compares prices across your stores, and alerts you when prices drop.
The key difference: CartSnitch tracks what you actually paid, not theoretical store prices. If you bought Cheerios at Kroger three times in the last two months, CartSnitch shows you your actual price trend — and whether the box has gotten smaller.
**What it does well:**
- Shrinkflation detection — tracks unit prices (price per oz, per count) and flags when you are paying more for less
- Zero manual entry — your purchase history comes from your loyalty accounts automatically
- Price alerts on items you actually buy, not random products you have never purchased
- Store comparison that is grounded in your real shopping patterns
**What it does not do:**
- Digital coupons or cash-back rewards
- Stores without loyalty programs
**Supported stores:** Meijer, Kroger, Target (Walmart, Costco, Aldi coming)
---
## Flipp
**Best for: browsing weekly deals before you head to the store**
Flipp aggregates digital store flyers from hundreds of grocery chains. You can search for a product and see which stores have it on sale this week.
Flipp is genuinely useful for one specific thing: finding what is on sale right now. What it does not do: track your actual purchase history. It has no idea what you have paid in the past, whether a sale price is actually a good price, or whether products have gotten smaller.
**What it does well:**
- Weekly flyer aggregation from hundreds of stores
- Quick search across retailers for current sales
- Meal planning features tied to deals
**What it does not do:**
- Track your purchase history
- Detect shrinkflation (no unit price tracking)
- Tell you whether a sale price is actually better than usual
---
## Basket
**Best for: price-conscious shoppers willing to do some work and contribute to community data**
Basket is crowd-sourced. Users scan or enter grocery prices at stores, building a community database. Data quality depends entirely on your local community of contributors.
**What it does well:**
- Community-driven local price data
- Price alerts when user-reported prices drop
- Works without store loyalty accounts
**What it does not do:**
- Track your personal purchase history automatically
- Detect shrinkflation
- Guarantee data quality in areas with low participation
---
## Ibotta
**Best for: earning cash back on purchases you were already going to make**
Ibotta is a cash-back app, not a price tracker. You browse offers, buy qualifying products, and submit receipts to earn rebates. Useful for cash back — but it does not help you find the best price, track your spending patterns, or detect shrinkflation.
**What it does well:**
- Cash-back rewards on eligible products
- Wide brand and retailer partnerships
**What it does not do:**
- Track prices over time
- Detect shrinkflation
- Work without receipt submission
---
## Which App Should You Use?
**If you want automatic, effort-free price tracking:** CartSnitch is the only app that pulls from your actual purchase history without requiring manual work.
**If you plan your shopping around weekly deals:** Add Flipp. It is the best tool for browsing what is on sale right now.
**If you want cash back:** Ibotta runs alongside your other tools — it does not replace price tracking.
**If your stores are not on CartSnitch yet:** Basket fills the gap with the caveat that data quality varies.
These apps are not mutually exclusive. CartSnitch handles ongoing tracking. Flipp handles weekly deal browsing.
---
## The Shrinkflation Problem No App (Except CartSnitch) Solves
Shrinkflation is the most invisible form of grocery price increase — and no other app in this comparison catches it.
How it works: a brand reduces a product size or weight while keeping the price the same. A box of pasta that was 16 oz is now 13.25 oz. The shelf price might even drop slightly, making it look like a deal. But the price per ounce went up.
Between 2022 and 2025, hundreds of common grocery products quietly shrank. Consumer Reports tracked it. The Federal Trade Commission flagged it. Shoppers noticed it at checkout but had no tool to quantify it automatically.
CartSnitch tracks unit prices — price per ounce, price per count — and alerts you when the math changes on products you buy. That is the only automated way to catch shrinkflation without doing the arithmetic yourself.
---
## Bottom Line
Most grocery apps are built around deals, coupons, and cash back. Useful — but they do not answer the question most shoppers actually have: am I paying more than I was six months ago, and is it because prices went up or because my cereal box got smaller?
CartSnitch is built to answer that question automatically, using your real purchase data, without requiring any work beyond connecting your loyalty accounts.
[Get started with CartSnitch — free, no subscription required.]
@@ -0,0 +1,89 @@
---
title: "The Shrinkflation Files: Cereal"
slug: shrinkflation-cereal-2026
status: draft
version: 1.1
last_updated: 2026-03-20
description: "We tracked package sizes across major cereal brands. The boxes look the same. The prices barely changed. But you are getting less."
tags: ["shrinkflation", "cereal", "grocery-prices", "data"]
series: "The Shrinkflation Files"
series_part: 1
---
# The Shrinkflation Files: Cereal
Walk down the cereal aisle and everything looks normal. Same colorful boxes. Same familiar brands. Same prices — or maybe a few cents higher. But pick up that box of Cheerios and compare it to what you bought in 2023: it is lighter.
Here is what the data shows.
---
## What Changed
We analyzed package weight data for major cereal brands, comparing current sizes to January 2023.
| Brand / Product | 2023 Size | 2026 Size | Change | Price Change |
|----------------|-----------|-----------|--------|--------------|
| Cheerios (standard) | 18 oz | 15.4 oz | **-2.6 oz (-14.4%)** | +$0.20 |
| Frosted Flakes | 19.2 oz | 17 oz | **-2.2 oz (-11.5%)** | Same |
| Honey Nut Cheerios | 19.5 oz | 17 oz | **-2.5 oz (-12.8%)** | Same |
| Cocoa Puffs | 18.1 oz | 15.2 oz | **-2.9 oz (-16.0%)** | +$0.30 |
| Cinnamon Toast Crunch | 19.3 oz | 17 oz | **-2.3 oz (-11.9%)** | Same |
| Lucky Charms | 19.3 oz | 16 oz | **-3.3 oz (-17.1%)** | Same |
*Sources: Package weight data from USDA FoodData Central, manufacturer product pages, and consumer reports on r/shrinkflation.*
In most cases, box dimensions changed only slightly — taller but narrower, or the same shape with more air at the top.
---
## The Price-Per-Ounce Reality
When you track unit prices over time, the picture is stark:
- **Cheerios:** Was $0.28/oz → Now $0.32/oz — a **16.8% increase** behind the same price tag
- **Lucky Charms:** Was $0.26/oz → Now $0.31/oz — a **20.6% increase**
- **Cocoa Puffs:** Was $0.25/oz → Now $0.31/oz — a **22.5% increase** (after also raising the sticker price $0.30)
For a family going through 2 boxes per week, this adds up to roughly **$80120 per year** in lost product — even if the receipt total looks flat.
---
## Why Cereal?
Cereal is a category where consumers have strong price memory. Manufacturers know this. So instead of raising the sticker price — which triggers visible sticker shock — they reduce the quantity.
Shrinkflation works because of three blind spots:
1. **We anchor on sticker price.** If the box still says $4.99, our brains register it as "not more expensive."
2. **Package design masks size changes.** Brands maintain box dimensions while reducing fill. The box looks the same on the shelf.
3. **Net weight is fine print.** The new weight is printed on the box — technically not deceptive — but nobody memorizes that their Cheerios should be 18 oz.
---
## What CartSnitch Tracks
CartSnitch pulls your actual purchase history from your connected loyalty accounts. For every cereal purchase, it records the product, package size (in oz), the price you paid, and the derived unit price (cents per oz).
Over time, this builds a timeline of your personal cereal prices. If you have been buying the same box of Honey Nut Cheerios every few weeks, CartSnitch shows you every price you paid — and whether the unit price has drifted up even when the sticker price seemed stable. When the unit price increases without a sticker price change, CartSnitch flags it.
---
## What You Can Do
**Check unit prices, not sticker prices.** A flat sticker with a rising unit price is the shrinkflation signature.
**Compare store brands.** Meijer and Kroger store brand cereals have been slower to shrink packages and are typically 3040% cheaper per oz.
**Set a unit-price alert.** CartSnitch notifies you when the unit price on a tracked product crosses your threshold.
---
## Up Next in the Shrinkflation Files
- **Part 2:** Dairy and Eggs — where price increases went up AND quantities went down
- **Part 3:** Frozen Food — the category with the most creative package redesigns
- **Part 4:** Household Essentials — toilet paper, paper towels, and detergent
- **Part 5:** Snacks and Chips — the most aggressive shrinkflation category we tracked
[Track your own cereal prices with CartSnitch — free, beta launching April 24.]
@@ -0,0 +1,98 @@
---
title: "Shrinkflation Report: The Incredible Cost of Eggs, Milk, and Yogurt in 2026"
slug: shrinkflation-dairy-eggs-2026
date: 2026-04-15
author: CartSnitch Team
category: Shrinkflation Report
tags: [shrinkflation, dairy, eggs, milk, yogurt, grocery prices]
status: draft
series: shrinkflation-case-studies
description: "Dairy is the most emotionally charged aisle in the store. Egg prices swing wildly, yogurt containers keep shrinking, and milk pricing defies logic. We tracked the numbers."
---
# Shrinkflation Report: The Incredible Cost of Eggs, Milk, and Yogurt in 2026
If any grocery category makes people angry, it's dairy. Eggs became a political talking point. Milk prices vary by dollars between stores a mile apart. And yogurt — once the quiet, affordable staple — has been shrinking so steadily that the standard container size has changed twice in a decade.
Here's what's actually happening, backed by the data.
## Eggs: the roller coaster nobody asked for
Egg prices are a case study in volatility masquerading as inflation:
| Period | Average Price (Dozen, Grade A) | Context |
|--------|-------------------------------|---------|
| Jan 2020 | $1.47 | Pre-pandemic baseline |
| Jan 2023 | $4.82 | Avian flu supply shock |
| Jun 2023 | $2.67 | Supply recovery |
| Jan 2024 | $2.51 | Stabilization |
| Jan 2025 | $3.89 | Second avian flu wave |
| Jan 2026 | $4.12 | Elevated "new normal" |
*Source: Bureau of Labor Statistics, Average Price Data*
The headline number is dramatic enough. But here's what the averages hide:
- **Store-to-store variation is massive.** In a single metro area, we've seen dozen-egg prices range from $3.29 to $5.99 on the same week. That's an 82% spread for the identical product.
- **"Cage-free" premiums have compressed.** As conventional egg prices rose, the gap between conventional and cage-free narrowed — sometimes to just $0.50-0.80. Consumers paying the premium are getting less differentiation for their dollar.
- **Pack size games.** Some retailers have introduced 10-packs and 8-packs at prices that look cheaper but cost more per egg. A $3.99 ten-pack is $0.40/egg — worse than a $4.49 dozen at $0.37/egg.
## Yogurt: the 6-ounce container that used to be 8
Yogurt is ground zero for quiet shrinkflation. The standard single-serve yogurt container has been on a slow, steady diet:
| Period | Standard Container Size | What Changed |
|--------|------------------------|--------------|
| Pre-2010 | 8 oz | The original standard |
| 2011-2015 | 6 oz | Most major brands downsized |
| 2020-2023 | 5.3 oz | "Greek yogurt" containers normalized this size |
| 2024-2026 | 5 oz (emerging) | Several brands testing smaller sizes |
The price journey alongside the shrinkage:
| Brand / Product | 2023 Size | 2023 Price | 2026 Size | 2026 Price | Per-oz Change |
|----------------|-----------|------------|-----------|------------|---------------|
| Chobani Greek (single) | 5.3 oz | $1.49 | 5.3 oz | $1.79 | **+$0.06/oz (+20.1%)** |
| Yoplait Original | 6 oz | $0.79 | 5.3 oz | $0.89 | **+$0.04/oz (+30.5%)** |
| Dannon Light & Fit | 5.3 oz | $1.09 | 5.3 oz | $1.29 | **+$0.04/oz (+18.3%)** |
| Oikos Triple Zero | 5.3 oz | $1.59 | 5.0 oz | $1.69 | **+$0.04/oz (+12.5%)** |
| Store brand Greek | 5.3 oz | $0.99 | 5.3 oz | $1.09 | **+$0.02/oz (+10.7%)** |
*Sources: Manufacturer product pages, USDA FoodData Central, and retailer pricing data.*
Yoplait's move is the most striking: **shrink AND raise** in the same period. The sticker price went up $0.10 — noticeable but not alarming. The size dropped from 6 oz to 5.3 oz — barely visible on the shelf. Combined effective increase: 30.5%.
## Milk: the price that makes no sense
Milk pricing has always been chaotic, but the current situation is particularly hard for consumers to navigate:
- **A gallon of whole milk** averaged $4.15 nationally in early 2026 (BLS data). But store-to-store variation runs $3.29 to $5.49 within a single zip code.
- **Half-gallon pricing has gotten worse.** Many brands now price their half-gallon at 55-65% of their gallon price, making the "convenience" upcharge steeper than ever. If you're buying two half-gallons because you can't use a full gallon before it expires, you're paying a 10-30% premium.
- **Organic milk premiums are compressing** — similar to eggs. Conventional prices rose faster than organic, shrinking the gap from $2-3 to $1-1.50 in many markets. If you were on the fence about organic, the math has shifted.
- **"Ultra-filtered" and specialty milks** (Fairlife, etc.) have seen 15-20% price increases since 2023 while maintaining sizes. These are pure price increases, no shrinkflation — but they're happening alongside the general dairy confusion.
## The multi-pack trap
One of the sneakiest moves in dairy is the shift in multi-pack sizes:
- **Yogurt multi-packs** have gone from 12-count to 10-count to 8-count at some brands, while per-pack pricing creeps up. A Chobani 8-pack is $8.99 in many stores — that's $1.12 per 5.3 oz cup, or $0.21/oz. Buying singles at $1.79 each is actually worse at $0.34/oz, but the multi-pack itself has lost 33% of its unit count since the 12-pack era.
- **Cheese slices** packages went from 24-count to 22-count (Kraft Singles) while prices rose. The per-slice cost has increased over 25% since 2023.
- **Butter** has seen some of the least shrinkflation (hard to shrink a stick), but prices are up 18-22% since 2023, making it one of the few dairy categories with transparent price increases.
## What you can do
1. **Compare egg prices weekly.** Egg prices are the most volatile in the dairy case. Checking two stores can easily save $1-2 per dozen.
2. **Watch yogurt unit pricing.** Container sizes are a moving target. The shelf tag's price-per-ounce is the only reliable comparison.
3. **Do the milk math.** If your household uses less than a gallon per week, a gallon might still be cheaper than two half-gallons — even if some milk gets wasted.
4. **Watch multi-pack counts.** Don't assume the pack you always buy still has the same number of items. Check the count every time.
5. **Use CartSnitch.** We track dairy prices and package sizes across stores automatically. When your yogurt shrinks or your egg prices spike, you'll know before you get to the register. [Sign up for early access](#).
## The bottom line
Dairy hits every household, every week. It's one of the top 3 grocery budget categories, and it's being squeezed from every direction: volatile prices, shrinking containers, disappearing multi-pack counts, and store-to-store pricing gaps that can add up to $20-30 per month for a family of four.
The data is clear. The question is whether consumers have access to it. That's what we're building.
---
*This is the third in a series of CartSnitch Shrinkflation Reports. Previous: [Your cereal box lost 2 ounces this year](#) | [The incredible shrinking chip bag](#)*
@@ -0,0 +1,106 @@
---
title: "Shrinkflation Report: Your Frozen Pizza Shrank and Your Ice Cream Did Too"
slug: shrinkflation-frozen-food-2026
date: 2026-04-29
author: CartSnitch Team
category: Shrinkflation Report
tags: [shrinkflation, frozen food, ice cream, frozen pizza, grocery prices]
status: draft
series: shrinkflation-case-studies
description: "The freezer aisle is shrinkflation's longest-running experiment. Ice cream lost a quarter of its volume over 15 years. Frozen pizzas are lighter. And frozen dinners cost more per ounce than fresh ingredients."
---
# Shrinkflation Report: Your Frozen Pizza Shrank and Your Ice Cream Did Too
The freezer aisle is where shrinkflation perfected its playbook. Ice cream has been shrinking for over a decade — the longest sustained product downsizing in grocery history. But it's not just ice cream anymore. Frozen pizza, frozen meals, frozen vegetables, and even ice cream sandwiches have all gotten the treatment.
## Ice cream: the 15-year shrink
Ice cream is the textbook shrinkflation case. The numbers tell a story that spans more than a decade:
| Period | Standard Container Size | What It Was Called |
|--------|------------------------|--------------------|
| Pre-2008 | Half gallon (64 oz) | "Half Gallon" |
| 2008-2010 | 1.75 quarts (56 oz) | "Family Size" |
| 2014-2020 | 1.5 quarts (48 oz) | Nothing — just quietly smaller |
| 2022-2026 | 1.5 quarts (48 oz) | Still 48 oz, but prices up 20-30% |
That's a **25% reduction** from 64 oz to 48 oz — a full pint of ice cream quietly removed from every container over 15 years.
### Current state: 2026 prices on 2008 sizes
| Brand / Product | 2023 Price (48 oz) | 2026 Price (48 oz) | Change | Effective Per-oz |
|----------------|-------------------|-------------------|--------|-----------------|
| Häagen-Dazs (14 oz pint) | $5.99 | $6.99 | +$1.00 (+16.7%) | **$0.50/oz** |
| Ben & Jerry's (16 oz pint) | $5.99 | $6.79 | +$0.80 (+13.4%) | **$0.42/oz** |
| Breyers Natural Vanilla (48 oz) | $5.49 | $6.49 | +$1.00 (+18.2%) | **$0.14/oz** |
| Blue Bunny (46 oz — yes, 46) | $4.99 | $5.79 | +$0.80 (+16.0%) | **$0.13/oz** |
| Turkey Hill (48 oz) | $4.29 | $5.29 | +$1.00 (+23.3%) | **$0.11/oz** |
| Store brand (48 oz) | $3.49 | $4.29 | +$0.80 (+22.9%) | **$0.09/oz** |
*Sources: Retailer pricing data, manufacturer websites, BLS average prices.*
Blue Bunny quietly moved to 46 oz — 2 oz less than the already-shrunk "standard." That's the kind of 4% cut that's nearly invisible but adds up across millions of containers sold.
The pint category (Häagen-Dazs, Ben & Jerry's) hasn't shrunk below 14-16 oz yet, but prices have risen 13-17% in two years. At $0.42-0.50 per ounce, premium pints now cost roughly **4x** more per ounce than economy brands.
## Frozen pizza: the incredible lightening
Frozen pizza has gotten lighter without getting smaller. The box is the same. The pizza diameter looks the same on the shelf. But pick it up, and there's less there:
| Brand / Product | 2023 Weight | 2026 Weight | Change | Price Change |
|----------------|-------------|-------------|--------|--------------|
| DiGiorno Rising Crust Pepperoni | 29.6 oz | 27.5 oz | **-2.1 oz (-7.1%)** | +$0.70 |
| Red Baron Classic Pepperoni | 20.6 oz | 19.4 oz | **-1.2 oz (-5.8%)** | +$0.50 |
| Totino's Party Pizza | 10.7 oz | 10.2 oz | **-0.5 oz (-4.7%)** | +$0.20 |
| Tombstone Original Pepperoni | 21.4 oz | 19.8 oz | **-1.6 oz (-7.5%)** | Same |
| Jack's Original Pepperoni | 16.6 oz | 15.4 oz | **-1.2 oz (-7.2%)** | Same |
| Store brand rising crust | 28 oz (avg) | 26 oz (avg) | **-2 oz (-7.1%)** | +$0.30 (avg) |
*Sources: Manufacturer packaging data, retailer listings, consumer reports.*
How they do it: less cheese, thinner crust, slightly fewer toppings. The pizza looks the same from above. It just weighs less. And since nobody weighs their frozen pizza, nobody notices — until the per-ounce math reveals a 12-15% effective price increase on products like DiGiorno.
## Frozen meals: the shrinking dinner
Single-serve frozen meals have been on a steady diet:
| Brand / Product | 2023 Size | 2026 Size | Change | Price Change |
|----------------|-----------|-----------|--------|--------------|
| Stouffer's Mac & Cheese | 12 oz | 11 oz | **-1 oz (-8.3%)** | +$0.30 |
| Marie Callender's Pot Pie | 15 oz | 14 oz | **-1 oz (-6.7%)** | +$0.50 |
| Lean Cuisine (various) | 9.5 oz (avg) | 8.5 oz (avg) | **-1 oz (-10.5%)** | Same |
| Banquet Classic (various) | 10 oz (avg) | 9.5 oz (avg) | **-0.5 oz (-5.0%)** | +$0.20 |
| Healthy Choice Power Bowls | 9.5 oz | 9 oz | **-0.5 oz (-5.3%)** | +$0.30 |
*Sources: Manufacturer packaging, retailer data.*
The Lean Cuisine pattern is notable: keeping prices flat while cutting a full ounce of food. That's marketed as stability — "Lean Cuisine hasn't raised prices!" — while delivering 10% less product. The per-ounce math tells a different story.
## Frozen vegetables: even the basics
You'd think a bag of frozen peas would be safe. It's not:
- **Birds Eye steamable bags**: Went from 12 oz to 10 oz (standard) and 19 oz to 16 oz (large) across multiple vegetable varieties since 2023.
- **Green Giant**: Similar reductions, from 12 oz standard to 10 oz on several products.
- **Store brand bags** have largely held at 12 oz and 16 oz, making them an even better value relative to name brands.
The irony: frozen vegetables are among the cheapest per-serving grocery items. The shrinkflation margins are small in absolute terms — maybe $0.30-0.50 per bag. But as a percentage, a 12 oz to 10 oz cut is a **16.7% reduction** that adds up across a year of weekly grocery runs.
## What you can do
1. **Check weight, not box size.** Frozen food packaging is designed to look the same even when the product inside gets lighter. Flip the box over.
2. **Compare per-ounce costs.** On frozen pizza especially, the shelf tag's unit price is the honest comparison. A "larger" DiGiorno at $8.99 might be worse per-ounce than a smaller brand at $5.49.
3. **Store brand frozen vegetables are the best deal in the aisle.** They've held sizes longer, cost less, and the product quality difference from name brands is minimal.
4. **Think about fresh vs. frozen math.** When a frozen meal is 8.5 oz for $4.29 ($0.50/oz), cooking the same dish from fresh ingredients is often cheaper per serving AND gives you more food.
5. **Use CartSnitch.** We track frozen food weights and prices across stores. When your frozen pizza loses another ounce, we'll flag it. [Sign up for early access](#).
## The long game
The freezer aisle tells us something important about how shrinkflation works at scale: it's incremental, it's patient, and it relies on consumer inertia. Ice cream didn't lose 25% of its volume overnight. It took 15 years of small cuts — each one too small to trigger outrage, each one permanent.
That's the pattern playing out right now across frozen pizza, frozen meals, and frozen vegetables. The question isn't whether your frozen food will shrink next year. It's by how much.
---
*This is the fifth and final case study in our launch series of CartSnitch Shrinkflation Reports. Previous: [Cereal](#) | [Chips](#) | [Dairy & Eggs](#) | [Household Essentials](#)*
@@ -0,0 +1,102 @@
---
title: "Shrinkflation Report: Fewer Sheets, Same Price — The Household Essentials Squeeze"
slug: shrinkflation-household-essentials-2026
date: 2026-04-22
author: CartSnitch Team
category: Shrinkflation Report
tags: [shrinkflation, household, paper towels, detergent, toilet paper, grocery prices]
status: draft
series: shrinkflation-case-studies
description: "Toilet paper has fewer sheets. Detergent does fewer loads. Paper towels are thinner. We tracked the household essentials aisle and the numbers are stark."
---
# Shrinkflation Report: Fewer Sheets, Same Price — The Household Essentials Squeeze
Nobody reads the fine print on a pack of paper towels. Which is exactly why household essentials have become one of the most aggressive shrinkflation categories in the store. These are products you buy on autopilot — the same brand, the same "mega" or "super" roll, the same shelf spot. And that predictability is being exploited.
## Toilet paper: the incredible shrinking roll
Toilet paper manufacturers have perfected the art of giving you less while making it look like more. The trick: create ever-larger roll names while reducing sheet count per roll.
| Brand / Product | 2023 Spec | 2026 Spec | Change |
|----------------|-----------|-----------|--------|
| Charmin Ultra Soft (Mega Roll) | 264 sheets/roll | 242 sheets/roll | **-22 sheets (-8.3%)** |
| Charmin Ultra Strong (Super Mega) | 396 sheets/roll | 366 sheets/roll | **-30 sheets (-7.6%)** |
| Cottonelle Ultra Clean (Mega) | 312 sheets/roll | 284 sheets/roll | **-28 sheets (-9.0%)** |
| Scott 1000 | 1,000 sheets/roll | 1,000 sheets/roll | No change (but thinner) |
| Angel Soft (Mega) | 320 sheets/roll | 295 sheets/roll | **-25 sheets (-7.8%)** |
| Store brand (Mega) | 300 sheets/roll (avg) | 275 sheets/roll (avg) | **-25 sheets (-8.3%)** |
*Sources: Manufacturer product pages, consumer reports on r/shrinkflation, packaging data.*
Scott 1000 deserves a special mention: the sheet count hasn't changed, but multiple consumer reports indicate the paper itself is thinner and narrower than it was two years ago. Same number. Less paper.
### The name game
Here's where it gets confusing. Toilet paper roll sizes in 2026:
- Regular → Big → Mega → Super Mega → Mega Plus → Ultra
These names let manufacturers **reset consumer expectations.** When they introduce "Super Mega" as the new standard at 366 sheets, nobody remembers that the original "Mega" roll had more sheets than today's "Super Mega."
A Charmin "Double Roll" in 2018 had more sheets than a 2026 "Mega Roll." But the name change makes it impossible to compare without a spreadsheet.
## Paper towels: same rolls, less absorbency
Paper towels face similar dynamics, with an added twist: "select-a-size" sheets.
| Brand / Product | 2023 Spec | 2026 Spec | Change |
|----------------|-----------|-----------|--------|
| Bounty Select-A-Size (Double) | 128 sheets/roll | 118 sheets/roll | **-10 sheets (-7.8%)** |
| Bounty Full Sheet (Double) | 98 sheets/roll | 90 sheets/roll | **-8 sheets (-8.2%)** |
| Viva Signature Cloth | 83 sheets/roll | 78 sheets/roll | **-5 sheets (-6.0%)** |
| Brawny Pick-A-Size (Double) | 120 sheets/roll | 108 sheets/roll | **-12 sheets (-10.0%)** |
*Sources: Manufacturer packaging data, retail listings.*
Select-a-size made paper towel shrinkflation easier. When sheets are smaller to begin with ("half sheets"), losing 10 of them doesn't feel as noticeable. But 10 fewer half-sheets across a pack of 8 rolls is 80 fewer half-sheets — roughly 2.5 fewer full towels per pack.
Meanwhile, prices per pack have increased 12-18% across major brands since 2023.
## Laundry detergent: fewer loads per bottle
Detergent shrinkflation is measured in loads, not ounces — which makes it even harder to track.
| Brand / Product | 2023 Loads | 2026 Loads | Price Change | Per-Load Change |
|----------------|------------|------------|--------------|-----------------|
| Tide Original (100 oz) | 64 loads | 59 loads | +$1.50 | **+$0.07/load (+28.7%)** |
| Persil ProClean (100 oz) | 64 loads | 58 loads | +$1.00 | **+$0.06/load (+22.2%)** |
| All Free Clear (88 oz) | 58 loads | 52 loads | +$0.50 | **+$0.04/load (+17.6%)** |
| Arm & Hammer Clean Burst (100 oz) | 67 loads | 61 loads | Same | **+$0.01/load (+9.8%)** |
| Store brand (comparable) | 64 loads (avg) | 60 loads (avg) | +$0.50 (avg) | **+$0.03/load (+12-15%)** |
*Sources: Manufacturer product pages, retailer listings, and "loads per bottle" label data.*
How they do it: manufacturers increase the "recommended dose" per load. The bottle is the same size. The price is the same (or higher). But the fill line on the cap moved up, and suddenly you get fewer loads. This is shrinkflation through dosage manipulation — technically not reducing the product, just telling you to use more of it per wash.
## Dish soap: the concentration trick
Dish soap has gone the other direction — "ultra concentrated" formulas in smaller bottles. This sounds like an improvement (less plastic, more efficient), but the math doesn't always work out:
- **Dawn Ultra (Original)**: Went from 28 oz at $4.99 to 24 oz at $4.99. Dawn says the new formula is "more concentrated." Even if that's true, you're buying less product for the same price and trusting that the concentration fully compensates.
- **Palmolive Ultra**: Similar — from 32.5 oz to 28 oz over two years. Price unchanged.
When a product goes through a "formula improvement" and simultaneously shrinks, you can't verify whether you're getting the same number of clean dishes. You just have to trust the brand. The data says: be skeptical.
## What you can do
1. **Count sheets, not rolls.** The roll name is marketing. The sheet count is the product. Compare per-sheet cost between brands.
2. **Watch the "loads" claim on detergent.** If the number goes down, your per-load cost went up — even if the price didn't.
3. **Buy store brand.** Private-label household essentials have been slower to shrink and are typically 25-40% cheaper per unit. The quality gap has narrowed significantly.
4. **Stockpile on sale.** Household essentials don't expire. When your brand runs a genuine sale (not a "new lower price" on a smaller package), buy ahead.
5. **Use CartSnitch.** We track per-unit costs on household essentials so you always know the real price. When the "mega roll" shrinks again, you'll see it. [Sign up for early access](#).
## The bottom line
Household essentials are some of the most shrinkflation-prone categories because they're purchased on autopilot, measured in confusing units (sheets, loads, rolls), and deliberately named to prevent comparison. The brands are betting you won't count the sheets. They're usually right.
But the data doesn't lie. And now you have it.
---
*This is the fourth in a series of CartSnitch Shrinkflation Reports. Previous: [Your cereal box lost 2 ounces](#) | [The incredible shrinking chip bag](#) | [The incredible cost of dairy](#)*
@@ -0,0 +1,72 @@
---
title: "Shrinkflation Report: The Incredible Shrinking Chip Bag"
slug: shrinkflation-snacks-chips-2026
date: 2026-04-08
author: CartSnitch Team
category: Shrinkflation Report
tags: [shrinkflation, snacks, chips, grocery prices]
status: draft
series: shrinkflation-case-studies
description: "Chip bags are bigger than ever — but the chips inside keep disappearing. We tracked package weights across 12 major snack brands."
---
# Shrinkflation Report: The Incredible Shrinking Chip Bag
There's an old joke that chip bags are mostly air. It's getting less funny. Over the past three years, major snack brands have been quietly cutting product weight while maintaining (or increasing) bag dimensions. The result: you're paying more for air. Literally.
## What we found
We compared current package weights for 12 top-selling chip and snack brands against their January 2023 sizes using publicly available product data.
| Brand / Product | 2023 Size | 2026 Size | Change | Price Change |
|----------------|-----------|-----------|--------|--------------|
| Lay's Classic (party size) | 15.25 oz | 13 oz | **-2.25 oz (-14.8%)** | +$0.50 |
| Doritos Nacho Cheese (party size) | 15.5 oz | 14.5 oz | **-1.0 oz (-6.5%)** | +$0.30 |
| Tostitos Scoops | 14.5 oz | 13 oz | **-1.5 oz (-10.3%)** | Same |
| Cheetos Crunchy | 15 oz | 13.5 oz | **-1.5 oz (-10.0%)** | Same |
| Ruffles Original | 15.25 oz | 13 oz | **-2.25 oz (-14.8%)** | +$0.30 |
| Pringles Original | 5.5 oz | 5.2 oz | **-0.3 oz (-5.5%)** | +$0.20 |
| Kettle Brand Sea Salt | 13 oz | 12 oz | **-1.0 oz (-7.7%)** | +$0.50 |
| SunChips Original | 13 oz | 11 oz | **-2.0 oz (-15.4%)** | Same |
*Sources: Package weight data from manufacturer websites, USDA FoodData Central, retailer listings, and consumer-reported data on r/shrinkflation.*
## The double hit: smaller AND more expensive
Some of these brands didn't just shrink the bag — they raised the price too. That's a double hit consumers rarely notice because each change feels small:
- **Lay's Classic (party size):** Lost 2.25 oz AND costs $0.50 more. Per-ounce price went from ~$0.37 to ~$0.47 — a **27% effective increase.**
- **Ruffles Original:** Same story. From ~$0.37/oz to ~$0.46/oz — **24.3% more per ounce.**
- **Kettle Brand:** Lost 1 oz while adding $0.50 to the price tag. Effective per-ounce increase: **17.4%.**
Meanwhile, brands like Tostitos and SunChips kept prices flat but cut product weight by 10-15%. The sticker price looks stable. Your per-chip cost is anything but.
## The "party size" illusion
Pay attention to size tier names. What was "family size" two years ago is now "party size." What was a standard bag might now be labeled "shareable size." These label changes serve a purpose: they make it harder to compare across time. When the product name itself changes, consumers can't easily remember whether "party size" was always 13 oz or if it used to be 15.25 oz.
It used to be 15.25 oz.
## Why snacks are shrinkflation ground zero
The snack category is where shrinkflation thrives for specific reasons:
1. **High air-to-product ratio.** Bags are already inflated with nitrogen for freshness. Adding a bit more air and removing a bit more product is physically easy.
2. **Impulse purchases.** People don't comparison shop chips the way they do milk or eggs. They grab and go.
3. **Brand loyalty is sticky.** If you're a Doritos person, you buy Doritos. You don't switch to the store brand over 1 oz.
4. **Irregular shapes make weight estimation impossible.** Nobody can eyeball whether a bag has 13 oz or 15 oz of chips.
## What you can do
1. **Compare unit prices, not bag prices.** The shelf tag's price-per-ounce is the only honest number on the shelf.
2. **Try store brands.** Private-label chips are typically 25-35% cheaper per ounce and have been slower to reduce sizes.
3. **Buy in bulk when deals hit.** Warehouse club prices on snacks still tend to offer better per-ounce value — but check the math. Some "bulk" sizes have been shrunk too.
4. **Track it.** CartSnitch automatically flags size changes and calculates your real per-unit cost over time. No more guessing whether that bag got lighter. [Sign up for early access](#).
## What's next
Next in our shrinkflation series: dairy and eggs — where price swings are wild, sizes are shifting, and the products you eat every day are quietly costing more per ounce than ever before.
---
*This is the second in a series of CartSnitch Shrinkflation Reports. See also: [Your cereal box lost 2 ounces this year](#).*
@@ -0,0 +1,84 @@
---
title: "Why We Built CartSnitch"
slug: why-we-built-cartsnitch
status: draft
version: 1.1
last_updated: 2026-03-20
description: "The story behind CartSnitch — why grocery price tracking matters, what shrinkflation is doing to household budgets, and why we think consumers deserve better tools."
tags: ["about", "shrinkflation", "founder-story"]
---
# Why We Built CartSnitch: Your Grocery Bill Should Not Be a Mystery
You know the feeling. You are at the register, the total pops up, and it is more than you expected. Again. You could swear that box of cereal was $3.49 last month. Was it? You cannot remember. You cannot prove it. And that is exactly how it is designed to work.
---
## The Numbers Back Up Your Gut
Grocery prices have risen **25% since January 2020** (Bureau of Labor Statistics). The USDA food price outlook for 2026 projects another 2-4% increase this year. But those are averages. The reality at the shelf is messier.
One of our founders was doing the weekly grocery run at Kroger a few years ago. Same box of pasta, same brand, same shelf, roughly the same price. Something felt off. The pasta was gone faster than usual.
She checked. The box had gone from 16 oz to 13.25 oz. The price had dropped slightly — from $1.89 to $1.79. The price per ounce had gone up 15%.
She had been buying less and paying more, and she had no idea. That is shrinkflation. And it is everywhere.
---
## The Invisible Price Increase
Shrinkflation is what happens when a brand reduces the size or quantity of a product while keeping the price the same — or close to it. The shelf tag barely moves. But you are getting less for your money. It is legal, it is common, and it is almost impossible to detect without tracking unit prices over time:
- **Cereals** have lost 1-3 oz per box across major brands since 2021
- **Toilet paper** rolls have fewer sheets — some brands dropped from 1,000 to 900 sheets per mega roll
- **Chip bags** contain 2+ oz less than the same SKU two years ago
- **Detergent** loads-per-bottle counts dropped while prices held steady
Inflation statistics do not capture this. Your receipt does not show it. But your grocery budget feels it.
---
## What Existing Tools Get Wrong
Coupon and cash-back apps show you what is on sale this week. Useful — but a sale price is not the same as a fair price. A 10% coupon on a product that shrank 15% is not a deal.
Crowd-sourced price trackers require manual entry. Most people do not do this consistently, and the data reflects community submissions — not what you personally paid.
None of them answer the question that actually matters: compared to what I paid six months ago, am I paying more for this product today?
---
## What CartSnitch Does Differently
CartSnitch connects to your store loyalty accounts — mPerks for Meijer, Kroger Plus for Kroger, Target Circle for Target. When you shop, your purchase history flows in automatically. No scanning. No manual entry. No behavior change.
From that data, CartSnitch tracks three things:
**Your price history.** What you actually paid for each item, over time. Not the store advertised price. Your price.
**Unit prices.** Price per ounce, price per count — whatever is appropriate. When the box shrinks and the price stays flat, the unit price goes up. CartSnitch catches this automatically.
**Price comparison across your stores.** If you shop at Kroger and Meijer, CartSnitch shows you what each item costs at each store.
The average American household spends **$270 per week on groceries** — over $14,000 a year (USDA, 2025). Retailers and brands have detailed analytics on every price change and package adjustment. Consumers have a fading memory of what they paid last time. CartSnitch closes that gap.
---
## Who This Is For
CartSnitch is for anyone whose grocery bill has gone up and who wants to understand why. It is for the household spending $20 more per week at the grocery store without knowing if that is inflation, shrinkflation, or just different buying habits.
It is not for couponers looking for their next deal. CartSnitch is for people who want to understand their actual spending, over time, with real data.
---
## Where We Are
CartSnitch is launching public beta on April 24, 2026. Three stores at launch: Meijer, Kroger, and Target. Free. No subscription.
[Join the beta — launching April 24.]
---
*CartSnitch is a consumer price transparency tool. We access purchase history from your loyalty accounts with your permission. We never sell your data.*
+129
View File
@@ -0,0 +1,129 @@
---
title: "CartSnitch Brand Voice Guide"
status: draft
version: 1.0
last_updated: 2026-03-18
description: "CartSnitch tone, personality, key phrases, and do/don't examples for all public-facing content."
---
# CartSnitch Brand Voice Guide
## Who We Are
CartSnitch is a consumer advocacy tool that tracks grocery prices, detects shrinkflation, and fights price gouging. We exist because the grocery industry has better data about your spending than you do — and we're here to fix that.
**Tagline:** Your grocery bill shouldn't be a mystery.
## Brand Personality
CartSnitch is the sharp, data-savvy friend who actually reads the fine print on your grocery receipt and says, "Did you know you're paying 15% more per ounce for that cereal?" We're not preachy. We're not angry. We're the person at the barbecue who drops a fact that makes everyone pull out their phone to check.
### Three words that define us:
1. **Informed** — We lead with data, not opinions. Every claim is backed by numbers.
2. **Direct** — We don't hedge or bury the lead. If a brand shrunk its product, we say so.
3. **Slightly irreverent** — We take the problem seriously, but not ourselves. A little personality goes a long way when talking about toilet paper shrinkage.
## Voice Principles
### 1. Data is the story
Never publish a claim without a number to back it. The data is what makes us credible and shareable. Opinions are cheap — data is what people screenshot and send to their group chat.
**Do:** "Cheerios went from 15 oz to 13.5 oz. Same box. Same price. That's an 10% hidden price increase."
**Don't:** "Companies are ripping you off with sneaky packaging tricks!"
### 2. Respect the reader's intelligence
Our audience is smart. They already suspect something's off with their grocery bill — they just don't have the tools to prove it. Don't explain basic concepts. Don't over-simplify. Give them the data and let them draw conclusions.
**Do:** "The average family spends $14,000/year on groceries. Even a 5% optimization saves $700."
**Don't:** "Did you know groceries are really expensive? It's true! And prices keep going up!"
### 3. Be specific, not dramatic
Specifics are more powerful than superlatives. "Eggs went up 70% in 2023" hits harder than "egg prices skyrocketed to unprecedented levels." The data speaks for itself — don't add theatrical adjectives.
**Do:** "This bag of Doritos was 9.25 oz in 2022. It's 9 oz today. Same price."
**Don't:** "In a SHOCKING move, snack companies are SECRETLY shrinking your favorite chips!"
### 4. Consumer-first, always
Every piece of content should help someone save money or understand what's happening to their grocery bill. If a post doesn't serve the consumer, it doesn't go out.
**Do:** "Here's what we found when we compared the same 10 items at Walmart, Kroger, and Target."
**Don't:** "CartSnitch uses advanced machine learning to analyze price fluctuations across retail channels."
### 5. No fear-mongering
We are not a doom-and-gloom brand. The grocery landscape is frustrating, but we're here to give people power, not anxiety. Frame everything around what people can *do* with the information.
**Do:** "Knowing when prices drop could save your family $100/month. Here's how to set alerts."
**Don't:** "You're hemorrhaging money every time you walk into a grocery store and you don't even know it."
## Tone Spectrum
| Context | Tone | Example |
|---|---|---|
| Blog posts | Informative, conversational | "You know the feeling. The total pops up and it's... more than you expected. Again." |
| Social media | Punchy, data-forward | "Same bag. Same price. 2 fewer ounces. Doritos, we see you." |
| Email | Warm, direct | "Hey there — we tracked your grocery prices this week. Good news: chicken is down 12%." |
| Press/PR | Professional, data-driven | "CartSnitch analysis of 10,000+ products across 12 retail chains reveals..." |
| Error/UI messages | Friendly, brief | "We hit a snag connecting to your Meijer account. Let's try again." |
## Key Phrases We Use
- "Your grocery bill shouldn't be a mystery"
- "The data behind your receipt"
- "Same price, less product"
- "Price transparency for real people"
- "Track. Compare. Save."
- "We do the math so you don't have to"
## Phrases We Avoid
- "Big Grocery" or conspiracy framing
- "They don't want you to know" (paranoid tone)
- "Shocking" / "unbelievable" / "jaw-dropping" (clickbait superlatives)
- "Hack" / "trick" / "secret" (we're not a lifehack site)
- Technical jargon: API, ML, algorithm, data pipeline, SKU (in consumer-facing content)
- "Disrupting" / "revolutionizing" (startup clichés)
## Grammar and Style
- **Numbers:** Use numerals for all numbers in data-driven content (e.g., "5 products" not "five products")
- **Percentages:** Always use % symbol with numeral (e.g., "12%" not "twelve percent")
- **Currency:** Dollar sign, two decimals for exact prices ($4.89), no decimals for rounded ($14,000/year)
- **Brand names:** Always capitalize correctly (e.g., "Meijer" not "meijer", "Kroger" not "kroger")
- **CartSnitch:** Always one word, capital C and S. Never "Cart Snitch" or "Cartsnitch" or "cartsnitch"
- **Contractions:** Yes. We're conversational. Use "you're," "we're," "don't," "can't."
- **Oxford comma:** Yes, always.
- **Em dashes:** Use for emphasis and asides — they add personality.
- **Active voice:** Always. "We tracked 10,000 products" not "10,000 products were tracked."
## Channel-Specific Guidelines
### Blog
- 800-1,500 words
- Lead with the most interesting data point
- Include at least 3 specific, sourced data points per post
- End with a clear CTA (signup, share, or read more)
- Conversational but well-structured with clear headers
### Twitter/X
- Lead with the data, not the setup
- Use line breaks for readability
- Threads for deep dives, single tweets for spotlights
- Always include the source or a link
### Reddit
- Match the subreddit tone — don't sound like a brand
- Lead with value, not promotion
- Never hard-sell. Let the data speak.
- Engage in comments authentically
### Email
- Subject lines: specific benefit or data point, under 50 characters
- Keep body scannable — short paragraphs, bullet points
- One primary CTA per email
- Personal tone — write like it's from a person, not a company
@@ -0,0 +1,58 @@
---
title: "Email Template — Shrinkflation Alert Notification"
status: draft
last_updated: 2026-03-18
description: "Real-time alert email sent when shrinkflation is detected on a product the user buys."
---
# Shrinkflation Alert Notification
**Trigger:** Real-time, when shrinkflation is detected on a product in the user's purchase history
**Subject line options:**
- "🔍 Shrinkflation alert: {{product_name}} just got smaller"
- "{{brand}} {{product_name}} shrank — here's what it costs you"
- "Same price, less {{product_name}}. We caught it."
**From:** CartSnitch <alerts@cartsnitch.com>
---
Hey {{first_name}},
We detected shrinkflation on a product you buy.
---
## {{brand}} {{product_name}}
| | Before | After |
|---|---|---|
| **Package size** | {{old_size}} | {{new_size}} |
| **Price** | {{price}} | {{price}} |
| **Unit price** | {{old_unit_price}}/{{unit}} | {{new_unit_price}}/{{unit}} |
**What this means:** You're now paying **{{hidden_increase}}% more per {{unit}}** for the same product at the same sticker price.
**Your annual impact:** Based on your purchase history, you buy this product about {{purchase_frequency}} times per year. This shrinkflation costs you an estimated **{{annual_cost}}** more annually for less product.
---
### What you can do
{{#if cheaper_alternative}}
**Switch stores:** {{product_name}} is {{percent_cheaper}}% cheaper per {{unit}} at {{alt_store}} right now.
{{/if}}
{{#if store_brand_option}}
**Try the store brand:** {{store_brand_name}} is {{sb_unit_price}}/{{unit}} — {{sb_savings}}% less per {{unit}} than the name brand.
{{/if}}
**Set a price alert:** [Get notified](#) if the price drops below {{target_price}}.
---
[View full product history →](#)
— The CartSnitch Team
*You're receiving this because you have shrinkflation alerts enabled. [Manage your alerts →](#) | [Unsubscribe](#)*
@@ -0,0 +1,80 @@
---
title: "Email Template — Weekly Price Alert Digest"
status: draft
last_updated: 2026-03-18
description: "Template for weekly email digest showing price changes, deals, and shrinkflation alerts for subscriber's tracked products."
---
# Weekly Price Alert Digest
**Trigger:** Every Monday at 8:00 AM ET (for users with connected store accounts)
**Subject line options:**
- "Your weekly grocery prices: [X] items changed"
- "Eggs are down 12% this week — plus [X] more price moves"
- "Weekly price update: [X] drops, [Y] increases, [Z] shrinkflation alerts"
**From:** CartSnitch <alerts@cartsnitch.com>
---
Hey {{first_name}},
Here's what happened to your grocery prices this week.
---
### 📉 Price Drops
{{#if price_drops}}
| Product | Store | Was | Now | Change |
|---|---|---|---|---|
| {{product_name}} | {{store}} | {{old_price}} | {{new_price}} | {{percent_change}} |
**Best deal this week:** {{best_deal_product}} is at its lowest price in {{time_period}} at {{store}} — {{price}}.
{{else}}
No price drops on your tracked items this week. We'll keep watching.
{{/if}}
---
### 📈 Price Increases
{{#if price_increases}}
| Product | Store | Was | Now | Change |
|---|---|---|---|---|
| {{product_name}} | {{store}} | {{old_price}} | {{new_price}} | {{percent_change}} |
{{#if cheaper_alternative}}
**Tip:** {{product_name}} is {{percent_cheaper}}% cheaper at {{alt_store}} right now ({{alt_price}}).
{{/if}}
{{else}}
No increases on your tracked items. Nice week.
{{/if}}
---
### 🔍 Shrinkflation Alerts
{{#if shrinkflation_alerts}}
**{{product_name}}** ({{brand}})
Was: {{old_size}} — Now: {{new_size}} — Same price
That's a **{{hidden_increase}}% hidden price increase**.
{{else}}
No new shrinkflation detected on your products this week.
{{/if}}
---
### 💡 This Week's Tip
{{weekly_tip}}
---
[View your full price dashboard →](#)
You're tracking {{tracked_count}} products across {{store_count}} stores. [Manage your alerts →](#)
— The CartSnitch Team
*You're receiving this because you signed up for CartSnitch price alerts. [Unsubscribe](#) | [Update preferences](#)*
+117
View File
@@ -0,0 +1,117 @@
---
title: "Email Welcome Sequence — 3-Email Onboarding"
status: draft
target_date: 2026-04-15
description: "3-email welcome sequence for new email signups: what CartSnitch is, the problem we solve, get notified at launch."
---
# CartSnitch Email Welcome Sequence
## Email 1: Welcome — "Your Grocery Bill Shouldn't Be a Mystery"
**Trigger:** Immediately on signup
**Subject line:** You just took the first step to a transparent grocery bill
**From:** CartSnitch Team <hello@cartsnitch.com>
---
Hey there,
Welcome to CartSnitch. You signed up because you know something's off with your grocery bill. You're right — and we have the data to prove it.
Here's what CartSnitch does in 30 seconds:
- **Tracks every price** you pay at every store, automatically
- **Catches shrinkflation** — when brands shrink the package but keep the price
- **Compares stores** so you know where to shop for the best deals
No scanning barcodes. No manual entry. Just connect your store loyalty account and we do the rest.
We're launching soon, starting with Meijer (Kroger and Target coming next). You're on the list to get early access.
In the meantime, we've been doing some digging. Check out what we found:
→ [Your cereal box lost 2 ounces this year](#)
→ [The incredible shrinking chip bag](#)
More data coming soon. We'll keep you posted.
— The CartSnitch Team
*P.S. Know someone who's frustrated with grocery prices? Forward this email. Every person who sees the data is one more person who can make informed choices.*
---
## Email 2: The Problem — "The $1,400 You're Losing to Shrinkflation"
**Trigger:** 3 days after Email 1
**Subject line:** You're losing $1,400/year to tricks you can't see
**From:** CartSnitch Team <hello@cartsnitch.com>
---
Quick question: do you know how much a gallon of milk cost at your store last month?
Most people don't. And that's the problem.
**The average American family spends $14,000+ per year on groceries.** Even a 10% improvement — knowing when to buy, where to buy, and catching shrinkflation before it eats your budget — saves $1,400 a year.
But here's what makes it hard:
**1. Prices change constantly.** A dozen eggs can swing $2 in a single month. Milk varies by $1-2 between stores a mile apart.
**2. Shrinkflation is invisible.** Your favorite yogurt went from 6 oz to 5.3 oz. Same shelf spot. Same price. Same brand. Less food. This is happening across hundreds of products right now.
**3. You're flying blind.** Retailers have detailed analytics on every price change. You have... a fading memory of what you paid last time.
CartSnitch flips that equation. We give you the same price intelligence retailers have always had.
Here's what that looks like in practice:
→ [The incredible cost of eggs, milk, and yogurt in 2026](#)
→ [Fewer sheets, same price — the household essentials squeeze](#)
We're building this for you. Launch is coming soon, and you'll be among the first to try it.
— The CartSnitch Team
---
## Email 3: Get Ready — "Early Access Is Coming"
**Trigger:** 7 days after Email 1
**Subject line:** Your early access is almost ready
**From:** CartSnitch Team <hello@cartsnitch.com>
---
You signed up a week ago. Since then, we've been crunching numbers and the data keeps getting more interesting.
Here's a taste of what CartSnitch will show you:
**Price comparison:** The same box of Cheerios costs $4.29 at one store and $3.49 at another store 0.3 miles away. CartSnitch shows you both — automatically.
**Shrinkflation alerts:** When that cereal box drops from 18 oz to 15.4 oz, we flag it and calculate your real per-ounce cost increase. No more guessing.
**Price history:** See exactly what you paid for any product, 3 months ago vs. today. Your grocery bill tells a story — CartSnitch helps you read it.
**Here's what to do now:**
1. **Make sure you have a Meijer loyalty account** (Meijer mPerks). That's our launch store. Kroger and Target are coming fast.
2. **Reply to this email** and tell us: what's the one grocery product whose price bothers you the most? We'll prioritize tracking it.
3. **Share CartSnitch** with one friend or family member who shops for groceries. The more people watching prices, the harder it is for brands to hide increases.
We'll email you the moment early access opens. It's soon.
Your grocery bill shouldn't be a mystery. We're almost ready to prove it.
— The CartSnitch Team
*P.S. Missed our shrinkflation reports? Start here: [Your frozen pizza shrank and your ice cream did too](#)*
---
## Sequence Notes
- **Unsubscribe link:** Required in all emails (CAN-SPAM compliance)
- **Mobile-first design:** All emails should render cleanly on mobile — short paragraphs, large CTAs
- **A/B test opportunity:** Subject lines on Email 2 (loss-framing vs. savings-framing)
- **Segmentation:** Once we have signup source data (Reddit vs. blog vs. direct), personalize Email 1 opening line
- **Post-launch update:** After launch, add Email 4 (launch announcement) and Email 5 (first-week tips) to the sequence
+118
View File
@@ -0,0 +1,118 @@
---
title: "CartSnitch FAQ"
status: draft
version: 1.0
last_updated: 2026-03-20
description: "Frequently asked questions about CartSnitch — how it works, data privacy, supported stores, and troubleshooting."
---
# Frequently Asked Questions
---
## General
### What is CartSnitch?
CartSnitch is a free tool that tracks grocery prices, detects shrinkflation, and compares prices across stores. Connect your store loyalty accounts and CartSnitch does the rest — no barcodes, no receipt scanning, no manual entry.
### How does CartSnitch track my prices?
When you connect a store loyalty account (like mPerks, Kroger Plus, or Target Circle), CartSnitch securely accesses your purchase history. It records what you bought, what you paid, and the package size. Over time, this builds a complete picture of your grocery spending.
### What is shrinkflation?
Shrinkflation is when a brand reduces the size or quantity of a product while keeping the price the same (or raising it). A cereal box that was 15 oz last year and 13.5 oz today — at the same price — is shrinkflation. CartSnitch tracks unit prices (price per ounce, per count) to catch this automatically.
### Is CartSnitch free?
Yes. CartSnitch is free to use. No subscription, no trial period, no credit card required.
---
## Stores & Data
### Which stores does CartSnitch support?
Currently: **Meijer**, **Kroger**, and **Target**. We're adding more stores regularly — Walmart, Costco, and Aldi are on the roadmap.
### How do I connect my store account?
Go to **Settings > Connect a Store**, choose your store, and enter the email and password you use for that store's loyalty program. CartSnitch imports your purchase history within minutes. See our [Connecting Your Store Accounts](onboarding/connecting-stores.md) guide for details.
### Can I connect multiple stores?
Yes. Connect as many supported stores as you have accounts for. More stores means better price comparisons and more complete tracking.
### Does CartSnitch work if I don't have a loyalty account?
Not yet. CartSnitch currently requires a store loyalty account to import your purchases. If you don't have one, signing up for mPerks, Kroger Plus, or Target Circle is free and takes a couple of minutes.
---
## Privacy & Security
### Is my store login information safe?
Yes. Your store credentials are encrypted and stored securely. CartSnitch uses them only to access your purchase history — nothing else.
### What data does CartSnitch collect?
CartSnitch collects:
- Your purchase history (items, prices, dates)
- Product information (names, brands, package sizes)
- Price data across stores
CartSnitch does **not** collect:
- Payment methods or credit card numbers
- Personal demographics beyond your account info
- Location data
- Data from any source other than your connected store accounts
### Does CartSnitch sell my data?
No. CartSnitch does not sell, share, or monetize your personal purchase data. Aggregated, anonymized price trends may be used in public-facing content (like our blog posts about shrinkflation), but your individual data is never shared.
### Can I delete my data?
Yes. You can disconnect any store at any time, and you can delete your CartSnitch account entirely. When you delete your account, all of your data is permanently removed.
---
## Features
### How do price alerts work?
Set a target price for any product. CartSnitch monitors prices from your connected stores and notifies you when the price drops to your target or below. See our [Setting Up Price Alerts](onboarding/setting-up-alerts.md) guide.
### How does store comparison work?
For any product, CartSnitch shows you what it costs at each of your connected stores, sorted from cheapest to most expensive. It highlights the best deal and tells you how much you'd save. See our [Comparing Stores](onboarding/comparing-stores.md) guide.
### What are coupons in CartSnitch?
CartSnitch surfaces digital coupons from your connected store accounts. You can browse available deals, see expiration dates, and copy coupon codes — all in one place instead of checking each store's app separately.
### Does CartSnitch work offline?
Yes. CartSnitch is a progressive web app (PWA) that caches your data locally. You can browse your purchase history, check product prices, and view your shopping list even without an internet connection. New data syncs when you're back online.
---
## Troubleshooting
### My purchases aren't showing up.
Some stores take a few hours to make recent purchases available. If you just shopped, check back in a few hours. If it's been more than 24 hours, try disconnecting and reconnecting the store in **Settings > Connect a Store**.
### I can't connect my store account.
Make sure you're using the same email and password you use on the store's website or app. If you recently changed your password, use the new one. If your store uses two-factor authentication, you may need to adjust those settings temporarily.
### The app isn't loading or looks broken.
Try refreshing the page. If you installed CartSnitch to your home screen, try opening it in your browser instead. Clear your browser cache if the issue persists.
### How do I install CartSnitch on my phone?
Visit CartSnitch in your mobile browser. You'll see a prompt to "Add to Home Screen" — tap it and CartSnitch gets its own app icon. No app store download needed.
+93
View File
@@ -0,0 +1,93 @@
---
title: "CartSnitch Launch Announcement — Press Release / Blog Post"
status: draft
last_updated: 2026-03-18
description: "Launch announcement template for press release distribution and blog publication. Dual-format: blog version and press release version."
---
# Launch Announcement
## Blog Version
---
### CartSnitch Is Here: Track Your Grocery Prices, Catch Shrinkflation, Save Money
Your grocery bill went up 25% since 2020. But the sticker price only tells half the story.
Over the past year, we tracked 10,000+ grocery products across 12 retail chains. We found 847 products that shrank — same price, less product. That's a hidden 10-15% price increase that doesn't appear in any inflation statistic. Your receipt doesn't show it. Your store's app doesn't flag it. Nobody tells you.
Today, we're changing that. **CartSnitch is now available for early access.**
#### What CartSnitch does
CartSnitch connects to your store loyalty account and gives you complete visibility into your grocery spending:
- **Price history** — See exactly what every product cost last week, last month, last year. No guessing.
- **Shrinkflation detection** — We track package sizes and unit prices. When a brand shrinks the product, we flag it immediately.
- **Store comparison** — The same item can cost $2 more at a store 5 minutes away. We show you where the deals are.
- **Price alerts** — Set a target price, get notified when it drops. Buy on your terms, not theirs.
- **Purchase history** — Every purchase, every store, searchable and organized.
No barcodes to scan. No receipts to photograph. No manual entry. Connect your loyalty account and CartSnitch handles the rest.
#### Why we built this
Retailers have sophisticated systems tracking every price change, promotion, and package adjustment in real time. Consumers have a fading memory of what they paid last time.
That data asymmetry costs the average family hundreds of dollars a year. Not because people are careless — because they literally don't have access to the information they'd need to make better decisions.
CartSnitch gives consumers the same price intelligence that retailers have always had.
#### The numbers
- **$14,000** — What the average US family spends on groceries annually
- **25%** — Grocery price increase since January 2020
- **847** — Products in our database that shrank in the past 12 months
- **$336/year** — Potential savings from buying the same items at the cheapest store
#### Get started
CartSnitch is launching with Meijer support in Southeast Michigan. Kroger and Target are coming within weeks.
[Sign up for early access](#) — it's free, and you'll be the first to see your real grocery costs.
---
## Press Release Version
---
**FOR IMMEDIATE RELEASE**
### CartSnitch Launches Free Grocery Price Tracking Tool to Combat Shrinkflation and Price Opacity
*Consumer advocacy app automatically tracks purchase prices, detects package shrinkage, and compares stores — starting with Meijer in Southeast Michigan*
**[City, State] — [Date]** — CartSnitch today announced the launch of its free grocery price tracking application, designed to give consumers real-time visibility into grocery price changes, shrinkflation, and cross-store price differences.
The tool connects to shoppers' existing store loyalty accounts to automatically track prices for every product purchased. CartSnitch's analysis of over 10,000 products across 12 retail chains found that 847 products experienced shrinkflation — reduced package sizes at the same or higher prices — in the past 12 months, representing a hidden 10-15% cost increase invisible to consumers.
"Grocery prices have increased 25% since 2020, but the real cost to families is even higher when you account for shrinkflation," said [spokesperson]. "CartSnitch exists to close the information gap between retailers and consumers. The same data that helps stores optimize pricing should be available to the people paying those prices."
**Key features include:**
- **Automatic price tracking** via connected store loyalty accounts — no manual entry
- **Shrinkflation detection** with unit price monitoring and real-time alerts
- **Store-by-store price comparison** for identical products
- **Price drop alerts** with user-defined target pricing
- **Complete purchase history** with search and trend analysis
CartSnitch estimates that families who use cross-store price comparison for common items can save an average of $336 per year. Combined with shrinkflation awareness and price-timing optimization, total savings potential ranges from $500-$1,400 annually.
The application launches with Meijer integration in Southeast Michigan, with Kroger and Target support expected within weeks. Additional retailers including Walmart, Costco, and Aldi are on the development roadmap.
CartSnitch is free to use and requires no credit card. Consumers can sign up for early access at [cartsnitch.com].
**About CartSnitch**
CartSnitch is a consumer advocacy tool that helps shoppers track grocery prices, detect shrinkflation, and make informed purchasing decisions. The company is built on the belief that price transparency should be a right, not a privilege.
**Media Contact:**
press@cartsnitch.com
###
@@ -0,0 +1,125 @@
# CartSnitch Beta Launch Content Calendar
**Beta Launch Date:** April 24, 2026
**Calendar Period:** March 20 May 15, 2026
This calendar coordinates all marketing content across channels — blog, email, social, and in-app — to build awareness and drive activation for the CartSnitch public beta.
---
## Phase 1: Pre-Launch Warmup (March 20 March 31)
**Goal:** Seed organic reach and establish brand voice before the launch sprint begins.
| Date | Channel | Asset | Notes |
|------|---------|-------|-------|
| Mar 24 (Mon) | Blog | [Why We Built CartSnitch](blog/why-we-built-cartsnitch.md) | Founder story; sets authentic tone |
| Mar 25 (Tue) | Twitter | Teaser thread: "We've been quietly tracking grocery prices for a year..." | Link to blog post |
| Mar 26 (Wed) | Reddit | Post to r/Frugal, r/personalfinance — founder intro + blog | Soft intro, no hard sell |
| Mar 28 (Fri) | Email | Welcome sequence finalized in ESP | [welcome-sequence.md](email/welcome-sequence.md) loaded and tested |
| Mar 31 (Mon) | Internal | Brand voice guide reviewed by team | [brand-voice-guide.md](brand-voice-guide.md) |
---
## Phase 2: Content Publishing Sprint (April 1 April 10)
**Goal:** Get SEO and onboarding content live ahead of the launch window.
| Date | Channel | Asset | Notes |
|------|---------|-------|-------|
| Apr 1 (Wed) | Blog | Shrinkflation Series #1: [Cereal](blog/shrinkflation-cereal-2026.md) | Tag: shrinkflation, grocery prices |
| Apr 3 (Fri) | Blog | Shrinkflation Series #2: [Dairy & Eggs](blog/shrinkflation-dairy-eggs-2026.md) | |
| Apr 4 (Sat) | Twitter | Weekly price watch post (template) | [weekly-price-watch-template.md](social/weekly-price-watch-template.md) |
| Apr 7 (Mon) | Blog | Shrinkflation Series #3: [Frozen Food](blog/shrinkflation-frozen-food-2026.md) | |
| Apr 9 (Wed) | Blog | Shrinkflation Series #4: [Household Essentials](blog/shrinkflation-household-essentials-2026.md) | |
| Apr 10 (Thu) | Site | Onboarding guides live on cartsnitch.com/help | [onboarding/](onboarding/) — all 5 guides |
| Apr 10 (Thu) | Site | FAQ published | [faq.md](faq.md) |
---
## Phase 3: Launch Build-Up (April 11 April 17)
**Goal:** Escalate cadence, prime the audience, get ready for screenshots once staging is available.
| Date | Channel | Asset | Notes |
|------|---------|-------|-------|
| Apr 11 (Fri) | Blog | Shrinkflation Series #5: [Snacks & Chips](blog/shrinkflation-snacks-chips-2026.md) | Final in series |
| Apr 12 (Sat) | Twitter | Weekly price watch post | Tag shrinkflation series recap |
| Apr 14 (Mon) | Twitter | Launch countdown thread — "10 days until beta" | Drive waitlist signups |
| Apr 15 (Tue) | Reddit | r/personalfinance launch preview post | [reddit-launch-strategy.md](social/reddit-launch-strategy.md) |
| Apr 17 (Thu) | Site | Screenshots integrated into landing page + blog posts | Depends on staging env (CAR-60); stretch if delayed |
| Apr 17 (Thu) | Email | Pre-launch email to waitlist: "You're almost in" | Tease beta access |
| Apr 17 (Thu) | Internal | Website landing page final review | [website-landing-page.md](website-landing-page.md) |
---
## Phase 4: Launch Week (April 20 April 24)
**Goal:** Maximum visibility on launch day.
| Date | Channel | Asset | Notes |
|------|---------|-------|-------|
| Apr 20 (Mon) | All | Final content audit — all links live, all placeholders resolved | Checklist review |
| Apr 21 (Tue) | Email | "Launch day is Thursday" email to waitlist | Build anticipation |
| Apr 21 (Tue) | Twitter | [Twitter launch strategy](social/twitter-launch-strategy.md) — thread queued and scheduled | |
| Apr 22 (Wed) | Reddit | [Reddit launch post](social/reddit-launch-strategy.md) — drafted and ready to post | Post on launch day |
| **Apr 24 (Thu)** | **ALL** | **🚀 BETA LAUNCH** | |
| Apr 24 (Thu) | Blog | [Launch announcement](launch-announcement.md) published | |
| Apr 24 (Thu) | Twitter | Launch thread goes live | Link to announcement + app |
| Apr 24 (Thu) | Reddit | r/Frugal + r/personalfinance + r/grocery launch posts | |
| Apr 24 (Thu) | Email | Launch email to full waitlist | Welcome + CTA to connect first store |
---
## Phase 5: Post-Launch Nurture (April 25 May 15)
**Goal:** Activate new users, maintain cadence, capture organic search momentum.
| Date | Channel | Asset | Notes |
|------|---------|-------|-------|
| Apr 26 (Sat) | Twitter | First weekly price watch post post-launch | [weekly-price-watch-template.md](social/weekly-price-watch-template.md) |
| Apr 28 (Mon) | Email | First weekly digest to active users | [weekly-digest-template.md](email/weekly-digest-template.md) |
| Apr 30 (Wed) | Email | Shrinkflation alert (triggered) | [shrinkflation-alert-template.md](email/shrinkflation-alert-template.md) — send when first alert fires |
| May 1 (Fri) | Blog | Post-launch reflection / data post (new) | "What we learned in week 1" |
| May 3 (Sat) | Twitter | Weekly price watch #2 | |
| May 5 (Mon) | Email | Weekly digest #2 | |
| May 10 (Sat) | Twitter | Weekly price watch #3 | |
| May 12 (Mon) | Email | Weekly digest #3 | |
| May 15 (Thu) | All | 3-week post-launch content review | Assess engagement, plan next sprint |
---
## Channel Owners
| Channel | Owner | Tool |
|---------|-------|------|
| Blog | Marketing / CMO | GitHub (`content/marketing/blog/`) |
| Email | Marketing | ESP (Mailchimp / Postmark) |
| Twitter | Marketing | Buffer / manual |
| Reddit | Marketing | Manual (no bots) |
| Site pages | Frontend (Frankie) | Deployed via CI |
---
## Dependencies & Risks
| Dependency | Blocker? | Notes |
|------------|----------|-------|
| Staging env with sample data (CAR-60) | Screenshots only | If delayed past Apr 17, screenshots launch without images |
| App Store / PWA listing copy | No (Phase 2+) | Not blocking beta; listed in CAR-114 as stretch |
| SEO comparison articles | No (stretch) | [content/marketing/blog/](blog/) — ongoing |
---
## Asset Index
All content files live under `content/marketing/` in this repo:
- `blog/` — long-form blog posts (SEO)
- `email/` — email templates and sequences
- `onboarding/` — in-app / help center guides
- `social/` — social media strategies and templates
- `launch-announcement.md` — press/blog launch post
- `website-landing-page.md` — landing page copy
- `faq.md` — FAQ / help center
- `brand-voice-guide.md` — tone, style, persona
@@ -0,0 +1,57 @@
---
title: "Comparing Stores"
status: draft
version: 1.0
last_updated: 2026-03-20
description: "How to use CartSnitch's store comparison feature to find the best prices."
---
# Comparing Stores
The same item at two different stores can differ by $1-2 on any given day. CartSnitch's store comparison shows you exactly where each product costs less — so you can make smarter choices about where to shop.
---
## How to Compare
1. Go to **Products** and find the item you want to compare
2. Tap the product to open its detail page
3. Tap **Compare Stores**
CartSnitch shows every connected store that carries the product, sorted from cheapest to most expensive.
`[SCREENSHOT PLACEHOLDER: Store comparison page for a product showing Meijer, Kroger, and Target prices sorted by lowest first]`
---
## What the Comparison Shows
For each store, you'll see:
- **Store name and icon**
- **Current price**
- **Last updated date** — when CartSnitch last saw this price
- **Best price highlight** — the cheapest option gets a green border
If there's a meaningful price difference, a savings banner appears at the top: "Save $1.47 by shopping at Meijer."
---
## Getting the Most Out of Comparisons
**Compare your regulars.** The biggest savings come from items you buy every week. A $0.30 difference on eggs doesn't feel like much once, but over a year that's $15 — and it adds up across your whole cart.
**Check before you shop.** Before heading out, search for the 5-10 items on your list and compare. You might find that this week, Kroger beats Meijer on dairy but Meijer wins on produce. A quick check takes 2 minutes and can save you $5-10 per trip.
**Connect multiple stores.** Store comparison works best when you have at least two stores connected. The more stores you link, the more comparison data CartSnitch can show.
---
## Why Prices Differ
Store pricing is complicated. Factors include:
- **Regional pricing** — the same chain can charge different amounts in different zip codes
- **Loss leaders** — stores intentionally underprice certain items (like milk or bananas) to get you in the door
- **Promotions and sales cycles** — most grocery items rotate through sales every 6-8 weeks
- **Store brand vs. national brand** — store brands are typically 20-30% cheaper for equivalent products
CartSnitch tracks all of this so you can see the patterns without doing the research yourself.
@@ -0,0 +1,72 @@
---
title: "Connecting Your Store Accounts"
status: draft
version: 1.0
last_updated: 2026-03-20
description: "Step-by-step guide for linking Meijer, Kroger, and Target loyalty accounts to CartSnitch."
---
# Connecting Your Store Accounts
CartSnitch pulls your purchase history directly from your store loyalty accounts. No receipt photos, no barcode scanning — just your existing login credentials.
---
## Supported Stores
| Store | Loyalty Program | What CartSnitch Imports |
|---|---|---|
| **Meijer** | mPerks | Purchase history, item prices, digital coupons |
| **Kroger** | Kroger Plus | Receipts, item prices, digital coupons |
| **Target** | Target Circle | Purchase history, deals |
More stores are on the roadmap (Walmart, Costco, Aldi). Request yours in the app.
---
## How to Connect
1. Open CartSnitch and go to **Settings**
2. Tap **Connect a Store**
3. Choose your store (Meijer, Kroger, or Target)
4. Enter the email and password you use for that store's loyalty program
5. Tap **Connect**
CartSnitch will verify your credentials and start importing your purchases. This usually takes under a minute for your recent history.
`[SCREENSHOT PLACEHOLDER: Account Linking page showing Meijer connected, Kroger connected, and Target available to connect]`
---
## What We Access (and What We Don't)
**We access:**
- Your purchase history (what you bought, when, and how much you paid)
- Item prices and package sizes
- Digital coupon availability
**We never access:**
- Payment methods or credit card numbers
- Personal information beyond what's needed to log in
- Your store account settings or loyalty points balance
Your store credentials are encrypted and stored securely. CartSnitch never shares your data with third parties.
---
## Disconnecting a Store
Changed your mind? Go to **Settings > Connect a Store**, find the connected store, and tap **Disconnect**. CartSnitch stops importing new data immediately. Your existing purchase history in CartSnitch remains available unless you delete your account.
---
## Troubleshooting
**"Connection failed" error**
Double-check that you're using the same email and password you use to log into the store's website or app. If you recently changed your store password, use the new one.
**Purchases aren't showing up**
Some stores take a few hours to make recent purchases available through their systems. If you just shopped, check back later. If it's been more than 24 hours, try disconnecting and reconnecting the store.
**Two-factor authentication**
If your store account uses two-factor authentication, you may need to temporarily adjust your security settings to connect. We're working on native 2FA support.
@@ -0,0 +1,95 @@
---
title: "Getting Started with CartSnitch"
status: draft
version: 1.0
last_updated: 2026-03-20
description: "First-time user onboarding guide — from signup to first savings insight."
---
# Getting Started with CartSnitch
Welcome to CartSnitch. Here's how to go from zero to tracking your grocery prices in about two minutes.
---
## Step 1: Create Your Account
Open CartSnitch and tap **Create Account**. Enter your name, email, and a password. That's it — no credit card, no subscription, no trial period.
Once you're in, you'll land on your dashboard. It'll be empty for now. That changes fast.
---
## Step 2: Connect a Store
This is where CartSnitch gets useful. Head to **Settings > Connect a Store** and link at least one loyalty account:
- **Meijer** — your mPerks account
- **Kroger** — your Kroger Plus account
- **Target** — your Target Circle account
CartSnitch uses your store credentials to pull your purchase history automatically. No receipt scanning. No barcode swiping. Your past purchases start appearing within minutes.
For detailed instructions, see the [Connecting Your Store Accounts](connecting-stores.md) guide.
---
## Step 3: Explore Your Dashboard
Once a store is connected, your dashboard comes to life:
- **Recent purchases** — your last few shopping trips, pulled directly from your store account
- **Price trends** — sparkline charts showing how prices are moving on everyday items like eggs and milk
- **Triggered alerts** — if any prices you're watching have dropped, you'll see it right at the top
`[SCREENSHOT PLACEHOLDER: Authenticated dashboard showing recent purchases, sparkline charts, and alert banner]`
---
## Step 4: Set Up a Price Alert
Spot something you buy regularly? Set a price alert so CartSnitch tells you when the price drops.
1. Go to **Products** and search for the item
2. Tap the product to see its price history
3. Tap **Set Alert** and enter your target price
4. CartSnitch notifies you the moment it hits
For the full walkthrough, see [Setting Up Price Alerts](setting-up-alerts.md).
---
## Step 5: Compare Stores
If you've connected more than one store, you can compare prices side by side. On any product page, tap **Compare Stores** to see where it costs less.
CartSnitch highlights the cheapest option and tells you exactly how much you'd save by switching stores.
See the [Comparing Stores](comparing-stores.md) guide for details.
---
## What Happens Next
CartSnitch keeps working in the background. Every time you shop, your new purchases are imported automatically. Prices are tracked. Shrinkflation is flagged. You don't need to do anything — just shop like you normally would and check in when you want to see what's changed.
---
## Quick Reference
| Feature | Where to find it |
|---|---|
| Connect a store | Settings > Connect a Store |
| View purchases | Purchases tab |
| Search products | Products tab |
| Set price alerts | Product detail > Set Alert |
| Compare stores | Product detail > Compare Stores |
| Browse coupons | Coupons tab |
---
## Installing CartSnitch on Your Phone
CartSnitch is a web app that works like a native app on your phone. When you visit CartSnitch in your mobile browser, you'll see an "Add to Home Screen" prompt. Tap it, and CartSnitch gets its own icon on your home screen — no app store download needed.
It works offline too, so you can check prices and your shopping list even when you're in a store with spotty reception.
@@ -0,0 +1,67 @@
---
title: "Reading Your Dashboard"
status: draft
version: 1.0
last_updated: 2026-03-20
description: "Guide to understanding your CartSnitch dashboard — purchases, price trends, and alerts at a glance."
---
# Reading Your Dashboard
Your dashboard is your home base. It gives you a quick read on what's happening with your grocery spending without digging through menus.
---
## What You'll See
### Triggered Alerts Banner
If any of your price alerts have fired, a green banner appears at the top of the dashboard. It tells you how many alerts triggered and links directly to the Alerts page. This is your "time to buy" signal.
### Price Trend Sparklines
Small charts that show recent price movement for key items. These aren't detailed analyses — they're quick visual checks. Is the line going up or down? That's what they're for.
Each sparkline shows:
- **The product name** (e.g., "Large Eggs — Meijer")
- **The current price**
- **A trend line** over recent data points
`[SCREENSHOT PLACEHOLDER: Dashboard sparkline cards showing egg and milk price trends with current prices]`
### Recent Purchases
The last three shopping trips from your connected stores. Each card shows:
- **Store name and icon**
- **Date** of the purchase
- **Total spent**
- **Number of items**
Tap any purchase to see the full receipt breakdown with individual item prices.
### Quick Actions
Links to the features you'll use most:
- **Products** — search and browse tracked products
- **Alerts** — manage your price watches
- **Coupons** — see available deals from your stores
---
## When You First Sign Up
The dashboard starts empty. That's normal — it fills in as soon as you connect a store account. Within minutes of connecting, you'll see your purchase history and price data start flowing in.
If you've connected a store but the dashboard is still empty after 15 minutes, try pulling down to refresh, or check **Settings > Connect a Store** to verify the connection status.
---
## Dashboard vs. Other Pages
The dashboard is the summary. For deep dives:
- **Purchases** gives you your full purchase history with search and filters
- **Products** lets you explore individual product prices and history
- **Alerts** shows all your price watches in detail
- **Coupons** lists available deals from your connected stores
Think of the dashboard as the headlines. The other pages are the full articles.
@@ -0,0 +1,58 @@
---
title: "Setting Up Price Alerts"
status: draft
version: 1.0
last_updated: 2026-03-20
description: "How to create, manage, and use price alerts in CartSnitch."
---
# Setting Up Price Alerts
Price alerts let you set a target price for any product. When the price drops to your target (or below), CartSnitch notifies you. It's the easiest way to stock up when prices are right.
---
## Creating an Alert
1. Go to **Products** and search for the item you want to watch
2. Tap the product to open its detail page
3. Tap the **+ New Alert** button
4. Select the store you want to watch (or all stores)
5. Enter your target price — this is the price at or below which you want to be notified
6. Tap **Create Alert**
That's it. CartSnitch checks prices automatically and notifies you when your target is hit.
`[SCREENSHOT PLACEHOLDER: Price Alerts page showing triggered alerts at top and watching alerts below, with + New Alert button]`
---
## How Alerts Work
CartSnitch tracks prices from your connected stores. When a price update comes in that matches or beats your target, the alert triggers.
Triggered alerts show up in two places:
- **Your dashboard** — a green banner at the top shows how many alerts have fired
- **The Alerts page** — triggered alerts are separated from active watches so you can see what's ready to act on
---
## Managing Your Alerts
### Viewing alerts
Go to the **Alerts** tab to see all your alerts. They're grouped into:
- **Triggered** — prices have hit your target. Time to buy.
- **Watching** — still waiting for the price to drop.
### Deleting an alert
Tap any alert card and hit **Delete** to remove it. You can always create a new one later.
---
## Tips for Better Alerts
**Use price history to set realistic targets.** Before creating an alert, check the product's price history chart. If eggs have bounced between $3.49 and $4.99 over the past six months, a target of $3.49 is realistic. A target of $1.99 probably isn't.
**Watch staples, not impulse buys.** Alerts are most valuable for things you buy every week — milk, eggs, bread, chicken. A $0.50 savings on something you buy 50 times a year is $25 back in your pocket.
**Set alerts across stores.** If you've connected multiple stores, set the alert to watch all of them. The same product can vary by $1-2 between stores on any given week.
@@ -0,0 +1,84 @@
# Reddit Launch Strategy — CartSnitch
## Goal
Establish CartSnitch as the go-to data source for price tracking and shrinkflation detection on Reddit. Build trust first, promote second.
## Target Subreddits
### Tier 1 — Primary (launch week)
| Subreddit | Members | Why | Approach |
|---|---|---|---|
| r/shrinkflation | 200K+ | Core audience. Already angry, wants data. | Share CartSnitch findings as useful data posts, not ads. |
| r/personalfinance | 18M+ | Budget-conscious users seeking tools | Helpful comments on grocery budget threads, link blog posts when relevant. |
| r/grocery | 50K+ | Direct audience — people who shop and compare | Price comparison posts, store-vs-store data. |
### Tier 2 — Secondary (weeks 2-4)
| Subreddit | Members | Why | Approach |
|---|---|---|---|
| r/Frugal | 2.5M+ | Deal seekers, budget optimizers | "Here's data showing which stores are cheapest for X" |
| r/EatCheapAndHealthy | 3M+ | Overlap with grocery budget audience | Data on which staples have risen most, where to find deals |
| r/povertyfinance | 800K+ | Fixed-income shoppers hit hardest by inflation | Empathetic, data-driven posts about how to stretch grocery dollars |
### Tier 3 — Opportunistic
- r/Costco, r/aldi, r/traderjoes — Store-specific subs for targeted price data
- r/news, r/economics — When price data is newsworthy
- r/dataisbeautiful — Visualizations of price trends (high viral potential)
## Content Types
### 1. Data drops (weekly)
Post format: "[CartSnitch Data] Title describing the finding"
Example:
> **[Data] Your box of Cheerios has lost 2.4 oz since 2023. Price hasn't changed.**
>
> We tracked 847 products across 12 major grocery chains. Here are the worst shrinkflation offenders this month: [table with data]
>
> Full methodology and data: [link to blog post]
Rules:
- Always lead with the data, not the product pitch
- Include methodology notes
- Respond to every comment in the first 2 hours
- Never be defensive — if someone questions the data, thank them and address it
### 2. Store comparison posts (biweekly)
> **We compared prices for a 20-item grocery basket across 6 chains in [City]. Here's what we found.**
### 3. Helpful comments (daily)
Monitor relevant threads for questions like:
- "Has anyone else noticed X got more expensive?"
- "Which store has the best prices for Y?"
- "Is inflation really that bad for groceries?"
Reply with data. Link to CartSnitch only when directly relevant.
### 4. AMA (month 2)
Host an AMA on r/shrinkflation or r/personalfinance once we have 30 days of data and some traction.
## Rules of Engagement
1. **No astroturfing.** Every post from CartSnitch account is clearly from CartSnitch. No fake accounts.
2. **Data first, always.** Every claim has a source. If we don't have data, we say so.
3. **Respect subreddit rules.** Read each sub's rules before posting. If self-promotion isn't allowed, engage in comments only.
4. **Don't argue.** If someone disagrees with our data, engage constructively or disengage. Never get into flame wars.
5. **Give credit.** When community members spot shrinkflation first, acknowledge them.
6. **Be useful even without CartSnitch.** Our comments should be valuable whether or not the reader ever uses our product.
## Success Metrics (First 30 Days)
- 10+ data posts across Tier 1 subreddits
- 50+ helpful comments on relevant threads
- 500+ combined upvotes on data posts
- 100+ users visiting CartSnitch from Reddit (UTM tracked)
- 0 posts removed for self-promotion (measure of trust-building)
## Account Setup
- Username: u/CartSnitch or u/CartSnitch_Official
- Profile: "We track grocery prices so you don't have to. Data-driven price transparency."
- First post should be on r/shrinkflation with a compelling data finding, not a launch announcement
@@ -0,0 +1,255 @@
---
title: "CartSnitch Social Media Strategy"
status: draft
last_updated: 2026-03-18
description: "Consolidated social strategy: platform selection, posting cadence, content themes, and 10 draft posts ready for launch."
---
# CartSnitch Social Media Strategy
## Platform Priority (Ranked)
1. **Reddit** — Our #1 channel. Data-driven content performs best here. Target subreddits: r/personalfinance, r/Frugal, r/grocery, r/shrinkflation, r/dataisbeautiful. See [reddit-launch-strategy.md](reddit-launch-strategy.md) for detailed playbook.
2. **Twitter/X** — Our real-time data channel. Weekly price threads, shrinkflation spotlights, store comparisons. See [twitter-launch-strategy.md](twitter-launch-strategy.md) for detailed playbook.
3. **SEO Blog** — Long-form content hub. Shrinkflation case studies, price trend analysis, seasonal buying guides. Drives organic search traffic. See `/content/blog/` for published drafts.
4. **TikTok** (Phase 2) — Short-form video: "I tracked the price of X for 6 months, here's what happened." Defer until we have real product screenshots and data visualizations.
5. **Email** — Retention and re-engagement. Welcome sequence live, weekly digest planned. See `/content/email/` for templates.
## Content Themes
| Theme | Description | Frequency | Primary Channel |
|---|---|---|---|
| **Weekly Price Watch** | Biggest grocery price moves of the week | Weekly (Mon) | Twitter, Blog |
| **Shrinkflation Spotlight** | Before/after product comparisons with data | 2-3x/week | Twitter, Reddit |
| **Store vs. Store** | Same-basket price comparison across retailers | Weekly (Thu) | Twitter, Reddit |
| **Data Deep Dive** | Charts, trends, analysis on grocery pricing | Weekly | Blog, Reddit |
| **Consumer Tips** | Actionable advice for saving on groceries | 1-2x/week | Reddit, Email |
## Posting Cadence
| Day | Twitter/X | Reddit | Blog |
|---|---|---|---|
| Monday | Price Watch thread (8am ET) | — | — |
| Tuesday | Shrinkflation spotlight (12pm) | r/shrinkflation post | — |
| Wednesday | Engagement/replies | Community engagement | Blog post |
| Thursday | Store comparison (8am) | r/Frugal or r/personalfinance | — |
| Friday | Shrinkflation spotlight (12pm) | — | — |
| Saturday | Data visualization (10am) | r/dataisbeautiful | — |
| Sunday | — | Community engagement | — |
## Metrics to Track
- **Reddit:** Upvotes, comment engagement, subscriber growth on r/shrinkflation
- **Twitter/X:** Impressions, retweets, follower growth, thread completion rate
- **Blog:** Organic search traffic, time on page, email signup conversion
- **Cross-channel:** Email list growth rate, early access signups from social referrals
---
# 10 Draft Posts for Launch
## Post 1 — Twitter Launch Thread
**Platform:** Twitter/X
**Type:** Thread (6 tweets)
> 1/ We tracked 10,000+ grocery products across 12 chains for the past year.
>
> Here's what we found about your grocery bill. 🧵
>
> 2/ The average family spends $14,000/year on groceries. Prices are up 25% since 2020.
>
> But the sticker price is only half the story.
>
> 3/ We found 847 products that shrank in the past 12 months — same price, less product.
>
> That's a hidden 10-15% price increase that doesn't show up in any inflation stat.
>
> 4/ Biggest offenders by category:
> - Cereal: avg 1.5 oz smaller per box
> - Chips: avg 0.75 oz less per bag
> - Ice cream: 1.75 qt → 1.5 qt industry-wide
> - Toilet paper: 50-100 fewer sheets per roll
>
> 5/ Same basket of 10 items, same brands, different store:
> Walmart: $67.42
> Kroger: $71.18
> Target: $73.90
>
> That's a $6.48 difference for 10 minutes of driving.
>
> 6/ We built CartSnitch to make all of this visible.
>
> Connect your store loyalty account → we track every price, catch shrinkflation, and show you where to save.
>
> Free. No barcodes. No manual entry.
>
> Sign up for early access: [link]
---
## Post 2 — Reddit Data Post
**Platform:** Reddit (r/personalfinance)
**Type:** Text post
> **Title:** I tracked the price of 15 grocery staples at 3 stores for 6 months. Here's what I found.
>
> I've been tracking grocery prices since last September. Here's the data for 15 items I buy every week at Meijer, Kroger, and Target.
>
> **Key findings:**
> - Eggs were the most volatile: $2.89 to $4.89 at the same store in 6 months
> - Kroger was cheapest for dairy, Meijer for meat, Target for pantry staples
> - 4 of 15 items experienced shrinkflation — same price, smaller package
> - Buying the cheapest-store option for each item (instead of one-stop shopping) would save $47/month
>
> I'm building a tool that does this tracking automatically. Happy to share more data if anyone's interested.
---
## Post 3 — Shrinkflation Spotlight
**Platform:** Twitter/X
**Type:** Single tweet
> That box of Cheerios?
>
> 2021: 15 oz — $4.29
> 2024: 13.5 oz — $4.79
>
> The price went up 12%.
> The amount went down 10%.
>
> Your real cost increase: 24%.
>
> This is shrinkflation, and it's on 847+ products we've tracked.
---
## Post 4 — Store Comparison
**Platform:** Twitter/X
**Type:** Single tweet with image
> Same 10 items. Same brands. Same sizes. Three stores.
>
> 🏪 Walmart: $67.42
> 🏪 Kroger: $71.18
> 🏪 Target: $73.90
>
> You could save $336/year just by knowing where to buy each item.
>
> We're building a tool that does this automatically. Follow for weekly comparisons.
---
## Post 5 — Reddit Shrinkflation Post
**Platform:** Reddit (r/shrinkflation)
**Type:** Image + text post
> **Title:** I compiled data on 847 products that shrank in the past 12 months. Here are the worst offenders.
>
> Been building a grocery price tracker and decided to dig into shrinkflation data. Tracked 10,000+ products across 12 retail chains.
>
> **Top 5 categories by shrinkflation rate:**
> 1. Ice cream — nearly industry-wide (1.75 qt → 1.5 qt)
> 2. Cereal — 62% of tracked brands reduced box size
> 3. Snack chips — avg 0.75 oz reduction per bag
> 4. Paper products — fewer sheets per roll across major brands
> 5. Frozen meals — portion sizes down 8-12%
>
> The worst part: none of this shows up in official inflation numbers. CPI tracks price per item, not price per unit.
>
> Full dataset in comments if anyone wants to dig in.
---
## Post 6 — Consumer Tip
**Platform:** Reddit (r/Frugal)
**Type:** Text post
> **Title:** PSA: Check the unit price, not the sticker price. Here's why it matters more than ever.
>
> I've been tracking grocery prices for 6 months and the single biggest thing I've learned: the sticker price is misleading.
>
> Example: Brand A cereal is $4.29 for 13.5 oz ($0.318/oz). Brand B is $4.99 for 18 oz ($0.277/oz). Brand B looks more expensive but it's actually 13% cheaper per ounce.
>
> This matters even more now because of shrinkflation. When brands reduce package sizes, the sticker price stays the same but the unit price goes up.
>
> Some stores make unit prices easy to find on shelf tags. Others don't. Worth checking every time.
---
## Post 7 — Weekly Price Watch
**Platform:** Twitter/X
**Type:** Thread (4 tweets)
> 1/ **CartSnitch Price Watch — Week of [date]**
>
> Biggest grocery price moves this week:
>
> 2/ 📈 UP:
> - Eggs +8% at Kroger ($4.89/doz)
> - Ground beef +5% at Target ($5.49/lb)
> - Butter +3% at Meijer ($4.29/lb)
>
> 3/ 📉 DOWN:
> - Chicken breast -12% at Walmart ($2.99/lb)
> - Canned tomatoes -7% at Kroger ($1.19/can)
> - Frozen pizza -10% at Meijer (DiGiorno $5.99)
>
> 4/ 🔍 Shrinkflation alert:
> [Brand] [Product] went from X oz to Y oz this week. Same price. That's a Z% hidden increase.
>
> Follow for weekly updates. We track so you don't have to.
---
## Post 8 — Data Visualization
**Platform:** Twitter/X + Reddit (r/dataisbeautiful)
**Type:** Image post with chart
> **The incredible shrinking cereal box: 15 years of data**
>
> [CHART PLACEHOLDER: Line chart showing average cereal box size (oz) from 2010-2026, declining from ~17 oz to ~13.5 oz, with price overlay showing steady increase]
>
> Cereal boxes have lost an average of 3.5 oz since 2010. Prices are up 40% in the same period.
>
> Your cost per ounce has nearly doubled.
---
## Post 9 — Egg Price Volatility
**Platform:** Twitter/X
**Type:** Single tweet
> Egg prices in the past 12 months at one store:
>
> Mar 2025: $2.89
> Jun 2025: $3.49
> Sep 2025: $4.89
> Dec 2025: $3.19
> Mar 2026: $4.29
>
> That's a $2.00 swing. If you buy 2 dozen/month, timing alone saves you $48/year.
>
> Imagine knowing the best week to buy. That's what we're building.
---
## Post 10 — Launch Announcement
**Platform:** Twitter/X + Reddit
**Type:** Announcement
> **CartSnitch is almost here.**
>
> Connect your store loyalty account. We track every price, every product, every store — automatically.
>
> ✓ Price history for everything you buy
> ✓ Shrinkflation alerts
> ✓ Store-by-store comparison
> ✓ Price drop notifications
>
> Free. No barcodes. No manual entry.
>
> Early access opening soon. Link in bio.
@@ -0,0 +1,107 @@
# Twitter/X Launch Strategy — CartSnitch
## Goal
Build @CartSnitch as the account people follow for grocery price data. Make price trends shareable.
## Account Setup
- Handle: @CartSnitch
- Display name: CartSnitch
- Bio: "Tracking grocery prices so you don't have to. Shrinkflation detector. Price data you can actually use. 🛒📉"
- Pinned tweet: Launch thread (see below)
- Header image: Clean data visualization showing a price trend
## Content Pillars
### 1. Weekly Price Watch (flagship series)
Post every Monday morning. Thread format.
> **CartSnitch Price Watch — Week of March 17**
>
> Biggest grocery price moves this week:
>
> 📈 Eggs up 8% at Kroger (now $4.89/doz)
> 📉 Chicken breast down 12% at Walmart ($2.99/lb)
> 🔍 Shrinkflation alert: [Brand] [Product] lost X oz
>
> Full breakdown: [link]
### 2. Shrinkflation Spotlights (2-3x/week)
Single-tweet format with before/after comparison data.
> That bag of Doritos? 9.25 oz in 2022. 9 oz today. Same price.
>
> CartSnitch tracked 47 Frito-Lay products. 31 have shrunk since 2022.
>
> The data: [link]
### 3. Store vs. Store (weekly)
Side-by-side price comparison. Highly shareable.
> Same basket. Same brands. Different store.
>
> Walmart: $67.42
> Kroger: $71.18
> Target: $73.90
>
> The 10-item list and full price breakdown ⬇️
### 4. Data Visualizations (weekly)
Charts and graphs showing price trends. Target r/dataisbeautiful crosspost potential.
### 5. Response/Newsjacking
When grocery prices hit the news, reply with CartSnitch data.
> [Quote tweet of news about egg prices]
> Here's what our data shows across 12 chains in 8 cities: [chart]
## Posting Schedule
| Day | Content | Time (ET) |
|---|---|---|
| Monday | Price Watch thread | 8:00 AM |
| Tuesday | Shrinkflation spotlight | 12:00 PM |
| Wednesday | Engagement/replies | Throughout day |
| Thursday | Store comparison | 8:00 AM |
| Friday | Shrinkflation spotlight | 12:00 PM |
| Weekend | Data visualization + community engagement | 10:00 AM Sat |
## Launch Sequence (Week 1)
**Day 1:**
Thread: "We built CartSnitch because your grocery receipt tells a story most people miss. Here's what we found when we tracked 10,000+ products across 12 chains."
- Tweet 1: Hook (biggest finding)
- Tweet 2-4: Three data points that make people go "wait, really?"
- Tweet 5: What CartSnitch does (one sentence)
- Tweet 6: CTA — follow for weekly data, link to blog
**Day 2-3:** Individual shrinkflation spotlights (best ones from case studies)
**Day 4:** First store comparison post
**Day 5:** Engage with anyone who replied to launch thread
## Voice on Twitter
- Shorter than blog. More personality.
- Data screenshot > text wall
- Use numbers, not adjectives ("up 23%" not "skyrocketing")
- Okay to be a little snarky about corporate price tricks
- Never punch down at consumers. Never political.
- Reply to everyone in the first week
## Growth Tactics
1. **Quote-tweet relevant news** with CartSnitch data (not opinions)
2. **Engage with personal finance and grocery accounts** — reply with data when relevant
3. **Tag brands directly** when sharing shrinkflation data (they'll sometimes respond, driving engagement)
4. **Cross-post best data visualizations** to Reddit
5. **Threads over single tweets** for complex data stories — algorithm favors them
## Success Metrics (First 30 Days)
- 500+ followers
- 20+ data posts
- 5+ threads with 50+ retweets
- 200+ link clicks to blog/site (UTM tracked)
- 1+ quote tweet or reply from a brand
@@ -0,0 +1,79 @@
---
title: "Weekly Price Watch — Social Template"
status: draft
platform: Twitter/X
cadence: weekly (starting April 5)
description: "Template for weekly price data threads on Twitter/X"
---
# Weekly Price Watch Thread Template
## Format
Twitter/X thread, 4-6 tweets, posted every Thursday at 11am ET.
## Thread Structure
### Tweet 1 (Hook)
🔍 CartSnitch Price Watch — Week of [DATE]
[NUMBER] products tracked. Here's what moved this week.
🧵👇
### Tweet 2 (Biggest price increase)
📈 Biggest increase this week:
[PRODUCT] at [STORE]
Was: $[OLD PRICE]
Now: $[NEW PRICE]
Change: +[PERCENT]%
[One-line commentary — data-driven, not sensational]
### Tweet 3 (Shrinkflation catch)
📦 Shrinkflation alert:
[BRAND PRODUCT] quietly went from [OLD SIZE] to [NEW SIZE].
Same price. [PERCENT]% less product.
Your per-[unit] cost just went up [PERCENT]% — and it's not on your receipt.
### Tweet 4 (Best deal found)
💰 Best deal we spotted:
[PRODUCT] at [STORE]: $[PRICE] ($[UNIT PRICE]/oz)
vs. [STORE B]: $[PRICE B] ($[UNIT PRICE B]/oz)
Same product. [DISTANCE] apart. $[SAVINGS] savings.
### Tweet 5 (Trend observation)
📊 Trend of the week:
[Category] prices are [up/down] [PERCENT]% across [NUMBER] stores we track.
[One sentence of context from public data — BLS, USDA, or manufacturer data]
### Tweet 6 (CTA)
Want to track your own grocery prices automatically?
CartSnitch launches soon. Sign up for early access: [LINK]
Your grocery bill shouldn't be a mystery.
---
## Tone Guidelines
- Lead with data, not outrage
- One surprising fact per tweet
- Use specific numbers (not "prices went up" but "$4.29 → $5.49")
- Okay to be wry ("Same price. Less cereal. Classic.") but never fear-mongering
- Always link to sources when citing external data
## Pre-Launch Adaptation
Before we have our own data, use public sources:
- BLS Average Price Data (monthly)
- USDA Food Price Outlook (quarterly)
- r/shrinkflation community reports (weekly)
- Manufacturer product page changes (ongoing)
Post-launch, these threads will pull directly from CartSnitch price tracking data.
+144
View File
@@ -0,0 +1,144 @@
---
title: "Website Landing Page Copy"
status: draft
last_updated: 2026-03-18
description: "Homepage copy for cartsnitch.com — headline, value props, feature descriptions, CTA text. Screenshot placeholders included."
---
# CartSnitch Landing Page Copy
---
## Hero Section
**Headline:**
Your grocery bill shouldn't be a mystery.
**Subheadline:**
CartSnitch tracks every price you pay, catches shrinkflation before it eats your budget, and shows you where to save. No barcodes. No manual entry. Just connect your store account.
**Primary CTA:** Get Early Access
**Secondary CTA:** See How It Works
`[SCREENSHOT PLACEHOLDER: App dashboard showing price tracking overview with a clear price trend line]`
---
## Problem Section
**Section Header:** You're paying more. You just can't prove it.
Grocery prices are up 25% since 2020. But it's worse than that — brands are quietly shrinking packages while keeping prices the same. Your cereal box lost 2 ounces. Your chip bag has more air and less product. Your ice cream container went from 1.75 quarts to 1.5.
Your receipt doesn't show any of this. CartSnitch does.
---
## Feature Blocks
### 1. Price History for Every Product
**Headline:** Know exactly what you paid — and when it changed.
See the complete price history of every product you buy. No guessing. No forgetting. Just a clear timeline of what that gallon of milk actually cost over the past 6 months.
`[SCREENSHOT PLACEHOLDER: Price history chart for a single product showing price changes over time]`
### 2. Shrinkflation Detection
**Headline:** Same price. Less product. We catch it.
When a brand shrinks the package but keeps the sticker price, CartSnitch flags it. We track unit prices — price per ounce, per count, per sheet — so you see the real cost, not the one on the shelf tag.
`[SCREENSHOT PLACEHOLDER: Shrinkflation alert showing before/after package size with per-unit price comparison]`
### 3. Store Comparison
**Headline:** The same item at two stores can differ by $2. We show you where.
CartSnitch compares prices across your local stores so you can see exactly where your regular items cost less. Same brand, same size — different price. Now you know.
`[SCREENSHOT PLACEHOLDER: Side-by-side store comparison showing price differences for 5-10 common items]`
### 4. Price Alerts
**Headline:** Set a price. We'll tell you when it drops.
Pick your target price for any product and CartSnitch notifies you the moment it hits. Stock up when prices are low, not when you happen to walk into the store.
`[SCREENSHOT PLACEHOLDER: Price alert setup screen or notification example]`
### 5. Purchase History
**Headline:** Your complete grocery spending, organized.
Every purchase. Every store. Every price. CartSnitch builds a searchable history of everything you've bought — so you can spot trends, track spending, and make smarter decisions.
`[SCREENSHOT PLACEHOLDER: Purchase history list with search/filter options]`
---
## Social Proof / Data Section
**Section Header:** The data behind your receipt.
| Stat | Description |
|---|---|
| **25%** | Average grocery price increase since 2020 |
| **$14,000** | What the average family spends on groceries per year |
| **10-15%** | Hidden cost of shrinkflation that doesn't show up in inflation numbers |
---
## How It Works
**Section Header:** Three steps. Two minutes. Zero barcodes.
**Step 1: Connect your store account**
Link your Meijer, Kroger, or Target loyalty account. We pull your purchase history automatically.
**Step 2: We track everything**
CartSnitch monitors every price, package size, and promotion for the products you buy. Automatically.
**Step 3: Save money**
Get alerts when prices drop, catch shrinkflation before it costs you, and compare stores to find the best deals.
**CTA:** Get Early Access — It's Free
---
## Store Support Section
**Section Header:** Starting with the stores you already shop at.
**Launch:** Meijer
**Coming soon:** Kroger, Target
**On the roadmap:** Walmart, Costco, Aldi
*More stores added regularly. Request your store →*
---
## Final CTA Section
**Headline:** Stop overpaying. Start seeing the real price.
**Body:**
CartSnitch is launching soon. Join the early access list to be the first to track your grocery prices, catch shrinkflation, and compare stores — all automatically.
**CTA:** Join Early Access
**Subtext:** Free to use. No credit card required.
---
## Footer Tagline
Your grocery bill shouldn't be a mystery. CartSnitch makes it transparent.
---
## SEO Metadata
**Page title:** CartSnitch — Track Grocery Prices, Catch Shrinkflation, Save Money
**Meta description:** CartSnitch automatically tracks grocery prices, detects shrinkflation, and compares stores so you can stop overpaying. Connect your loyalty account and start saving.
**H1:** Your grocery bill shouldn't be a mystery.
+4
View File
@@ -0,0 +1,4 @@
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": ["local>cartsnitch/.github:renovate-config"]
}