From 5351f678c271a7c82063feb4567bfdae320d061e Mon Sep 17 00:00:00 2001 From: Oleg Proskurin Date: Sat, 27 Dec 2025 20:11:40 +0700 Subject: [PATCH] feat: content-system --- INDEX.md | 50 +- ROADMAP.md | 549 +++++------------- ...dataforseo-integration-keyword-research.md | 123 ++++ execution/18-production-infrastructure.md | 195 +++++-- research/INDEX.md | 99 +++- ...seo-keyword-research-placeholder-images.md | 193 ++++++ 6 files changed, 734 insertions(+), 475 deletions(-) create mode 100644 discussions/2025-12-26-dataforseo-integration-keyword-research.md create mode 100644 research/seo-keyword-research-placeholder-images.md diff --git a/INDEX.md b/INDEX.md index ab07858..1ad1f01 100644 --- a/INDEX.md +++ b/INDEX.md @@ -1,6 +1,6 @@ # Banatie Strategy Documentation Index -**Last Updated:** December 21, 2025 +**Last Updated:** December 26, 2025 **Total Documents:** 19 (numbered in strategy/execution) + research (prefixed) **Next Available Number:** 19 **Project Stage:** Pre-launch / MVP Development @@ -14,7 +14,7 @@ - New document = next available number - Deleted documents don't free up numbers - **Exception:** `discussions/` uses date-based format (YYYY-MM-DD-topic.md) -- **Exception:** `research/` uses flat structure with prefixes (direction-, signals-, analysis-) +- **Exception:** `research/` uses flat structure with prefixes (direction-, signals-, analysis-, seo-) **Currently Used:** - 01 - Market Positioning @@ -50,12 +50,16 @@ - [Validated ICP](strategy/07-validated-icp-ai-developers.md) **For execution:** -- [Week 1 Launch Checklist](execution/17-week-1-launch-checklist.md) ⭐ ACTIVE +- [Week 1 Launch Checklist](execution/17-week-1-launch-checklist.md) - [MVP Scope v2 Realistic](execution/15-mvp-scope-v2-realistic.md) - [Product Features](execution/16-product-features.md) - [Pricing Strategy](execution/10-pricing-strategy.md) - [Validation Plan](execution/08-validation-plan.md) +**For SEO & Content:** ⭐ NEW +- [SEO Keyword Research: Placeholder Images](research/seo-keyword-research-placeholder-images.md) - Entry point cluster +- [Research Index](research/INDEX.md) - All research documentation + --- ## 📂 Core Documentation @@ -165,7 +169,7 @@ Priority matrix with timelines and status tracking **[17 - Week 1 Launch Checklist](execution/17-week-1-launch-checklist.md)** (Nov 2) *Step-by-step ultra-minimal launch guide* -Status: Ready to execute ⭐ +Status: Ready to execute Goal: 3-5 early adopters try it, 1 pays (any amount) Includes: Pre-launch checklist, launch day schedule, Reddit/Discord copy templates, success criteria @@ -199,6 +203,12 @@ Key: Platform mostly production-ready, gaps identified - ✅ Reusable methodology documented - ✅ ICP refined to A/B/C/D segments +**SEO Research Phase (Dec 26, 2025):** ⭐ NEW +- ✅ DataForSEO MCP Server integrated +- ✅ First keyword cluster researched ("placeholder images") +- ✅ Content plan with 5 articles defined +- ⏳ Additional clusters pending + **Primary Finding:** Direction 2 (AI Coding Agents) = ⭐ 70-80% confidence - [direction-2-strong-signals-part2.md](research/direction-2-strong-signals-part2.md) - Complete research - ICP match = excellent (founder IS the ICP) @@ -206,6 +216,12 @@ Key: Platform mostly production-ready, gaps identified - Willingness to pay = validated ($20-200/mo) - Technical fit = perfect (MCP + SDK) +**SEO Finding:** Placeholder Images Cluster = ⭐ Entry Point ⭐ NEW +- [seo-keyword-research-placeholder-images.md](research/seo-keyword-research-placeholder-images.md) - Keyword research +- 14,800 searches/month for "placeholder images" +- No AI competition in top-10 Google +- 5 content pieces identified with targets + **ICP Segmentation (A/B/C/D):** - **A:** Studios/Agencies (CEO decision, higher ACV) - Direction 1 focus - **B:** Power Users (Tech leads with Cursor/Claude Code) - ⭐ PRIMARY @@ -218,7 +234,16 @@ Key: Platform mostly production-ready, gaps identified **Note:** Discussions use date-based naming (YYYY-MM-DD-topic.md) -**[2025-11-02 - Unified Product Strategy](discussions/2025-11-02-unified-product-strategy.md)** ⭐ LATEST +**[2025-12-26 - DataForSEO Integration & Keyword Research](discussions/2025-12-26-dataforseo-integration-keyword-research.md)** ⭐ LATEST +*DataForSEO setup + first keyword research* +Outcomes: +- DataForSEO MCP Server integrated +- Research protocol for agents defined +- "Placeholder images" cluster researched +- 5 content pieces planned with SEO targets +- Content-system expansion discussed + +**[2025-11-02 - Unified Product Strategy](discussions/2025-11-02-unified-product-strategy.md)** *Major strategic session - 3 hours with @men* Outcomes: - Unified product decision (Direction 1 + 2 = SAME product) @@ -263,6 +288,11 @@ ROADMAP.md → 02-reality-check.md → 14-icp-segmentation-unified.md → 17-wee 15-mvp-scope-v2-realistic.md → 16-product-features.md → 17-week-1-launch-checklist.md ``` +### For SEO & Content (NEW): +``` +research/seo-keyword-research-*.md → ROADMAP.md (Content Sprint) → blog articles +``` + ### Legacy path (archived): ``` 08-validation-plan.md → 09-mvp-scope.md (superseded by 15) → 10-pricing-strategy.md @@ -298,6 +328,11 @@ ROADMAP.md → 02-reality-check.md → 14-icp-segmentation-unified.md → 17-wee - Direction 1 + 2 = same product, different entry points - Prompt Enhancement as PRIMARY MOAT (3-6 months to replicate) +**SEO Research (research/seo-*) drives:** ⭐ NEW +- Content Marketing Sprint (ROADMAP.md) +- Landing page creation (website) +- Blog content strategy (dev.to, Hashnode) + **ICP Segmentation (14) drives:** - Product Features (16) - which interfaces to build (MCP vs Prompt URLs) - Week 1 Launch (17) - target segments B/D (developers first) @@ -339,6 +374,7 @@ ROADMAP.md → 02-reality-check.md → 14-icp-segmentation-unified.md → 17-wee - `direction-N-*.md` - Research directions - `signals-*.md` - Strong signals found - `analysis-*.md` - Strategic analysis +- `seo-keyword-research-*.md` - SEO keyword research ⭐ NEW - `methodology-*.md` - Research methods (if needed) **Session summaries** → `discussions/` (date-based: YYYY-MM-DD-topic.md) @@ -364,5 +400,5 @@ ROADMAP.md → 02-reality-check.md → 14-icp-segmentation-unified.md → 17-wee --- **Last maintained by:** @men -**Version:** 4.0 (5 new documents added: 13-17, unified product strategy integrated) -**Next review:** After Week 1 launch (Nov 9-10, 2025) +**Version:** 4.1 (SEO research documents added, discussion 2025-12-26 added) +**Next review:** After Content Marketing Sprint (January 2025) diff --git a/ROADMAP.md b/ROADMAP.md index 22c4bf3..c0dc71f 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -15,489 +15,210 @@ ## 🎯 Current Status -**Phase:** Pre-launch / MVP Development -**Sprint:** Tech Debt Clear + Prompt URLs (Days 1-7) -**Focus:** Unified product approach (Direction 1 + 2 combined) -**Next Milestone:** Ultra-minimal launch (Week 1 - Prompt URLs + Manual payments) -**Last Updated:** December 21, 2025 +**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 26, 2025 --- -## 🔄 Active Sprint: MVP Development (Nov 2-10) +## ✅ Completed: Production Infrastructure (Dec 15-23, 2025) -### DECISION: Unified Product Approach - -**Key Insight:** Direction 1 (Agencies) + Direction 2 (AI Developers) = SAME product -- Technical implementation identical -- Difference = entry point preference (MCP vs Prompt URLs) -- Many users are BOTH (tech lead at agency) - -**Strategy:** Build one product, multiple interfaces - ---- - -### Current Blockers (Days 1-4) -- [ ] DB schema update (2 days) -- [ ] Endpoints align with DB (2 days) - -### Week 1: Ultra-Minimal Launch (Days 5-9) - -**Tech (Days 5-7):** -- [ ] Prompt URLs (3 days) - Universal entry point - -**Non-tech (Day 8):** -- [x] Landing page deployed (~Dec 15, 2025) - See [18-production-infrastructure.md](execution/18-production-infrastructure.md) +### Landing Page (Dec 15, 2025) +- [x] Landing page deployed to banatie.app - [x] Cloudflare CDN + Cache Rules configured - [x] Google Search Console verified - [x] Umami Analytics connected - [x] SEO meta tags + OG image configured - [x] PageSpeed 95+ mobile achieved -- [ ] Docs page (2 hours) - Prompt URLs + API examples -- [ ] Signup flow (30 min) - Google Form, manual process -**Launch Day 9:** -- [ ] Reddit r/cursor post (morning) -- [ ] Discord Cursor channel (morning) -- [ ] Respond to comments (all day) -- [ ] Manual API key distribution +### Full Stack Deployment (Dec 23, 2025) +- [x] **API service deployed** → api.banatie.app +- [x] **PostgreSQL running** (isolated instance) +- [x] **MinIO storage configured** → cdn.banatie.app +- [x] **MinIO Console** → storage.banatie.app +- [x] **Master API key generated** +- [x] **Caddy reverse proxy configured** for all endpoints +- [x] **DNS records added** (api, cdn, storage subdomains) +- [ ] **Full API testing** (generation, upload, CDN URLs) — planned by Dec 27 -**Goal:** 3-5 early adopters try it, 1 pays (any amount) +**See:** [18-production-infrastructure.md](execution/18-production-infrastructure.md) -**Mental model:** Experiment, not mass launch. Coffee with customer, not opening cafe. +### DataForSEO Integration (Dec 26, 2025) ⭐ NEW +- [x] **DataForSEO MCP Server connected** to Claude Code +- [x] **First keyword research completed** — "placeholder images" cluster +- [x] **Research methodology validated** — $0.14 per full research cycle +- [x] **Content opportunities identified** — 5 articles with clear targets -### Week 2-3: Developer Tools -- [ ] MCP Server (3 days) -- [ ] SDK TypeScript/Python (2 days) -- [ ] CLI (2 days) -- [ ] Automated payments (2-3 days) +**See:** [research/seo-keyword-research-placeholder-images.md](research/seo-keyword-research-placeholder-images.md) -**Goal:** 10-20 paying users - -### Week 4+: Production Features -- [ ] CDN integration (1 day) -- [ ] Image transformations (1 day) -- [ ] Focal point detection (2-3 days) -- [ ] Admin UI (3-5 days) - -**Goal:** 50+ users, validate segments +### Known Issues (Minor) +- [ ] Healthcheck: containers show "unhealthy" (no curl in images) +- [ ] Cache permission: landing warns about `.next/cache` --- -## ✅ Completed: Foundation (Oct 20 - Oct 30) +## 🔄 Active Sprint: ICP External Validation + SEO Foundation -- [x] Market positioning clarified (Oct 25, 2025) -- [x] ICP hypothesis validated internally (Oct 28, 2025) -- [x] Pricing strategy drafted (Oct 29, 2025) -- [x] MVP scope defined (Oct 30, 2025) -- [x] Documentation framework established (Oct 30, 2025) - ---- - -## ✅ Completed: Passive Research Phase 1 (Oct 31 - Nov 2) - -- [x] Direction 0 research (Initial Exploration) - Completed Oct 31, 2025 -- [x] Direction 1 research (Agencies + Placeholder Hell) - Strong signals found -- [x] Direction 2 research (AI Coding Agents) - ⭐ STRONGEST validation (70-80% confidence) -- [x] Direction 6 research (Gemini/E-commerce) - Parking lot (ICP mismatch with no-code preference) -- [x] Directions 11-12 scoped (E-commerce deep-dive, NoCode builders) - Future exploration if needed -- [x] Research methodology documented ([passive-research-methodology.md](research/passive-research-methodology.md)) - Reusable framework -- [x] Research direction trackers created (10 directions mapped, 2 extensions planned) -- [x] Research navigation hub created ([research/INDEX.md](research/INDEX.md)) -- [x] A/B/C/D segmentation framework created -- [x] Research documentation restructured (flat + descriptive names) - -**Key Outcomes:** -- Direction 2 = 70-80% confidence (AI coding agents using Cursor/Claude Code) -- ICP refined to 4 segments: A (Studios), B (Power Users) ⭐, C (Freelancers), D (AI-savvy Freelancers) ⭐ -- Technical product = same for all segments -- GTM differs by segment (messaging, pricing emphasis, outreach channels) -- 10 research directions mapped (0-10), 2 extensions scoped (11-12) -- Reusable research methodology established for future validation sprints -- Complete research documentation system created - ---- - -## 🔄 Active Sprint: Interview Preparation (Nov 2 - Nov 3) - -**Goal:** Prepare for 10-14 validation interviews across A/B/C/D segments - -### Tasks +### Interview Preparation - [ ] Create interview scripts for each segment (4 scripts) - - [ ] A: Studios/Agencies (CEO/Manager) - - [ ] B: Power Users (Tech leads with Cursor) - - [ ] C: Freelancers (Solo) - - [ ] D: AI-savvy Freelancers -- [ ] Identify specific outreach targets: - - [ ] B: r/cursor Discord members, specific power users - - [ ] D: Twitter #AIFreelancer list (20-30 profiles) - - [ ] A: LinkedIn agency CEOs (50-100 list) - - [ ] C: Upwork active freelancers, r/freelance members -- [ ] Prepare validation scorecard (track by segment) -- [ ] Plan outreach timeline (7-day sprint schedule) +- [ ] Identify specific outreach targets +- [ ] Prepare validation scorecard + +### 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 + +### 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) + +### Production Testing +- [ ] Test image generation via API +- [ ] Verify CDN URLs working correctly +- [ ] Document API for early users --- -## 📅 Upcoming Sprint: External Validation (Nov 4 - Nov 10) +## 📊 Production URLs Status -**Est. duration:** 7 days -**Owner:** Oleg - -### Interview Distribution -- **B (Power Users):** 3-4 interviews (PRIMARY focus) -- **D (AI Freelancers):** 3-4 interviews (SECONDARY) -- **A (Studios):** 2-3 interviews (TERTIARY) -- **C (Freelancers):** 2-3 interviews (BONUS) - -**Total:** 10-14 interviews - -### Success Criteria -- 60%+ say "I would use this" (6+ out of 10) -- 40%+ willing to pay $20+ (4+ out of 10) -- 30%+ want early access (3+ out of 10) -- **KILLER USE CASE identified:** ONE specific pain mentioned by 60%+ - -### Outreach Channels (Reddit ban workaround) -- **Discord #1:** Cursor + Claude servers (most active) -- **Twitter/X #2:** Search #cursor #ClaudeCode #AICoding -- **Dev.to #3:** Comment on AI coding articles -- **Indie Hackers #4:** Direct messaging -- **LinkedIn #5:** Careful approach (employer risk) +| URL | Purpose | Status | +|-----|---------|--------| +| https://banatie.app/ | Landing page | ✅ Live | +| https://api.banatie.app/ | API service | 🔄 Deployed (testing pending) | +| https://cdn.banatie.app/ | Image CDN | 🔄 Deployed (testing pending) | +| https://storage.banatie.app/ | MinIO Console | 🔄 Deployed (testing pending) | --- -## 📊 Key Metrics Dashboard +## 📅 Upcoming: Content Marketing Sprint (January 2025) -**Updated:** Weekly (Sundays) +**Duration:** 2 weeks intensive +**Goal:** Establish thought leadership, drive organic traffic -### Validation Metrics (Active Sprint) -- Interviews completed: **0 / 10** -- Positive responses ("I would use"): **- / -** -- Willing to pay $20+: **- / -** -- Early access requests: **- / -** +### SEO-Driven Content (from keyword research) ⭐ NEW -**By Segment:** -- A (Studios): **0 / 3** interviews -- B (Power Users): **0 / 4** interviews ⭐ PRIMARY -- C (Freelancers): **0 / 3** interviews -- D (AI Freelancers): **0 / 4** interviews ⭐ SECONDARY +| Priority | Content Type | Target Keyword | Volume | KD | Platform | +|----------|--------------|----------------|--------|-----|----------| +| 🥇 | Landing page | placeholder images | 14,800 | 32 | banatie.app | +| 🥇 | Dev tutorial | placeholder images api | 90 | 12 | dev.to + blog | +| 🥈 | Listicle | placeholder image generator | 480 | 32 | dev.to + blog | +| 🥈 | Tutorial | image placeholder html | 320 | 34 | blog | +| 🥉 | Blog post | random image api | 110 | 17 | blog | + +**See:** [research/seo-keyword-research-placeholder-images.md](research/seo-keyword-research-placeholder-images.md) + +### Additional Planned Content +- Personal articles (dev.to, LinkedIn): 2-3 pieces +- Henry persona articles (dev.to, Hashnode): 4-6 pieces +- Nina persona (Instagram, creative): ongoing + +### Platforms +- dev.to +- Hashnode +- daily.dev +- LinkedIn +- Product Hunt (later) --- ## 🚦 Decision Gates -### GATE 1: ICP Validation (ACTIVE - Est. Nov 10, 2025) +### GATE 1: ICP Validation (Target: January 2025) -**Started:** Nov 2, 2025 (preparation phase) - -**Success criteria (ALL must be met):** -- 60%+ interviews say "I would use this" (6 out of 10) -- 40%+ willing to pay $20+ (4 out of 10) -- 30%+ want early access (3 out of 10) -- **KILLER USE CASE:** ONE specific, frequent pain mentioned by 60%+ (not scattered needs) -- Budget confirmed (they pay for other tools) +**Success criteria:** +- 60%+ interviews say "I would use this" +- 40%+ willing to pay $20+ +- 30%+ want early access +- KILLER USE CASE identified **Possible outcomes:** -- ✅ **GO** → Build MVP for validated segment (4-6 weeks) -- 🔄 **PIVOT** → Test different segment (add 1-2 weeks) -- 🛑 **STOP** → No market fit, fundamental rethink - -**Review:** Upon completion with @men +- ✅ **GO** → Full market launch +- 🔄 **PIVOT** → Adjust positioning +- 🛑 **STOP** → Fundamental rethink --- -### GATE 2: MVP Launch Readiness - -**Timeframe:** ~6-8 weeks after Gate 1 GO decision +### GATE 2: First Revenue (Target: Q1 2025) **Success criteria:** -- MCP integration works reliably (95%+ success rate) - 5-10 beta users onboarded - 50+ generations completed - 2+ users purchase credits -- No critical bugs - -**Possible outcomes:** -- ✅ **LAUNCH** → Soft launch to communities -- 🔄 **ITERATE** → Add 1-2 weeks for improvements -- 🛑 **PIVOT** → Different approach needed --- -### GATE 3: PMF Validation - -**Timeframe:** ~6 months after Gate 1 GO +### GATE 3: PMF Validation (Target: Q2-Q3 2025) **Success criteria:** - $1-2K MRR achieved - <5% monthly churn -- "Can't live without" feedback from 3+ users -- Organic word-of-mouth starting - -**Possible outcomes:** -- ✅ **SCALE** → Invest in growth -- 🔄 **OPTIMIZE** → Refine product -- 🛑 **PIVOT/STOP** → No PMF after 6 months +- Organic word-of-mouth --- -## ⚠️ Risk Mitigation Watch +## 📋 Backlog -### HIGH PRIORITY RISKS +### Technical +- [ ] Docs page with API examples +- [ ] Signup flow automation +- [ ] MCP Server implementation +- [ ] SDK TypeScript/Python +- [ ] CLI tool +- [ ] Image transformations -**1. Burnout Risk (Severity: HIGH)** -- Factors: Full-time job + side project + newborn (Kirill, Oct 7) + family of 5 -- Current exposure: 60+ hrs/week total -- Monitor: Weekly health check-ins (Sundays) -- Mitigation: Strict time boundaries, one full day off/week, use Agent Coding -- Red flags: Health decline, family tension, job performance suffering -- Abort: If health/family at risk, pause Banatie +### Marketing +- [ ] Reddit r/cursor launch post +- [ ] Discord Cursor community engagement +- [ ] Product Hunt launch +- [ ] Case studies -**2. Financial Pressure Risk (Severity: HIGH)** -- Factors: Zero buffer, school tuition coming, $6K/month sole income -- Current exposure: No emergency fund -- Monitor: Monthly expense tracking -- Mitigation: Keep day job until ≥$6K MRR, minimize expenses -- Red flags: Credit card debt, unpaid tuition, family money stress -- Abort: If Banatie costs >$500/month without revenue +### SEO & Content ⭐ NEW +- [ ] Research additional keyword clusters +- [ ] Expand content-system to cover website pages +- [ ] Competitor keyword gap analysis (fal.ai, runware.ai) -**3. No PMF Risk (Severity: HIGHEST)** -- Factors: Unvalidated ICP, complex product, new category -- Current exposure: Hypothesis not yet tested externally -- Monitor: Interview feedback, usage metrics, qualitative signals -- Mitigation: Brutal validation BEFORE building more, ultra-MVP launch -- Red flags: No one willing to pay, high churn >10%, "cool but..." feedback -- Abort: After 6 months, if <$500 MRR and no PMF signals - -**4. Employer Discovery Risk (Severity: MEDIUM)** -- Factors: Building side project while employed, same industry -- Current exposure: Public presence needed for marketing -- Monitor: LinkedIn mentions, colleague conversations -- Mitigation: Separate brand identity, delay LinkedIn, focus dev.to -- Red flags: Employer asks about side projects -- Abort: If employer forbids, negotiate exit OR pause publicly +### Infrastructure +- [ ] Healthcheck fix in Dockerfiles +- [ ] Self-hosted Umami migration +- [ ] Email service integration --- -## 📊 Research Insights Summary +## 🎯 Success Definitions -### UNIFIED APPROACH (Direction 1 + 2 Combined) +### Current Phase Success +- ✅ Full stack deployed and working +- ✅ Landing page live with good SEO +- ✅ Keyword research methodology validated ⭐ NEW +- ⏳ ICP validated externally +- ⏳ First paying customers -**Key Discovery:** Same product serves both segments -- Tech implementation: Identical -- Backend: Same (enhancement, CDN, transformations) -- Interfaces: Multiple (MCP, SDK, Prompt URLs, Web UI) +### Q1 2025 Success +- $500-1K MRR +- 10-20 active users +- Clear PMF signals +- Top-10 rankings for target keywords ⭐ NEW -**Decision:** Build once, launch to both - ---- - -### Direction 2 (AI Coding Agents) ⭐ PRIMARY LAUNCH - -**🟢 Strong Signals:** -- Massive user base (36K+ r/cursor members) -- Stock photos pain (generic, overused) -- Willingness to pay ($20-200/mo for AI tools) -- Manual Midjourney workflow tedious -- Aspect ratio limitations -- Image optimization time-consuming -- Paid MCP business model works - -**ICP Match:** 70-80% confidence -- Founder IS the ICP (uses Claude Code) -- Technical fit = perfect (MCP + SDK) -- Market size = huge -- Fast to revenue - -**Launch Strategy:** Week 1 (Prompt URLs + MCP) - ---- - -### Direction 1 (Agencies) ⭐ SECONDARY LAUNCH - -**🟢 Signals:** -- "Placeholder hell" validated -- Client approval blocked without realistic images -- Stock photos unprofessional - -**ICP Match:** 60-70% confidence (different personas, but overlapping needs) - -**Launch Strategy:** Week 2-3 (same product, different messaging) - ---- - -### Direction 6 (E-commerce) - Parking Lot - -**🟢 Signals:** -- Huge market ($50B product photography) -- Clear use case (1 photo → 100 variations) - -**🔴 Problems:** -- ICP mismatch (no-code preference) -- Free tier competition (16K-31K images/month FREE) -- Pivot required (3-6 months) - -**Decision:** Skip for now - ---- - -## 🎯 ICP Segments (Unified Product) - -**See detailed doc:** [14-icp-segmentation-unified.md](strategy/14-icp-segmentation-unified.md) - -**A) Studios/Agencies** - Decision Maker (CEO/Manager) -- 3-10 person teams -- Client work focus -- Higher ACV potential ($99-149/mo) -- Prefer: REST API, Web UI, Prompt URLs -- Use case: Client mockup approval - -**B) Power Users - Tech Champion** ⭐ PRIMARY LAUNCH -- Tech leads using Cursor/Claude Code -- Already pay $20-200/mo for AI tools -- Fast decision, can influence team -- Prefer: MCP, SDK, CLI -- Use case: Coding workflow automation - -**C) Freelancers** - Solo Decision -- Most price-sensitive -- Fast decision (no approval) -- Prefer: REST API, Web UI, Prompt URLs -- Use case: Per-project images -- Credits > subscription - -**D) AI-Savvy Freelancers - Power Solo** ⭐ SECONDARY LAUNCH -- Active AI tool users (Cursor, ChatGPT) -- High project volume, time=money -- Prefer: MCP, SDK, Prompt URLs -- Use case: Fast delivery -- Either model works - -**Key Insight:** Many users are BOTH segments (e.g., tech lead at agency) - -**Technical Product:** SAME for all segments -**GTM Strategy:** DIFFERS by segment (messaging, pricing emphasis, channels) - ---- - -## 🔮 Future Milestones (After Validation) - -### Post-Validation Phase (1-2 weeks after GO) - -**IF GO decision (60%+ willing to use, 40%+ pay):** -- Finalize MVP scope based on validated needs -- Begin MCP server development -- Prepare beta access list - -**IF PIVOT decision (<60% interest OR weak willingness to pay):** -- Select alternative segment -- New interview script -- Second validation round (1-2 weeks) - -**IF STOP decision (<40% interest, no one willing to pay):** -- Document learnings -- Thank interviewees -- Reassess in 3-6 months - -### MVP Development Phase (4-6 weeks after GO) - -**Weeks 1-2:** Core generation + MCP integration -**Week 3:** MCP implementation -**Week 4:** Transformations + UI refinement -**Week 5:** Payments + polish -**Week 6:** Beta testing + iteration - -### Launch & Growth (Months 3-6 after validation) - -**Month 3:** First paying customers -- Goal: 5-10 beta users, 50+ generations, 2+ purchases -- Target: $200-500 MRR - -**Month 4:** Soft launch to communities -- r/ClaudeAI, Indie Hackers, dev.to -- Target: $500-1,000 MRR - -**Month 5:** Growth optimization -- SEO content, community building, case studies -- Target: $1-2K MRR (Side Project Validation) - ---- - -## 🎯 Long-term Goals (Relative Milestones) - -### Month 6: Side Project Validation -- MRR: $1-2K -- Customers: 10-20 paying -- Churn: <5% monthly -- Decision: Continue scaling OR reassess - -### Month 9: Hybrid Mode Decision -- MRR: $3-5K -- Customers: 30-50 paying -- Options: 4-day work week OR stay full-time - -### Month 12: Full-time Leap Evaluation -- MRR: $6K+ (salary replacement) -- OR: 12-month runway saved -- Decision: Go full-time OR continue hybrid - -### 24-36 months: Sustainable Business -- MRR: $15-30K -- Hire 1-2 people -- Consider Ekaterina full-time on admin - ---- - -## 📋 Action Items Summary - -**Active (This Week - Nov 2-3):** -1. Create 4 interview scripts (A/B/C/D segments) -2. Build outreach target lists (Discord, Twitter, LinkedIn, Upwork) -3. Prepare validation scorecard -4. Plan 7-day interview sprint schedule - -**Next Week (Nov 4-10):** -1. Conduct 10-14 interviews across segments -2. Document results in validation scorecard -3. Make GO/PIVOT/STOP decision -4. Plan next phase based on outcome - ---- - -## 🎯 Success Definitions by Stage - -### Pre-launch Success (Current) -- ✅ ICP validated externally (60%+ interest, 40%+ pay) -- ✅ MVP scope locked (validated needs) -- ✅ First 5 beta users identified - -### Launch Success (Month 3-4) -- ✅ 5-10 beta users active -- ✅ 50+ generations completed -- ✅ 2+ credit purchases -- ✅ No critical bugs - -### Early Traction (Month 6) -- ✅ $1-2K MRR -- ✅ <5% churn -- ✅ PMF signals ("can't live without") -- ✅ Organic growth starting - -### Sustainability (Month 12) -- ✅ $6K+ MRR (salary replacement) -- ✅ Predictable growth -- ✅ Full-time transition viable -- ✅ Path to $10-15K MRR clear +### Q2 2025 Success +- $2-3K MRR +- Sustainable growth +- Content marketing working --- **Roadmap Owner:** @men + Oleg -**Last Updated:** November 3, 2025 -**Next Review:** After Week 1 launch (Nov 9-10, 2025) -**Version:** 3.1 (Documentation integrated: 13-17, unified product strategy active) +**Last Updated:** December 26, 2025 +**Next Review:** After ICP validation interviews +**Version:** 4.1 (DataForSEO integration, SEO foundation added) -**Related Documents:** +**Key Documents:** +- [research/seo-keyword-research-placeholder-images.md](research/seo-keyword-research-placeholder-images.md) - Keyword research ⭐ NEW +- [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 -- [15-mvp-scope-v2-realistic.md](execution/15-mvp-scope-v2-realistic.md) - Realistic MVP plan -- [16-product-features.md](execution/16-product-features.md) - Feature roadmap -- [17-week-1-launch-checklist.md](execution/17-week-1-launch-checklist.md) - Launch execution guide ⭐ diff --git a/discussions/2025-12-26-dataforseo-integration-keyword-research.md b/discussions/2025-12-26-dataforseo-integration-keyword-research.md new file mode 100644 index 0000000..66e1887 --- /dev/null +++ b/discussions/2025-12-26-dataforseo-integration-keyword-research.md @@ -0,0 +1,123 @@ +# Discussion: DataForSEO Integration & First Keyword Research + +**Date:** December 26, 2025 +**Duration:** ~1 hour +**Participants:** Oleg, @men +**Type:** Problem-Solving + Research Session + +--- + +## Контекст сессии + +Oleg предложил интегрировать DataForSEO для content-system (multi-agent система для создания контента). Цель — заменить "fake keywords" на реальные SEO данные. + +--- + +## Ключевые решения + +### 1. DataForSEO MCP Server — интегрирован ✅ + +**Конфигурация:** +- Установлен через npx: `dataforseo-mcp-server` +- Credentials: API username + password +- Подключен к Claude Code (`.mcp.json`) + +**Доступные API:** +- Keywords Data API (search volume, CPC, KD) +- SERP API (топ результаты Google) +- DataForSEO Labs API (ranked keywords конкурентов) + +**Стоимость:** ~$0.14 за full research session + +### 2. Research Protocol для агентов — разработан ✅ + +**Принцип:** Категории keywords задаём жёстко, конкретные keywords выбирает агент. + +**Workflow:** +``` +1. Seed keywords по категориям (3-5 на категорию) +2. Search volume → Related keywords → Фильтр (KD < 50) +3. SERP analysis для финалистов +4. Content gap analysis +5. Рекомендации +``` + +**Budget:** $0.50 max на сессию, продолжение по запросу пользователя + +### 3. Первый keyword research — выполнен ✅ + +**Найдена золотая ниша:** "placeholder images" кластер + +- 14,800 searches/month +- Конкуренция средняя (KD 32) +- В топ-10 НЕТ AI-решений +- Banatie может занять нишу + +**Детали:** см. `research/seo-keyword-research-placeholder-images.md` + +--- + +## Инсайты сессии + +### Что работает + +1. **DataForSEO через MCP** — seamless интеграция, Claude Code умеет использовать +2. **Drill-down подход** — один seed keyword → 5+ контент-идей +3. **SERP analysis** — показывает реальные gaps в контенте + +### Что узнали + +1. **Problem-aware keywords часто нулевые** — люди не ищут "my pain is X", они ищут решения короткими фразами +2. **Related keywords ценнее seed** — DataForSEO находит варианты которые мы бы не придумали +3. **Brand keywords бесполезны** — "openai image api" = люди уже выбрали OpenAI, конвертить дорого + +### Расширение scope + +Keyword research применим не только к блогу, но и к: +- Landing pages сайта (SEO entry points) +- Use-case pages +- Documentation structure +- Product positioning + +Content-system нужно расширить чтобы покрывала весь сайт. + +--- + +## Action Items + +### 🥇 Высокий приоритет + +| Задача | Owner | Deadline | Success Criteria | +|--------|-------|----------|------------------| +| Создать `/placeholder-images` landing page | Oleg | Jan 2025 | Страница live, оптимизирована под keyword | +| Написать "Placeholder Images API" tutorial | Content System | Jan 2025 | Опубликовано на dev.to + blog | +| Интегрировать DataForSEO в @spy и @strategist агентов | Oleg | Jan 2025 | Агенты используют реальные данные | + +### 🥈 Средний приоритет + +| Задача | Owner | Deadline | +|--------|-------|----------| +| Research других кластеров (use-case, tech stack) | @men/@spy | Feb 2025 | +| Listicle "Best Placeholder Generators 2025" | Content System | Feb 2025 | +| Расширить content-system на website pages | Oleg + @men | Feb 2025 | + +--- + +## Парковка (обсудить позже) + +- Как структурировать research outputs для переиспользования между агентами +- Нужен ли отдельный агент для keyword research или встроить в @spy/@strategist +- Автоматизация research → content pipeline + +--- + +## Связанные документы + +- **Создан:** `research/seo-keyword-research-placeholder-images.md` +- **Обновить:** `ROADMAP.md` — добавить SEO actions в Content Marketing Sprint +- **Связан с:** Content-system multi-agent architecture + +--- + +**Session rating:** ⭐⭐⭐⭐⭐ (высокопродуктивная, конкретные находки) +**Next session:** Research других keyword кластеров diff --git a/execution/18-production-infrastructure.md b/execution/18-production-infrastructure.md index 7311217..285676f 100644 --- a/execution/18-production-infrastructure.md +++ b/execution/18-production-infrastructure.md @@ -2,7 +2,7 @@ **Date:** December 21, 2025 **Purpose:** Document production deployment configuration and external services -**Status:** ✅ Live +**Status:** 🔄 Full Stack Deployed (Testing WIP) **Related docs:** [12-the-current-tech-state.md](12-the-current-tech-state.md) --- @@ -13,8 +13,9 @@ |-----|---------|--------| | https://banatie.app/ | Landing page | ✅ Live | | https://www.banatie.app/ | Redirects to non-www | ✅ Configured | -| https://api.banatie.app/ | API service | ⏳ Not deployed | -| https://cdn.banatie.app/ | Image CDN | 🔮 Future | +| https://api.banatie.app/ | API service | 🔄 Deployed (testing pending) | +| https://storage.banatie.app/ | MinIO Console | 🔄 Deployed (testing pending) | +| https://cdn.banatie.app/ | Image CDN (MinIO public) | 🔄 Deployed (testing pending) | **Canonical URL:** `https://banatie.app/` (non-www, with trailing slash) @@ -31,16 +32,40 @@ ### Server Stack - **Reverse Proxy:** Caddy (auto SSL via Let's Encrypt) - **Container Runtime:** Docker Compose -- **Landing App:** Next.js 15 (standalone output) +- **Base Path:** `/opt/banatie/` + +### Docker Services -### Docker Services (Landing) ``` banatie-landing: - - Next.js standalone server + - Next.js 15 standalone server - Port: 3000 (internal) - - Volume: ./waitlist-logs (email collection) + - Volume: ./data/waitlist-logs + +banatie-api: + - Express.js API service + - Port: 3000 (internal) + - Volumes: ./data/api-results, ./data/api-uploads + +banatie-postgres: + - PostgreSQL database (isolated, not shared) + - Port: 5432 (internal) + - Volume: ./data/postgres + +banatie-minio: + - S3-compatible object storage + - Port: 9000 (API), 9001 (Console) + - Volume: ./data/minio + +banatie-storage-init: + - One-time bucket initialization + - Creates 'banatie' bucket with public policy ``` +### Network Configuration +- **External network:** `services_proxy-network` (shared with Caddy) +- **Internal network:** `banatie-internal` (isolated for DB/MinIO) + --- ## 3. Domain & DNS @@ -59,6 +84,7 @@ banatie-landing: | A | banatie.app | [VPS IP] | ✅ Proxied | | CNAME | www | banatie.app | ✅ Proxied | | CNAME | api | banatie.app | ✅ Proxied | +| CNAME | storage | banatie.app | ✅ Proxied | | CNAME | cdn | banatie.app | ✅ Proxied | | TXT | @ | google-site-verification=... | DNS only | | TXT | _dmarc | v=DMARC1;... | DNS only | @@ -98,7 +124,78 @@ Then: 301 redirect to https://banatie.app/ --- -## 5. SEO Configuration +## 5. Caddy Configuration + +Routes in `/opt/services/configs/caddy/Caddyfile`: + +```caddy +www.banatie.app { + redir https://banatie.app{uri} permanent +} + +banatie.app { + reverse_proxy banatie-landing:3000 + header { + Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" + X-Content-Type-Options "nosniff" + X-Frame-Options "DENY" + } +} + +api.banatie.app { + reverse_proxy banatie-api:3000 +} + +storage.banatie.app { + reverse_proxy banatie-minio:9001 +} + +cdn.banatie.app { + reverse_proxy banatie-minio:9000 + header Access-Control-Allow-Origin "*" +} +``` + +--- + +## 6. Environment Variables + +### .env (non-secret) +```env +NODE_ENV=production +PORT=3000 +POSTGRES_DB=banatie_db +POSTGRES_USER=banatie_user +DATABASE_URL=postgresql://USER:PASSWORD@banatie-postgres:5432/banatie_db +MINIO_ENDPOINT=banatie-minio:9000 +MINIO_USE_SSL=false +MINIO_BUCKET_NAME=banatie +MINIO_PUBLIC_URL=https://cdn.banatie.app +STORAGE_TYPE=minio +API_BASE_URL=https://api.banatie.app +API_PUBLIC_URL=https://api.banatie.app +NEXT_PUBLIC_API_URL=https://api.banatie.app +CORS_ORIGIN=https://banatie.app,https://api.banatie.app +DEFAULT_ORG_ID=default +DEFAULT_PROJECT_ID=main +DEFAULT_USER_ID=system +``` + +### secrets.env (sensitive) +```env +POSTGRES_PASSWORD= +MINIO_ROOT_USER=banatie_admin +MINIO_ROOT_PASSWORD= +MINIO_ACCESS_KEY=banatie_service +MINIO_SECRET_KEY= +GEMINI_API_KEY= +JWT_SECRET= +SESSION_SECRET= +``` + +--- + +## 7. SEO Configuration ### Meta Tags - **Title:** AI Image Generation Inside Your Workflow | Banatie @@ -126,7 +223,7 @@ Then: 301 redirect to https://banatie.app/ --- -## 6. Analytics +## 8. Analytics ### Umami Analytics - **Plan:** Cloud (free tier) @@ -136,7 +233,7 @@ Then: 301 redirect to https://banatie.app/ --- -## 7. Performance +## 9. Performance ### PageSpeed Scores (December 19, 2025) | Metric | Mobile | Desktop | @@ -159,45 +256,48 @@ Then: 301 redirect to https://banatie.app/ --- -## 8. Email Collection +## 10. Deploy Scripts -### Current Implementation -- **Storage:** File-based (volume on VPS) -- **Location:** ./waitlist-logs/ -- **Format:** JSON files per submission -- **Email sending:** Not implemented +Located in `~/workspace/projects/banatie-service/scripts/`: -### Data Captured -- Email address -- Selected options from popup -- Timestamp - -### Future Plans -- Email service integration (TBD) -- Welcome email automation -- Newsletter setup +- **deploy-landing.sh** — Deploy landing page to VPS +- **deploy-api.sh** — Deploy API service to VPS --- -## 9. Next.js Configuration +## 11. Key Learnings (December 23, 2025) -```typescript -// next.config.ts -const nextConfig: NextConfig = { - output: 'standalone', - trailingSlash: true, - images: { - formats: ['image/avif', 'image/webp'], - }, - eslint: { - ignoreDuringBuilds: true, - }, -}; -``` +### Docker & Next.js +1. **NEXT_PUBLIC_* variables** — Required for client-side code, must be present at build time +2. **pnpm workspaces in Docker** — Symlinks break between stages, use single-stage install +3. **HOSTNAME=0.0.0.0** — Required for Next.js multi-network binding in containers + +### Docker User NS Remapping +- Host UID = Container UID + 165536 +- PostgreSQL: `sudo chown -R 165606:165606 /opt/banatie/data/postgres` +- MinIO: `sudo chown -R 166536:166536 /opt/banatie/data/minio` + +### Database +- **DATABASE_URL encoding** — Special characters like `=` must be encoded as `%3D` --- -## 10. Deployment Checklist +## 12. Known Issues + +### ⚠️ Healthcheck Unhealthy +- **Issue:** Landing and API containers show "unhealthy" status +- **Cause:** No `curl` binary in containers +- **Impact:** Cosmetic only, services work correctly +- **Fix:** Add curl to Dockerfiles or use wget/node healthcheck + +### ⚠️ Cache Permission Warning +- **Issue:** Landing container logs warning about `.next/cache` +- **Impact:** Minor, caching still works +- **Fix:** Adjust volume permissions or Dockerfile user + +--- + +## 13. Deployment Checklist ### Completed ✅ - [x] Landing page deployed (~December 15, 2025) @@ -210,15 +310,22 @@ const nextConfig: NextConfig = { - [x] Trailing slash redirect - [x] Image optimization (AVIF) - [x] PageSpeed 95+ mobile +- [x] **API service deployed (December 23, 2025)** +- [x] **PostgreSQL running** +- [x] **MinIO storage configured** +- [x] **CDN endpoint configured** +- [x] **Master API key generated** +- [ ] **Full API testing** (generation, upload, CDN URLs) — planned by end of week ### Pending ⏳ -- [ ] API service deployment -- [ ] CDN service setup (Imageflow + MinIO) +- [ ] Full API workflow testing +- [ ] Healthcheck fix (curl in containers) +- [ ] Cache permission fix - [ ] Email service integration - [ ] Self-hosted Umami migration --- **Document Owner:** Oleg -**Last Updated:** December 21, 2025 -**Next Review:** After API deployment +**Last Updated:** December 23, 2025 +**Next Review:** After production testing diff --git a/research/INDEX.md b/research/INDEX.md index cae2a0a..e7df48e 100644 --- a/research/INDEX.md +++ b/research/INDEX.md @@ -1,6 +1,6 @@ # Research Documentation Index -**Last Updated:** November 2, 2025 +**Last Updated:** December 26, 2025 **Purpose:** Navigation hub for all Banatie research materials **Status:** 📝 Living document @@ -12,7 +12,7 @@ This folder contains all passive research conducted to validate ICP hypotheses f **Research Structure:** Flat folder with descriptive filenames (no nested folders) **Output Format:** Markdown files with strong signals, evidence links, and strategic analysis -**Current Phase:** Phase 1 completed (Directions 0, 1, 2, 6) → Interview preparation active +**Current Phase:** Phase 1 completed (Directions 0, 1, 2, 6) → Interview preparation active + SEO research active --- @@ -31,6 +31,59 @@ This folder contains all passive research conducted to validate ICP hypotheses f --- +## 🔍 SEO Keyword Research ⭐ NEW SECTION + +### [seo-keyword-research-placeholder-images.md](seo-keyword-research-placeholder-images.md) ⭐ HIGH PRIORITY +**Type:** SEO Keyword Research (DataForSEO) +**Date:** December 26, 2025 +**Status:** ✅ COMPLETED - Actionable findings + +**Key Findings:** +- **Entry point:** "placeholder images" — 14,800 searches/mo, KD 32 +- **GAP:** No AI-powered solutions in top-10 Google +- **Low-hanging fruit:** "placeholder images api" — KD 12, commercial intent +- **Content plan:** 5 articles with specific targets + +**Action Items:** +1. 🥇 Create `/placeholder-images` landing page (target: 14,800/mo) +2. 🥇 Write "Placeholder Images API" tutorial (KD 12) +3. 🥈 Listicle "Best Placeholder Generators 2025" +4. 🥈 Tutorial "Image Placeholder in HTML/React" + +**Strategic Insight:** Banatie can offer AI-generated placeholders vs competitors' gray rectangles. Qualitatively different product for same audience. + +**See also:** [Discussion 2025-12-26](../discussions/2025-12-26-dataforseo-integration-keyword-research.md) + +--- + +### SEO Research Methodology (DataForSEO) + +**Tools:** DataForSEO API via MCP Server +**Cost:** ~$0.15-0.20 per research session +**Budget:** $0.50 max per session (continue on user request) + +**Research Protocol:** +``` +1. INPUT: 3-5 seed keywords per category +2. PROCESS: + - Search volume for seeds + - Related keywords for top-3 by volume + - Filter: KD < 50, Volume > 50 + - SERP check for finalists +3. OUTPUT: + - Keywords table with metrics + - Content gap analysis + - Recommendations +``` + +**Keyword Categories:** +- Entry points: placeholder images, mock images, dummy images +- Solutions: image generation api, generate images programmatically +- Use-cases: product images api, blog images api +- Tech stack: nextjs image generation, react generate images + +--- + ## 📊 Research Direction Trackers ### [banatie-research-directions-tracker.md](banatie-research-directions-tracker.md) @@ -141,6 +194,11 @@ This folder contains all passive research conducted to validate ICP hypotheses f - Direction 1 (Agencies) = 60-70% confidence, ICP mismatch concern - Direction 6 (E-commerce/NoCode) = 30-40% confidence, pivot required +**SEO Opportunities (NEW):** +- "Placeholder images" cluster = ⭐ 14,800 searches/mo, no AI competition +- Low-competition keywords with commercial intent identified +- Content strategy defined for Q1 2025 + **ICP Segmentation (from Direction 2):** - **Segment A:** Studios/Agencies (3-10 people, CEO decision, higher ACV) - **Segment B:** Power Users ⭐ PRIMARY (Tech leads with Cursor/Claude Code) @@ -161,11 +219,17 @@ This folder contains all passive research conducted to validate ICP hypotheses f - ✅ ICP refined to A/B/C/D segments - ✅ Primary market validated (AI Coding Agents) -**Next Phase: External Validation (Nov 4-10, 2025):** +**SEO Research Phase (Dec 26, 2025):** ⭐ NEW +- ✅ DataForSEO MCP Server integrated +- ✅ First keyword cluster researched ("placeholder images") +- ✅ Content plan with 5 articles defined +- ⏳ Additional clusters pending (use-case, tech stack) + +**Next Phase: External Validation + Content (January 2025):** - 10-14 customer interviews across A/B/C/D segments +- Create `/placeholder-images` landing page +- Publish first SEO-optimized tutorials - Validate willingness to pay ($20-50/mo) -- Identify KILLER USE CASE (60%+ mention same pain) -- Decision Gate 1: GO / PIVOT / STOP **Success Criteria for GO:** - 60%+ say "I would use this" (6+ out of 10) @@ -177,7 +241,7 @@ This folder contains all passive research conducted to validate ICP hypotheses f ## 🔄 Research Workflow (Quick Reference) -**For new research sessions:** +**For ICP/Market research sessions:** 1. **Load Context:** - Read: ROADMAP.md, INDEX.md, 12-the-current-tech-state.md @@ -204,11 +268,19 @@ This folder contains all passive research conducted to validate ICP hypotheses f - Decide: Keep searching / Move on / Pivot - Update tracker with findings +**For SEO Keyword research sessions:** ⭐ NEW + +1. **Define Category:** Entry points, solutions, use-cases, tech stack +2. **Run DataForSEO:** Search volume → Related → SERP +3. **Filter:** KD < 50, Volume > 50 +4. **Analyze:** Content gaps, competitor presence +5. **Output:** Create `seo-keyword-research-{topic}.md` + --- ## 📝 File Inventory -**Total Files:** 7 (excluding this INDEX.md) +**Total Files:** 8 (excluding this INDEX.md) **Planning Documents (2):** - banatie-research-directions-tracker.md (Directions 0-10) @@ -217,15 +289,19 @@ This folder contains all passive research conducted to validate ICP hypotheses f **Methodology (1):** - passive-research-methodology.md (Reusable framework) -**Completed Research (4):** +**ICP Research (4):** - direction-1-strong-signals.md (Agencies + Placeholder Hell) - direction-2-strong-signals.md (AI Agents - Partial) - direction-2-strong-signals-part2.md (AI Agents - Complete) ⭐ - direction-6-strong-signals.md (Gemini/E-commerce/NoCode) +**SEO Keyword Research (1):** ⭐ NEW +- seo-keyword-research-placeholder-images.md (Entry point cluster) + **Future Research:** - Directions 3, 4, 5, 7, 8, 9, 10 mapped but not yet researched - Directions 11, 12 scoped for future exploration if needed +- Additional keyword clusters: use-case, tech stack, competitor alternatives --- @@ -244,9 +320,12 @@ This folder contains all passive research conducted to validate ICP hypotheses f - [08-validation-plan.md](../execution/08-validation-plan.md) - Interview sprint plan - [03-icp-research-questions.md](../execution/03-icp-research-questions.md) - Interview script +**For discussions:** +- [2025-12-26-dataforseo-integration-keyword-research.md](../discussions/2025-12-26-dataforseo-integration-keyword-research.md) - DataForSEO session ⭐ NEW + --- **Document Owner:** @men + Oleg -**Version:** 1.0 -**Next Review:** After external validation complete (Nov 10, 2025) +**Version:** 1.1 (SEO research section added) +**Next Review:** After content marketing sprint (January 2025) **Maintenance:** Update when new research completed or insights synthesized diff --git a/research/seo-keyword-research-placeholder-images.md b/research/seo-keyword-research-placeholder-images.md new file mode 100644 index 0000000..cb111a2 --- /dev/null +++ b/research/seo-keyword-research-placeholder-images.md @@ -0,0 +1,193 @@ +# SEO Keyword Research: Placeholder Images Cluster + +**Date:** December 26, 2025 +**Status:** ✅ Validated +**Source:** DataForSEO API (live data) +**Budget spent:** ~$0.14 +**Related docs:** [Content Marketing Sprint in ROADMAP.md] + +--- + +## Краткое резюме + +Найдена **высокопотенциальная точка входа** для SEO-трафика Banatie: кластер keywords вокруг "placeholder images". + +**Главный инсайт:** 14,800 разработчиков в месяц ищут placeholder images. В топ-10 Google **нет AI-powered решений** — только устаревшие сервисы с серыми квадратами и рандомными фото. + +Banatie может занять эту нишу с уникальным предложением: AI-генерация placeholder изображений по prompt. + +--- + +## Найденные Keywords + +### Entry Point (главная точка входа) + +| Keyword | Volume/мес | KD | CPC | Intent | Возможность | +|---------|------------|-----|-----|--------|-------------| +| **placeholder images** | 14,800 | 32 | $7.74 | Informational | 🎯 Главный таргет | + +### Long-tail вариации (низкая конкуренция) + +| Keyword | Volume | KD | CPC | Intent | Приоритет | +|---------|--------|-----|-----|--------|-----------| +| placeholder images api | 90 | 12 | — | Commercial | 🥇 Очень высокий | +| placeholder image url | 390 | 21 | $3.88 | Navigational | 🥇 Высокий | +| random image api | 110 | 17 | — | Navigational | 🥇 Высокий | +| placeholder image generator | 480 | 32 | — | Commercial | 🥈 Средний | +| image placeholder html | 320 | 34 | — | Informational | 🥈 Средний | +| dummy images | 720 | 16 | — | Transactional | 🥈 Средний | +| lorem ipsum images | 170 | 10 | — | Navigational | 🥉 Низкий | +| placeholder product image | 30 | 11 | $40.64 | Commercial | 🥉 Нишевый | + +### Незанятые ниши (0 данных = 0 конкуренции) + +- "AI placeholder images" — появляется в Google Suggestions, но нет в базе +- "dynamic placeholder images" +- "custom placeholder images" + +--- + +## Конкурентный ландшафт (SERP Analysis) + +### Кто сейчас в топ-10 по "placeholder images" + +| # | Домен | Что предлагает | Тип | +|---|-------|----------------|-----| +| 1 | placehold.co | Серые прямоугольники с размерами | Tool | +| 2 | picsum.photos | Рандомные stock фото | Tool | +| 3 | reddit.com | UGC обсуждение | Forum | +| 4 | stock.adobe.com | Stock фото для покупки | Stock | +| 5 | loremipsum.io | Listicle "15 best generators" | Blog | +| 6 | unsplash.com | Бесплатные stock фото | Stock | +| 7 | VS Code Marketplace | Extension | Tool | +| 8 | placehold.net | Ещё один генератор прямоугольников | Tool | + +### Ключевой вывод + +**Распределение контента:** +- 🔧 Tool Pages: 4 (50%) +- 🖼️ Stock Photos: 2 (25%) +- 📝 Blog: 1 (12.5%) +- 💬 UGC: 1 (12.5%) + +**GAP:** Ни одного AI-решения. Все существующие сервисы предлагают либо статические прямоугольники, либо рандомные фото. Никто не генерирует изображения по описанию. + +--- + +## Стратегические выводы + +### 1. Почему это важно для Banatie + +``` +Разработчик гуглит "placeholder images" + ↓ +Находит Banatie (статью или tool page) + ↓ +Видит: "AI-генерация по prompt вместо серых квадратов" + ↓ +Пробует бесплатно + ↓ +Понимает ценность (быстрее чем Midjourney workflow) + ↓ +Конвертируется в платящего пользователя API +``` + +### 2. Типы контента для создания + +| Приоритет | Тип | Target Keyword | Volume | KD | Цель | Где публиковать | +|-----------|-----|----------------|--------|-----|------|-----------------| +| 🥇 | Landing page | placeholder images | 14,800 | 32 | SEO entry point | banatie.app/placeholder-images | +| 🥇 | Dev tutorial | placeholder images api | 90 | 12 | Developer conversion | Blog + dev.to | +| 🥈 | Listicle | placeholder image generator | 480 | 32 | Comparison, brand mention | Blog + dev.to | +| 🥈 | Tutorial | image placeholder html | 320 | 34 | Educational, dev audience | Blog | +| 🥉 | Blog post | random image api | 110 | 17 | Long-tail capture | Blog | + +### 3. Конкурентное преимущество + +**Текущие решения:** +- placehold.co: `https://placehold.co/600x400` → серый прямоугольник +- picsum.photos: `https://picsum.photos/600/400` → рандомное фото + +**Banatie:** +- `https://banatie.app/img/coffee-shop-interior-cozy-morning` → AI-сгенерированное изображение кофейни + +Это **качественно другой продукт** для той же аудитории. + +--- + +## Action Items + +### Высокий приоритет (январь 2025) + +- [ ] **Создать landing page** `/placeholder-images` или `/use-cases/placeholder-images` + - Оптимизировать под "placeholder images" + - Показать сравнение: старые сервисы vs Banatie AI + - CTA: попробовать бесплатно + +- [ ] **Написать tutorial** "Placeholder Images API for Developers" + - Target: "placeholder images api" (KD 12) + - Опубликовать: blog + dev.to + Hashnode + - Включить code examples для React/Next.js + +### Средний приоритет (февраль 2025) + +- [ ] **Listicle статья** "10 Best Placeholder Image Generators in 2025" + - Target: "placeholder image generator" (KD 32) + - Banatie в топ-3 списка с честным сравнением + - Опубликовать: blog + dev.to + +- [ ] **Educational tutorial** "How to Add Placeholder Images in HTML/React" + - Target: "image placeholder html" (KD 34) + - Показать разные подходы, Banatie как premium решение + +--- + +## Методология исследования + +### Инструменты +- DataForSEO API через MCP Server +- Keywords Data API (search volume, related keywords) +- SERP API (competitor analysis) + +### Запросы выполнены +1. Search volume для seed keywords +2. Related keywords к "placeholder images" +3. SERP analysis топ-10 по main keyword +4. Search volume для long-tail вариаций + +### Стоимость +- ~$0.14 за полный research cycle +- Рекомендуемый бюджет на статью: $0.15-0.20 + +--- + +## Следующие шаги для keyword research + +### Другие кластеры для исследования + +1. **Use-case cluster:** "product images api", "blog images api", "landing page images" +2. **Tech stack cluster:** "nextjs image generation", "react generate images" +3. **Competitor alternatives:** "cloudinary alternative", "replicate alternative" +4. **Problem-aware cluster:** "waiting for design assets", "mock images for prototype" + +### Research Protocol для агентов + +``` +1. INPUT: 3-5 seed keywords по категории +2. PROCESS: + - Search volume для seeds + - Related keywords для топ-3 по volume + - Фильтр: KD < 50, Volume > 50 + - SERP check для финалистов +3. OUTPUT: + - Таблица keywords с метриками + - Content gap analysis + - Рекомендации: какой контент создавать +4. BUDGET: $0.50 max per session +``` + +--- + +**Document owner:** @men +**Next review:** After first content pieces published +**Version:** 1.0