doc: add placeholders info

This commit is contained in:
Oleg Proskurin 2026-01-05 22:49:40 +07:00
parent fc744943f7
commit 5b0bfa56b9
4 changed files with 564 additions and 35 deletions

View File

@ -1,8 +1,8 @@
# Banatie Strategy Documentation Index
**Last Updated:** December 30, 2025
**Total Documents:** 19 (numbered in strategy/execution) + research (prefixed)
**Next Available Number:** 19
**Last Updated:** January 2, 2026
**Total Documents:** 20 (numbered in strategy/execution) + research (prefixed)
**Next Available Number:** 20
**Project Stage:** Pre-launch / MVP Development
---
@ -34,7 +34,9 @@
- 17 - Week 1 Launch Checklist
- 18 - Production Infrastructure
**Next to assign:** 19
- 19 - Placeholder SEO Sprint
**Next to assign:** 20
---
@ -56,7 +58,8 @@
- [Pricing Strategy](execution/10-pricing-strategy.md)
- [Validation Plan](execution/08-validation-plan.md)
**For SEO & Content:** ⭐ NEW
**For SEO & Content:** ⭐ ACTIVE
- [Placeholder SEO Sprint](execution/19-placeholder-seo-sprint.md) - Current sprint plan ⭐
- [SEO Keyword Research: Placeholder Images](research/seo-keyword-research-placeholder-images.md) - Entry point cluster
- [Research Index](research/INDEX.md) - All research documentation
@ -195,6 +198,12 @@ Includes: Pre-launch checklist, launch day schedule, Reddit/Discord copy templat
Status: ✅ Live
Includes: VPS setup, Cloudflare config, SEO, Analytics, Performance metrics
**[19 - Placeholder SEO Sprint](execution/19-placeholder-seo-sprint.md)** (Jan 2, 2026) ⭐ ACTIVE
*Capture 31K+ monthly placeholder image searches*
Status: 🔄 Active Sprint
Tracks: Landing page `/placeholder-images`, Docs `/docs/placeholders/`, Homepage quick wins
Target: Zero-KD keywords + 14,800 vol main keyword
### Technical Documentation
**[12 - Current Tech State](execution/12-the-current-tech-state.md)** (v1.0, Nov 1)
@ -417,5 +426,5 @@ research/seo-keyword-research-*.md → ROADMAP.md (Content Sprint) → blog arti
---
**Last maintained by:** @men
**Version:** 4.2 (Project Knowledge integration docs added Dec 29-30)
**Next review:** After Content Marketing Sprint (January 2025)
**Version:** 4.3 (Placeholder SEO Sprint added Jan 2, 2026)
**Next review:** End of Placeholder SEO Sprint (mid-January 2026)

View File

