Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 7 additions & 7 deletions MARKETING.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@
## Product

- **Name:** Paperboy
- **One-liner:** Paperboy turns a user-built firehose of public feeds into a short, source-linked brief ranked around what matters to them.
- **One-liner:** Paperboy turns a user-built firehose of public feeds into a short, source-linked daily or weekly rollup ranked around what matters to them.
- **Category:** Personal relevance filter
- **URL:** https://paperboy.kaibuilds.com/
- **URL:** https://newpaperboy.com/

## ICP (Ideal Customer Profile)

Expand All @@ -16,7 +16,7 @@
- **Title/Role:** Technical founder or hands-on product/engineering operator
- **Company size:** 1–20 people
- **Industry:** AI, developer tools, and technical SaaS
- **Budget authority:** Usually direct for a $49/month tool; hypothesis, not buyer-validated
- **Budget authority:** Usually direct for a $5/month tool; hypothesis, not buyer-validated
- **Trigger event:** Missing an API, pricing, dependency, or market change that affects active work
- **Current solution:** Newsletters, RSS, GitHub notifications, bookmarks, and manual LLM summaries
- **Pain severity:** Unknown; validate with preview-to-trial conversion and interviews
Expand Down Expand Up @@ -59,20 +59,20 @@

### User Segments

- **Trial subscriber:** Chooses public RSS/Atom feeds and a relevance filter, confirms the email, and starts a card-required seven-day trial.
- **Paid subscriber:** Keeps reading after the trial at the $49/month founding price.
- **Trial subscriber:** Chooses public RSS/Atom feeds, a relevance filter, and a daily or weekly cadence, confirms the email, and starts a card-required seven-day trial.
- **Paid subscriber:** Keeps reading after the trial at the $5/month founding price.

## Value Prop

- **Core transformation:** From scanning a self-built information firehose to reading only the few items connected to current work.
- **Key actions:** Choose or paste public feeds; describe current interests; name what to ignore; preview matches; confirm the email; start hosted checkout; self-manage or unsubscribe.
- **Activation moment:** Stripe confirms trialing or active billing and the management screen confirms daily delivery is active.
- **Activation moment:** Stripe confirms trialing or active billing and the management screen confirms the selected daily or weekly delivery is active.
- **Aha moment:** The reader opens an original source or changes a concrete next step because of the brief.

## Business Model

- **Monetization:** Card-required seven-day trial followed by a recurring subscription
- **Pricing:** $49/month after the trial until canceled
- **Pricing:** $5/month after the trial until canceled
- **Stage:** Pre-PMF validation; the product measures preview, verification, checkout, paid activation, and retention as separate stages

