133 lines
5.2 KiB
Markdown
133 lines
5.2 KiB
Markdown
# 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).
|