4.1 KiB
4.1 KiB
Content Engine (v1.0 - MVP)
Status: Live / MVP Implemented
Date: Jan 20, 2026
URL: /content/
1. Vision & Purpose
The Content Engine acts as the execution arm ("The Mouth") for the strategies developed in the GTM Architect ("The Brain"). It is a Content Generation Dashboard designed to produce high-quality, SEO-optimized, and sales-ready marketing assets based on the strategic foundation of the GTM Architect.
Core Philosophy:
- SEO First: Keywords guide the structure, not just metadata.
- Human-in-the-Loop: Every generated asset is a draft that invites manual refinement.
- Context-Aware: It inherits deep strategic knowledge (ICPs, Pain Points, Hybrid Service Logic) from the GTM Architect database.
- Tone: Professional, fact-based, compelling, and "slightly aggressive" (Challenger Sale).
2. Architecture & Tech Stack
Data Layer
- Persistence: A dedicated SQLite database (
content_engine.db) stores all content projects, SEO strategies, and drafts. - Integration: Read-only access to
gtm_projects.dbvia Docker volume mounts to import strategy baselines.
The Stack
- Frontend: React (Vite + TypeScript + Tailwind CSS).
- Backend: Node.js Bridge (
server.cjs, Express) communicating with a Python Orchestrator (content_orchestrator.py). - Container: Dockerized service (
content-app), integrated into the central Nginx Gateway.
3. Implemented Features (MVP)
Phase 1: Project Setup & Import
- GTM Bridge: Lists and imports strategies directly from GTM Architect.
- Context Loading: Automatically extracts Product Category, ICPs, and Core Value Propositions.
Phase 2: SEO Strategy
- AI Brainstorming: Generates 15 strategic Seed Keywords (Short & Long Tail) based on the imported strategy.
- Persistence: Saves the chosen SEO strategy to the database.
Phase 3: Website Copy Generator
- Section Generator: Generates structured copy for:
- Hero Section (Headline, Subline, CTA)
- Challenger Story (Problem/Agitation)
- Value Proposition (Hybrid Solution Logic)
- Feature-to-Value (Tech Deep Dive)
- Editor UI: Integrated Markdown editor for manual refinement.
- Copy-to-Clipboard: Quick export for deployment.
4. Lessons Learned (Development Log)
Docker & Networking
- Volume Mounts: Never mount a local folder over a container folder that contains build artifacts (like
node_modulesordist). Solution: Build frontend inside Docker and serve via Node/Express static files, or be extremely precise with volume mounts. - Nginx Routing: Frontend fetch calls must use relative paths (e.g.,
api/importinstead of/api/import) to respect the reverse proxy path (/content/). Absolute paths lead to 404/502 errors because Nginx tries to route them to the root. - 502 Bad Gateway: Often caused by the Node server crashing immediately on startup. Common cause: Missing backend dependencies (like
express) in the Docker image becausepackage.jsonwasn't copied/installed for the backend context.
Frontend (Vite/React)
- TypeScript Configuration:
tscrequires a validtsconfig.json. Without it,npm run buildfails silently or with obscure errors. - Linting vs. Prototyping: Strict linting (
noUnusedLocals: true) is good for production but blocks rapid prototyping. Solution: Relax rules intsconfig.jsonduring MVP phase. - ES Modules vs. CommonJS: When
package.jsonhas"type": "module", configuration files likepostcss.config.jsMUST be renamed to.cjsif they usemodule.exports.
Python & Backend
- Standard Libs: Do NOT include standard libraries like
sqlite3inrequirements.txt. Pip will fail. - Strings in Prompts: ALWAYS use
r"""..."""(Raw Strings) for prompts to avoid syntax errors with curly braces in JSON templates.
5. Roadmap
- LinkedIn Matrix: Generate posts for (Persona x Content Type).
- Outbound Email: Cold outreach sequences.
- Press Kit: Automated PR generation.