# 04. Create Blog Post Content meta: id: landing-pages-and-admin-04 feature: landing-pages-and-admin priority: P2 depends_on: [landing-pages-and-admin-02, landing-pages-and-admin-03] tags: [content, blog, database-seed] objective: - Create at least 4 substantive, well-written blog posts with practical advice on scam prevention, AI detection, identity theft recovery, and related topics. Seed these posts into the database via the admin interface or a seed script. deliverables: - At least 4 full blog post entries in the `blogPosts` database table - Each post includes: title, slug, excerpt, full markdown content, author name, tags, published status, published date - Content covers: scam prevention advice, AI detection tips, identity theft recovery steps, dark web safety, data broker removal - At least one post marked as `featured` steps: - Research and write blog post content for each topic: 1. "How to Spot AI-Generated Scam Calls and Messages" — practical detection tips, red flags, what to do if targeted 2. "Identity Theft Recovery: Step-by-Step Guide" — actionable steps after discovering identity theft, agencies to contact, timeline 3. "Dark Web Exposure: What It Means and How to Respond" — explains data breaches, what info is exposed, protective measures 4. "Data Brokers Exposed: How to Remove Your Info From 20+ Sites" — comprehensive guide to opting out, tools, automation 5. "Deepfake Voice Scams: Protecting Your Family" — how voice cloning works, verification strategies, family safety protocols - Format each post in markdown with: - H1 title - Intro paragraph (used as excerpt) - Multiple H2 sections with detailed content - Bullet points, numbered lists for actionable steps - Internal links to Kordant product features where relevant - Tags array (matching existing tag categories) - Create database seed script or use admin interface to insert posts: - Generate unique slugs from titles - Set `published` to true - Set `publishedAt` to appropriate dates (spread across recent months) - Set `authorName` to realistic author names - Mark one post as `featured` - Verify all posts render correctly on `/blog` and `/blog/[slug]` - Review and proofread all content for quality and accuracy tests: - Integration: All posts appear in blog listing page - Integration: Each post renders correctly on individual page - Integration: Featured post displays at top of blog listing - Integration: Tags are properly associated and filterable - Content: Each post is at least 800 words of substantive content acceptance_criteria: - At least 4 blog posts exist in the `blogPosts` database table - Each post has: title, slug, excerpt, full markdown content (800+ words), author name, tags, published date - Posts cover diverse topics: scam prevention, AI detection, identity theft recovery, dark web safety, data broker removal - At least one post is marked as `featured` - All posts render correctly on both listing and detail pages - Content is well-written, accurate, and provides actionable advice - Tags are properly categorized and filterable on the blog listing page validation: - `cd /Users/mike/Code/Kordant/web && pnpm dev` then navigate to `/blog` - Verify all posts appear in chronological order - Click each post and verify full content renders with proper markdown formatting - Verify featured post appears at top of listing - Test tag filtering with each tag category - Verify view counts increment on page views notes: - Content should be educational and helpful, not overly promotional - Reference real-world examples and statistics where possible - Include actionable steps users can take immediately - Link to relevant Kordant features naturally within content (not forced) - Use existing tag categories: "Identity Theft", "AI Safety", "Privacy", "Deepfakes", "Dark Web", "Scam Alerts", "Product News" - Author names should be consistent (use "Kordant Security Team" or specific editor names) - Published dates should be spread across recent months for realistic timeline - Consider creating a seed script at `/web/src/server/db/seed/blog.ts` for reproducibility