config/projects/ideas/product-ideas.md

133 lines
5.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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).