@ -15,11 +15,13 @@
## 🎯 Current Status
**Phase:** Pre-launch / Full Stack Deployed (Testing WIP)
**Sprint:** Production Infrastructure + Testing
**Focus:** API Testing + SEO Foundation + Content Marketing Prep
**Next Milestone:** Customer Interviews + Content Marketing
**Last Updated:** December 30, 2025
**Phase:** Pre-launch / Full Stack Deployed
**Sprint:** Placeholder SEO Sprint ⭐ ACTIVE
**Focus:** Capture 31K+ monthly placeholder image searches
**Next Milestone:** Landing page `/placeholder-images` + Docs section live
**Last Updated:** January 2, 2026
**See:** [19-placeholder-seo-sprint.md](execution/19-placeholder-seo-sprint.md)
---
@ -65,35 +67,46 @@
**Purpose:** Enable @men to find authoritative information across repositories during strategy sessions.
### Placeholder Niche Discovery (Jan 2, 2026) ⭐ NEW
- [x] **Deep dive research completed** — 31K+ monthly searches discovered
- [x] **Zero-KD keywords identified** — 10+ keywords with KD 0-5
- [x] **Direct user validation found** — r/ClaudeAI quote about MCP for placeholders
- [x] **Execution plan created** — 19-placeholder-seo-sprint.md
**See:** [19-placeholder-seo-sprint.md](execution/19-placeholder-seo-sprint.md)
### Known Issues (Minor)
- [ ] Healthcheck: containers show "unhealthy" (no curl in images)
- [ ] Cache permission: landing warns about `.next/cache`
---
## 🔄 Active Sprint: ICP External Validation + SEO Foundation
## 🔄 Active Sprint: Placeholder SEO Sprint
### Interview Preparation
- [ ] Create interview scripts for each segment (4 scripts)
- [ ] Identify specific outreach targets
- [ ] Prepare validation scorecard
### Track A: Landing Page `/placeholder-images` (Priority 1)
- [ ] Verify Live URLs support `?width=X&height=Y` parameters
- [ ] Create MVP landing page (text-only, Hero + How It Works + Code + CTA)
- [ ] Deploy and submit to GSC
- [ ] Enhance with visuals and interactive size grid
### Content Marketing System
- [x] Multi-agent content pipeline designed (8 agents)
- [x] Author personas defined (Henry, Nina)
- [x] **DataForSEO integrated for real keyword data** ⭐ NEW
- [ ] First batch of articles for dev.to, Hashnode
**Target:** 14,800+ monthly searches (KD 17-18)
### SEO Foundation ⭐ NEW (High Priority)
- [ ] **Create `/placeholder-images` landing page** — target: 14,800 searches/mo
- [ ] **Write "Placeholder Images API" tutorial** — target KD 12, dev.to + blog
- [ ] Integrate DataForSEO into @spy/@strategist agents
- [ ] Research additional keyword clusters (use-case, tech stack)
### Track B: Docs Section `/docs/placeholders/` (Priority 2)
- [ ] Create `/docs/placeholders/` overview page
- [ ] Create `/docs/placeholders/dark-mode/` (4,400 vol, KD 2) ← HIGHEST PRIORITY
- [ ] Create `/docs/placeholders/profiles/` (720 vol, KD 0)
- [ ] Create `/docs/placeholders/sizes/` (1,000+ vol combined)
### Production Testing
- [ ] Test image generation via API
- [ ] Verify CDN URLs working correctly
- [ ] Document API for early users
**Target:** Zero-KD keywords for quick wins
### Track C: Homepage Quick Wins (Immediate)
- [ ] Add placeholder keywords to homepage metadata
- [ ] Update PromptUrlsSection subtitle to mention placeholders
- [ ] Add internal link to `/placeholder-images`
### Paused (Resume After Sprint)
- [ ] ICP interview preparation
- [ ] Content marketing articles for dev.to
---
@ -225,12 +238,13 @@
---
**Roadmap Owner:** @men + Oleg
**Last Updated:** December 26, 2025
**Next Review:** After ICP validation interviews
**Version:** 4.2 (Project Knowledge integration docs added Dec 29-30)
**Last Updated:** January 2, 2026
**Next Review:** End of Placeholder SEO Sprint (mid-January)
**Version:** 4.3 (Placeholder SEO Sprint added Jan 2, 2026)
**Key Documents:**
- [research/seo-keyword-research-placeholder-images.md](research/seo-keyword-research-placeholder-images.md) - Keyword research ⭐ NEW
- [19-placeholder-seo-sprint.md](execution/19-placeholder-seo-sprint.md) - Current sprint plan ⭐ ACTIVE
- [research/seo-keyword-research-placeholder-images.md](research/seo-keyword-research-placeholder-images.md) - Keyword research
- [18-production-infrastructure.md](execution/18-production-infrastructure.md) - Deployment details
- [13-competitive-analysis.md](strategy/13-competitive-analysis.md) - Competitive landscape
- [14-icp-segmentation-unified.md](strategy/14-icp-segmentation-unified.md) - Unified ICP segments

View File

