# Product Ideas — Research 2026-02-17

## Selected: SnapAPI (Screenshot API)

### Concept
URL → PNG/JPEG/WebP screenshot via API. Full-page capture, custom viewports, wait-for-selector, device emulation.

### Why
- Reuses DocFast's Puppeteer/Playwright infra (90% shared)
- Can run on same Hetzner VPS
- Mid-tier market underserved (Urlbox $99+, cheap options have bad DX)
- Proven demand — developers need this constantly

### Pricing (EUR)
- Free: 100 screenshots/mo
- Starter: €9/mo (1K)
- Pro: €29/mo (5K)
- Business: €79/mo (25K)

### Competitors
| Competitor | Price | Weakness |
|-----------|-------|----------|
| Urlbox | $99+/mo | Enterprise-only, overpriced |
| ScreenshotOne | $9/mo for 1.5K | Limited customization |
| ScreenshotAPI.net | $9/mo for 1K | Bad docs, slow support |
| CaptureKit | $7/1K | Newer, limited track record |

### Tech Stack
- Node.js + Puppeteer/Playwright (same as DocFast)
- Same auth/billing pattern as DocFast (Stripe)
- PostgreSQL for usage tracking (CNPG shared cluster)
- Runs on existing K3s cluster in own namespace

### MVP Timeline: 2-3 weeks

---

## CEO Setup Plan for SnapAPI

### Phase 1: Infrastructure (Day 1-2)
1. Create Forgejo repo `openclawd/snapapi`
2. Create K8s namespace `snapapi` on existing K3s cluster
3. Create database `snapapi` on CNPG cluster (`main-db` in `postgres` namespace)
4. Create K8s secrets (`snapapi-secrets`) in `snapapi` namespace — DB URL, Stripe keys
5. Create `forgejo-registry` imagePullSecret in `snapapi` namespace
6. Domain: pick a domain (snapapi.dev? screenshotapi.eu? capturefast.dev?)
7. DNS: A record → 46.225.37.135 (Hetzner LB)
8. Ingress + cert-manager TLS (same ClusterIssuer `letsencrypt-prod`)
9. Set up CI/CD: deploy.yml (main→staging) + promote.yml (tag→prod)
10. Deployer SA with RBAC scoped to `snapapi` namespace

### Phase 2: Core Product (Day 3-7)
1. API endpoint: `POST /v1/screenshot` with URL, viewport, format, full-page options
2. Puppeteer worker pool (reuse DocFast patterns)
3. Auth system (API keys, email verification)
4. Usage tracking + rate limiting
5. Free/paid tier enforcement

### Phase 3: Billing (Day 7-10)
1. Stripe integration (checkout, webhooks, subscription management)
2. Pro key provisioning on payment
3. Cancellation → downgrade flow

### Phase 4: Website & Docs (Day 10-14)
1. Landing page (same build-time templating as DocFast)
2. API documentation
3. Legal pages (Impressum, Privacy, Terms)
4. SEO basics (meta tags, sitemap, JSON-LD)

### Phase 5: Operations (Day 14-17)
1. CEO skill file (copy DocFast CEO pattern, update with K3s infra)
2. Uptime monitor cron
3. Support mailbox (FreeScout)
4. Support agent cron
5. CEO scheduling (morning/afternoon/evening sessions)
6. Borg backup (pg_dump to Storage Box — same setup as DocFast)

### Phase 6: Launch (Day 17-21)
1. Marketing specialist for launch copy
2. Product Hunt listing
3. SEO quick wins
4. Monitor first users

### K3s Deployment Details
```
Namespace: snapapi (prod), snapapi-staging (staging)
Database: snapapi / snapapi_staging on main-db-pooler.postgres.svc:5432
Registry: git.cloonar.com/openclawd/snapapi
Ingress: Traefik, TLS via cert-manager
Replicas: 2 prod, 1 staging
LB: same Hetzner LB (46.225.37.135) — no extra infra cost!
```

**Cost for SnapAPI infrastructure: €0/mo extra** (runs on existing K3s cluster + shared DB)

### Key Learnings from DocFast to Apply
- Ship with `.env` persistence from day 1 (no recurring checkout failures)
- CI/CD with staged deployment from the start (main→staging, tag→prod)
- `overflow-x: clip` not `hidden` for sticky nav
- FreeScout `text` field needs HTML for formatting
- FreeScout threads are reverse chronological
- `needs-reply` must check unassigned tickets too
- Support agent MUST have hard security rules (never leak keys)
- Build-time HTML templating (zero deps)
- Status page from day 1
- Brotli compression from day 1
- Uptime monitor cron from day 1
- Separate staging DB from day 1 (never share prod DB!)
- HA: readiness probe every 5s, fail after 2; tolerations 10s
- HA: podAntiAffinity to spread across workers
- CEO sessions need 1 hour timeout (runTimeoutSeconds: 3600)

---

## Other Ideas (Backlog)

### OGPix — OG Image Generation API
HTML template + data → 1200×630 social preview image. Same Puppeteer infra. Vercel's solution is platform-locked. €12-39/mo. Low-medium competition.

### HookBin — Webhook Testing & Debugging
Temporary endpoints to capture webhooks. Real-time inspection, forwarding, replay. Webhook.site: free→$49 gap. €7-19/mo. Easiest to build (1-2 weeks).

### MailProbe — Email Validation API
Syntax, MX, SMTP verification, disposable detection. Undercut at €0.001-0.003/email vs competitors at $0.005-0.008. High competition but high demand.

### ResizeNow — Image Optimization API
Resize, compress, convert images. Cloudinary charges $89+/mo. Sharp/libvips is fast. Risk: Cloudinary free tier is generous (25K transforms).

### WaitlistAPI — Waitlist Management
Email collection + referral tracking + position. €12-29/mo. Low competition but churny (customers leave after launch).

### CronPing — Cron Job Monitoring
Dead man's switch for cron jobs. Cronitor $24/mo, Healthchecks.io is open source competitor. €7-19/mo. Simplest product (1-2 weeks).