## Current Marketing
Expand Down
6 changes: 5 additions & 1 deletion deploy/Caddyfile.paperboy
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
paperboy.kaibuilds.com {
newpaperboy.com, paperboy.kaibuilds.com {
tls {
on_demand
}
Expand All @@ -19,3 +19,7 @@ paperboy.kaibuilds.com {
file_server
}
}

www.newpaperboy.com {
redir https://newpaperboy.com{uri} permanent
}
6 changes: 6 additions & 0 deletions deploy/paperboy.env.example
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,9 @@ PAPERBOY_HOST_PORT=9122
PAPERBOY_OLLAMA_URL=http://agent:11434
PAPERBOY_LOG_LEVEL=INFO
PAPERBOY_LOG_FORMAT=json
PAPERBOY_PUBLIC_URL=https://newpaperboy.com
PAPERBOY_STRIPE_SECRET_KEY=
PAPERBOY_STRIPE_PRICE_ID=
PAPERBOY_STRIPE_WEBHOOK_SECRET=
PAPERBOY_STRIPE_TRIAL_DAYS=7
PAPERBOY_STRIPE_MONTHLY_PRICE_CENTS=500
5 changes: 3 additions & 2 deletions docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,14 +23,15 @@ services:
PAPERBOY_EMAIL_TO: ${PAPERBOY_EMAIL_TO:-}
PAPERBOY_EMAIL_REPLY_TO: ${PAPERBOY_EMAIL_REPLY_TO:-}
PAPERBOY_BOUNCE_DOMAIN: ${PAPERBOY_BOUNCE_DOMAIN:-kaibuilds.com}
PAPERBOY_PUBLIC_URL: ${PAPERBOY_PUBLIC_URL:-https://paperboy.kaibuilds.com}
PAPERBOY_PUBLIC_URL: ${PAPERBOY_PUBLIC_URL:-https://newpaperboy.com}
PAPERBOY_MANAGE_SECRET: ${PAPERBOY_MANAGE_SECRET:-}
PAPERBOY_TRACKING_SECRET: ${PAPERBOY_TRACKING_SECRET:-}
PAPERBOY_KAIBUILDS_CAPTURE_URL: ${PAPERBOY_KAIBUILDS_CAPTURE_URL:-}
PAPERBOY_STRIPE_SECRET_KEY: ${PAPERBOY_STRIPE_SECRET_KEY:-}
PAPERBOY_STRIPE_WEBHOOK_SECRET: ${PAPERBOY_STRIPE_WEBHOOK_SECRET:-}
PAPERBOY_STRIPE_PRICE_ID: ${PAPERBOY_STRIPE_PRICE_ID:-}
PAPERBOY_STRIPE_TRIAL_DAYS: ${PAPERBOY_STRIPE_TRIAL_DAYS:-7}
PAPERBOY_STRIPE_MONTHLY_PRICE_CENTS: ${PAPERBOY_STRIPE_MONTHLY_PRICE_CENTS:-500}
PAPERBOY_FAST_MODEL: ${PAPERBOY_FAST_MODEL:-llama3.2:3b}
PAPERBOY_RESEARCH_MODEL: ${PAPERBOY_RESEARCH_MODEL:-qwen2.5:7b}
PAPERBOY_LOG_LEVEL: ${PAPERBOY_LOG_LEVEL:-INFO}
Expand Down Expand Up @@ -72,7 +73,7 @@ services:
PAPERBOY_EMAIL_TO: ${PAPERBOY_EMAIL_TO:-}
PAPERBOY_EMAIL_REPLY_TO: ${PAPERBOY_EMAIL_REPLY_TO:-}
PAPERBOY_BOUNCE_DOMAIN: ${PAPERBOY_BOUNCE_DOMAIN:-kaibuilds.com}
PAPERBOY_PUBLIC_URL: ${PAPERBOY_PUBLIC_URL:-https://paperboy.kaibuilds.com}
PAPERBOY_PUBLIC_URL: ${PAPERBOY_PUBLIC_URL:-https://newpaperboy.com}
PAPERBOY_MANAGE_SECRET: ${PAPERBOY_MANAGE_SECRET:-}
PAPERBOY_TRACKING_SECRET: ${PAPERBOY_TRACKING_SECRET:-}
PAPERBOY_SCHEDULER_ONLY: ${PAPERBOY_SCHEDULER_ONLY:-paperboy.firehose_delivery}
Expand Down
4 changes: 2 additions & 2 deletions docs/design/paperboy-firehose/style-snapshot.json
Original file line number Diff line number Diff line change
Expand Up @@ -1210,7 +1210,7 @@
"background_color": "rgb(17, 22, 28)",
"chars_per_line": 113,
"is_large_text": false,
"sample_text": "Planned founding price: $49/month. No card or payment is collected yet."
"sample_text": "Founding price: $5/month after a seven-day trial. Card details stay on Stripe-hosted checkout."
},
{
"selector": "article.price-card > div > ul > li",
Expand Down Expand Up @@ -1758,4 +1758,4 @@
"width": 1440,
"height": 900
}
}
}
27 changes: 27 additions & 0 deletions docs/productization/CADENCE-FEATURE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# Delivery cadence feature map

## Feature: Daily and weekly rollups

Paperboy's production subscription form is plain HTML and JavaScript. The KOMPETE React atoms and molecules are not present in this repository, so this change reuses Paperboy's existing form and status patterns instead of introducing a component system.

### UI elements → existing Paperboy patterns

| Element | Existing pattern | Use |
|---|---|---|
| Cadence control | Native `select` inside `.field` | Daily or weekly rollup |
| Weekly day control | Native `select` inside `.field` | Monday through Sunday; visible only for weekly cadence |
| Guidance | `.field-help` | Explain the 8:00 AM local schedule |
| Validation | `#intake-error.form-error` | Reuse the current accessible error region |
| Managed status | `#subscription-delivery` and `#management-summary` | Show the saved cadence and next delivery |
| Primary action | Existing `.button.button-wide` | Keep the current subscription action; no new button |

### Styling scope

- Reuse existing input/select, `.field`, `.field-help`, and responsive form rules.
- Add no custom button, card, loader, table, modal, or empty-state component.

### Data contract

- `cadence`: `daily` or `weekly`; defaults to `daily` for existing clients and rows.
- `weekly_day`: integer `0` through `6` using Python weekday numbering; defaults to Monday (`0`).
- Delivery remains 8:00 AM in the subscriber's IANA timezone.
4 changes: 3 additions & 1 deletion docs/productization/DESIGN_BRIEF.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
# Paperboy Daily Intelligence Brief — product design brief

Status: locked local implementation direction
> **Historical design record:** The implemented `product/` surface and current product strategy are authoritative. Price references below are superseded; the active hosted offer is `$5/month` after a seven-day trial.

Status: historical reference; not current launch authority
Updated: 2026-07-16 after product and commercial pivots
Authority: cgallic/paperboy plus the operator's current product decision

Expand Down
Loading
Loading