@ -0,0 +1,442 @@
# Placeholder SEO Sprint
**Date Created:** January 2, 2026
**Status:** Active
**Priority:** HIGH — Immediate execution
**Owner:** Oleg
**Duration:** 2 weeks
---
## Context
@spy research uncovered a major SEO opportunity:
| Metric | Value |
|--------|-------|
| Total search volume | 31,000+/month |
| Zero-KD keywords | 10+ keywords, 9K+ searches |
| AI competitors | **ZERO** |
| Direct user validation | r/ClaudeAI quote about MCP for placeholders |
**Strategic approach:** "Trojan Horse" — capture placeholder traffic, convert to full generation users.
**Source:** `/banatie-content/research/keywords/placeholder-niche-deep-dive-2026-01-02.md`
---
## Two Parallel Tracks
### Track A: Landing Page `/placeholder-images` (Primary)
**Goal:** Capture 14,800+ monthly searches for core placeholder keywords
**Target Keywords:**
| Keyword | Volume | KD | Priority |
|---------|--------|-----|----------|
| placeholder image | 14,800 | 18 | 🥇 |
| image placeholder | 14,800 | 17 | 🥇 |
| image placeholder dark | 4,400 | 2 | 🥇 |
| app placeholder image | 1,900 | 2 | 🥈 |
| placeholder image url | 390 | 21 | 🥈 |
### Track B: Docs Section `/docs/placeholders/` (Secondary)
**Goal:** Capture long-tail keywords, support conversion journey
**Target Keywords:**
| Keyword | Volume | KD | Priority |
|---------|--------|-----|----------|
| profile placeholder image | 720 | 0 | 🥇 |
| ios placeholder image | 590 | 0 | 🥇 |
| placeholder image css | 720 | 12 | 🥈 |
| placeholder image html | 320 | 26 | 🥈 |
---
## Track A: Landing Page
### Page Structure
```
URL: /placeholder-images
Title: "AI Placeholder Images — Generate Contextual Placeholders Instantly"
H1: "AI Placeholder Images"
```
**Sections:**
```
1. HERO
├── H1: "AI Placeholder Images"
├── Subhead: "Generate contextual placeholders instantly. Not random stock photos."
├── [Interactive demo: prompt input → live result]
└── CTA: "Try It Free" / "Get API Key"
2. HOW IT WORKS (3 steps)
├── Step 1: Describe what you need
├── Step 2: Get instant URL
└── Step 3: Use in your code
3. LIVE URL DEMO
├── Code snippet: <img src="...">
├── Common sizes selector (avatar, thumbnail, hero, og)
└── Copy URL buttons
4. COMMON SIZES (interactive grid)
├── Avatar (200×200)
├── Thumbnail (300×200)
├── Card (400×300)
├── Hero (1200×630)
├── Product (600×600)
└── [Click to see example + copy URL]
5. USE CASES
├── Development mockups
├── Client presentations
├── Prototyping
└── Design systems
6. COMPARISON TABLE
| Service | Type | Result |
|---------|------|--------|
| placehold.co | Gray boxes | Generic |
| picsum.photos | Random stock | Irrelevant |
| Banatie | AI-generated | Contextual |
7. PRODUCTION READY (conversion bridge)
├── "These aren't just placeholders"
├── "Same images work in production"
├── "Or upgrade to full generation"
└── CTA: "Get Started with Full API"
8. FOOTER CTA
└── Email signup / Get API Key
```
### SEO Requirements
**Metadata:**
```
title: "AI Placeholder Images — Generate Contextual Placeholders | Banatie"
description: "Generate AI placeholder images instantly. Not random stock photos — contextual images from your description. Free Live URLs for development."
keywords: [
"placeholder image",
"image placeholder",
"ai placeholder images",
"placeholder image generator",
"placeholder image url",
"image placeholder dark",
"app placeholder image"
]
```
**JSON-LD:**
- WebPage schema
- HowTo schema (3 steps)
- Product schema (for rich snippets)
**Internal Links:**
- → /docs/live-urls/
- → /docs/placeholders/ (when created)
- → /docs/generation/
### Technical Requirements
**Before launch, verify Live URLs support:**
- [ ] `?width=X&height=Y` parameters
- [ ] `?aspectRatio=X:Y` (already exists)
- [ ] Dark mode hint in prompt or parameter
- [ ] Common preset sizes
**If missing:** Priority fix before landing page launch.
### Deliverable
**MVP Version (Day 1-2):**
- Text-only, minimal graphics
- Hero + How It Works + Code Example + CTA
- Working interactive demo (if Live URLs ready)
**Enhanced Version (Day 3-5):**
- Size grid with examples
- Comparison table
- Better visuals
---
## Track B: Docs Section
### Structure
```
/docs/placeholders/ ← Main page (overview)
/docs/placeholders/sizes/ ← Size-specific examples
/docs/placeholders/dark-mode/ ← Dark mode placeholders (4,400 vol, KD 2)
/docs/placeholders/profiles/ ← Avatar/profile placeholders (720 vol, KD 0)
```
### Page 1: `/docs/placeholders/` (Overview)
**Target:** "placeholder image api", "ai placeholder generator"
**Content:**
```markdown
# Placeholder Images
Generate contextual placeholder images with a single URL.
## Quick Start
[Live URL example]
## Why AI Placeholders?
- Relevant to your content (not random)
- Production-ready quality
- Instant via URL
## Common Use Cases
- Development mockups
- Client demos
- Design prototypes
## Next Steps
- [Sizes & Dimensions →](/docs/placeholders/sizes/)
- [Dark Mode Placeholders →](/docs/placeholders/dark-mode/)
- [Profile Avatars →](/docs/placeholders/profiles/)
```
### Page 2: `/docs/placeholders/dark-mode/`
**Target:** "image placeholder dark" (4,400 vol, KD 2) ← HIGHEST PRIORITY
**Content:**
```markdown
# Dark Mode Placeholder Images
Generate placeholders optimized for dark mode interfaces.
## How to Request Dark Mode
[URL with dark mode hint]
## Examples
[Grid of dark mode examples]
## Tips for Dark UI
- Use darker backgrounds
- Mention "dark theme" in prompt
- Avoid bright colors
```
### Page 3: `/docs/placeholders/profiles/`
**Target:** "profile placeholder image" (720 vol, KD 0) ← ZERO DIFFICULTY
**Content:**
```markdown
# Profile & Avatar Placeholders
Generate realistic avatar placeholders for user profiles.
## Standard Sizes
- 48×48 (small)
- 96×96 (medium)
- 200×200 (large)
## Examples
[Avatar examples]
## Diversity
Describe demographics in prompt for variety.
```
### Page 4: `/docs/placeholders/sizes/`
**Target:** "200x200 placeholder image", "placeholder image 600x400"
**Content:**
```markdown
# Placeholder Image Sizes
Common sizes and how to request them.
## Size Reference
| Use Case | Size | URL Parameter |
|----------|------|---------------|
| Avatar | 200×200 | ?width=200&height=200 |
| Thumbnail | 300×200 | ?width=300&height=200 |
| Card | 400×300 | ?aspectRatio=4:3 |
| Hero | 1200×630 | ?aspectRatio=1200:630 |
## Custom Sizes
[How to specify any size]
```
---
## Track C: Homepage Quick Wins
### Current State
Homepage at banatie.app is indexed. `PromptUrlsSection` already showcases Live URLs — perfect fit for placeholder messaging.
### Recommended Changes
**1. Add keywords to metadata:**
```typescript
keywords: [
'API-first image generation',
'AI image API',
'image generation for developers',
'prompt to image API',
'CDN image delivery',
// ADD THESE:
'placeholder images',
'ai placeholder generator',
'placeholder image api',
],
```
**2. Update PromptUrlsSection subtitle:**
Current:
> "Perfect for static sites, prototypes, and AI coding agents that generate HTML."
Proposed:
> "Perfect for placeholder images, prototypes, static sites, and AI coding agents."
**3. Add internal link to placeholder page:**
In PromptUrlsSection, add link:
> "See more: [AI Placeholder Images →](/placeholder-images)"
### Implementation
These are 10-minute changes. Do together with docs deployment.
---
## Timeline
### Week 1
| Day | Track A (Landing) | Track B (Docs) | Track C (Homepage) |
|-----|-------------------|----------------|-------------------|
| 1 | Verify Live URLs params | — | Add keywords + update subtitle |
| 1-2 | Create MVP landing page | — | — |
| 3 | Deploy, submit to GSC | Create /docs/placeholders/ | — |
| 4-5 | Enhance with visuals | Create dark-mode page | — |
### Week 2
| Day | Track A | Track B |
|-----|---------|---------|
| 6-7 | Monitor GSC, iterate copy | Create profiles page |
| 8-10 | A/B test CTAs if traffic | Create sizes page |
---
## Success Metrics
### Week 1 (Immediate)
- [ ] `/placeholder-images` live and indexed
- [ ] `/docs/placeholders/` section live (at least overview + dark-mode)
- [ ] Homepage keywords updated
- [ ] All pages in GSC
### Month 1
- [ ] GSC shows impressions for placeholder keywords
- [ ] First organic clicks from placeholder searches
- [ ] At least one signup attributed to placeholder content
### Month 3
- [ ] Top 20 for "placeholder image" (14,800 vol)
- [ ] Top 10 for "image placeholder dark" (4,400 vol, KD 2)
- [ ] Top 5 for zero-KD keywords
---
## Technical Checklist
### Before Landing Page Launch
- [ ] Live URLs support `?width=X&height=Y`
- [ ] Live URLs support `?aspectRatio=X:Y` (verify)
- [ ] Test dark mode prompts produce dark images
- [ ] CDN caching works for Live URLs
- [ ] No rate limit issues for demo
### SEO Checklist
- [ ] Canonical URLs set
- [ ] OG image created or use default
- [ ] JSON-LD schemas added
- [ ] Internal links from homepage
- [ ] Internal links from docs
- [ ] sitemap.xml updated
- [ ] GSC submission
---
## Risk Mitigation
| Risk | Mitigation |
|------|------------|
| Live URLs not ready | Launch docs first, landing page waits |
| Low conversion to full API | Add clear upgrade path messaging |
| Competitors copy quickly | Speed — be first, build authority |
| Placeholder users expect free | Set expectations early, free tier limits |
---
## Conversion Strategy
**Key Message Throughout:**
> "Start with placeholders. Ship with production-ready images."
**Upgrade Triggers:**
1. Hit free tier limit → upgrade prompt
2. Need consistency across images → show references feature
3. Want higher quality → show production generation
4. Need API integration → show full API docs
**Placement:**
- End of every placeholder doc page
- Bottom of landing page
- In-app after X free generations
---
## Files to Create
### Landing
- `apps/landing/src/app/(landings)/placeholder-images/page.tsx`
### Docs
- `apps/landing/src/app/(apps)/docs/placeholders/page.tsx`
- `apps/landing/src/app/(apps)/docs/placeholders/dark-mode/page.tsx`
- `apps/landing/src/app/(apps)/docs/placeholders/profiles/page.tsx`
- `apps/landing/src/app/(apps)/docs/placeholders/sizes/page.tsx`
### Config Updates
- `src/config/docs-seo.ts` — add placeholder pages
- `src/config/docs-schema.ts` — add schemas if needed
- `src/app/sitemap.ts` — add new URLs
---
## Reference Documents
- Research: `/banatie-content/research/keywords/placeholder-niche-deep-dive-2026-01-02.md`
- Content brief: `/banatie-content/0-inbox/placeholder-ai-images.md`
- Docs SEO task: `/banatie-service/docs-seo-task.md`
---
**Document Owner:** @men
**Last Updated:** January 2, 2026
**Next Review:** End of Week 1
**Status:** Ready for execution

