From 5b0bfa56b98ea928e7a6c482325fef5fa48cf085 Mon Sep 17 00:00:00 2001 From: Oleg Proskurin Date: Mon, 5 Jan 2026 22:49:40 +0700 Subject: [PATCH] doc: add placeholders info --- INDEX.md | 23 +- ROADMAP.md | 70 +-- execution/19-placeholder-seo-sprint.md | 442 ++++++++++++++++++ inbox/2026-01-02-mcp-competitive-landscape.md | 64 +++ 4 files changed, 564 insertions(+), 35 deletions(-) create mode 100644 execution/19-placeholder-seo-sprint.md create mode 100644 inbox/2026-01-02-mcp-competitive-landscape.md diff --git a/INDEX.md b/INDEX.md index 95adb7f..e0323af 100644 --- a/INDEX.md +++ b/INDEX.md @@ -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) diff --git a/ROADMAP.md b/ROADMAP.md index d51ee36..35cd33d 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -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 diff --git a/execution/19-placeholder-seo-sprint.md b/execution/19-placeholder-seo-sprint.md new file mode 100644 index 0000000..6e12bfd --- /dev/null +++ b/execution/19-placeholder-seo-sprint.md @@ -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: + ├── 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 diff --git a/inbox/2026-01-02-mcp-competitive-landscape.md b/inbox/2026-01-02-mcp-competitive-landscape.md new file mode 100644 index 0000000..8cc0946 --- /dev/null +++ b/inbox/2026-01-02-mcp-competitive-landscape.md @@ -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