View File

@ -0,0 +1,64 @@
# Strategy Alert: MCP Integration Now Industry Standard
**Date:** 2026-01-02
**Type:** Technology Shift
**Urgency:** High
## Summary
Both Replicate and fal.ai now have official MCP (Model Context Protocol) servers documented and promoted. This means MCP integration has moved from "nice-to-have" differentiator to table stakes for AI image APIs targeting developers using Claude Code and Cursor.
## Details
**Replicate MCP:**
- Official server at replicate.com/docs/reference/mcp
- Supports model discovery, running predictions via natural language
- Enables: "Search Replicate for upscaler models and compare them"
**fal.ai MCP:**
- Official integration at docs.fal.ai/model-apis/mcp
- Documented specifically for Cursor integration
- Full fal ecosystem accessible from IDE
**Runware:**
- No visible MCP integration
- May be falling behind on developer experience
**Community:**
- Multiple third-party MCP servers for image generation on GitHub
- r/mcp subreddit (82K subscribers) actively discussing AI image MCP servers
- Cursor users expect MCP integration for AI services
## Strategic Implications
1. **Our MCP server is no longer a differentiator — it's required**
- Must ship and document MCP to compete with Replicate/fal.ai
- Delaying MCP means losing developer mindshare
2. **Documentation must match competitor quality**
- Both competitors have dedicated MCP pages
- Include Cursor setup, Claude Desktop, Claude Code guides
- Show real workflow examples
3. **Live URLs + MCP = Unique Combination**
- Neither competitor has URL-based generation without API calls
- MCP + Live URLs enables: "Generate a placeholder image at this URL"
- This is our defensible position
4. **Market validation**
- MCP adoption confirms AI-first developers are target audience
- IDE integration is the battleground for developer workflows
## Recommended Actions
1. **Prioritize MCP server shipping** — move up in roadmap if not already top priority
2. **Pre-write documentation** — have MCP docs ready when feature ships
3. **Emphasize Live URLs in MCP context** — unique capability competitors lack
4. **Monitor Runware** — if they ship MCP, market is fully consolidated on this expectation
## Sources
- https://replicate.com/docs/reference/mcp
- https://docs.fal.ai/model-apis/mcp
- https://www.reddit.com/r/mcp/comments/1p1l9tn/falai_mcp_server_enables_claude_desktop_and_other/
- https://cursorintro.com/mcp-fal