Transform a single seed (URL or text) into a complete 5-day content pack.
Input: One seed (article URL, blog post, video transcript, or raw text)
Output:
- 1 SEO-optimized blog post (SSR, Next.js App Router)
- 25 platform-native social posts (5 days × 5 platforms)
- Google Business Profile
- YouTube (title + description)
- Monday–Friday schedule (timezone-aware ISO timestamps)
- Review JSON (editable fields before posting)
- Seed + Sources files (for transparency and attribution)
Deploy-safe design:
- ✅ No database
- ✅ No OAuth
- ✅ No external SDKs
- ✅ No image generation libraries
- ✅ No Sharp (no native dependencies)
- ✅ Works locally (file writes) or Vercel (bundle export)
Tech stack:
- Next.js 14 (App Router)
- TypeScript
- Tailwind CSS
- Server Actions
npm installnpm run dev- Click "Create New Pack"
- Fill in:
- Seed: URL or paste text
- Business info: Name, region, website, value prop
- Offer: CTA text + URL
- Keywords: Comma-separated
- Timezone: IANA format (e.g.,
America/Los_Angeles) - Slug: URL-friendly identifier (e.g.,
week-45-ai-tips)
- Click "Generate Pack"
- Review generated files in:
/app/blog/[slug]/page.tsx- Blog post/social/{platform}/[slug]/day-{1-5}.md- Social posts/review/[slug].json- Editable review file/scheduler/[slug].json- Posting schedule
Local/Self-hosted:
- Files are written directly to filesystem
- Commit and push to deploy
Vercel:
- Filesystem is read-only
- System returns a "bundle" with all file contents
- Copy-paste files into your repo manually
- Commit and deploy
/app
/blog
/[slug]
page.tsx # Generated blog post (SSR)
/packs
page.tsx # List all packs
/new
page.tsx # Form to create new pack
actions.ts # Server action for generation
page.tsx # Homepage
layout.tsx # Root layout
globals.css # Global styles
robots.ts # SEO: robots.txt
sitemap.ts # SEO: sitemap.xml
/lib
generator.ts # Core content generation logic
types.ts # TypeScript types
/content
/[slug]
seed.txt # Original seed content
sources.md # Attribution and sources
/social
/facebook/[slug]
day-1.md ... day-5.md
/instagram/[slug]
day-1.md ... day-5.md
/linkedin/[slug]
day-1.md ... day-5.md
/gbp/[slug]
day-1.md ... day-5.md
/youtube/[slug]
title.txt
description.md
/review
/[slug].json # Edit before posting
/scheduler
/[slug].json # Mon-Fri schedule
- SSR with visible HTML
- One
<h1>, logical<h2>/<h3>structure - Internal links to CTA URL
- Metadata: title, description, canonical, OG, Twitter
- JSON-LD:
Article+FAQPage(3-5 Q&As) - Sources section with attribution
- Localized naturally (city/region)
- Facebook: 1-2 paragraphs + 3-5 hashtags
- Instagram: Scannable caption, line breaks, 8-15 hashtags
- LinkedIn: Value paragraph + 3-5 bullets + 3-6 hashtags
- GBP: 100-300 chars, crisp CTA
- YouTube: Title ≤70 chars + description (hook, CTA, tags)
- ≥80% paraphrased
- No >75-char verbatim runs from seed
- Fresh outline (don't mirror seed structure)
- Cite canonical URL in Sources
Default posting windows (local time):
- LinkedIn: 07:30–09:30 or 12:00–13:00
- Facebook: 09:00–11:00 or 13:00–15:00
- Instagram: 09:00–10:00 or 11:00–13:00
- GBP: 09:00–12:00
- YouTube: 12:00–15:00
Mon–Fri distribution with timezone-aware ISO timestamps in /scheduler/[slug].json.
No autoposting - Review first, then schedule manually.
robots.ts- Allows Googlebot, AI crawlerssitemap.ts- Includes all blog routes- Metadata on every page
- JSON-LD structured data
- Canonical URLs
- Social sharing tags (OG, Twitter)
Edit /lib/generator.ts:
generateBlogPage()- Blog post structuregenerateSocialPost()- Platform-specific postsgenerateYouTubeTitle()/generateYouTubeDescription()
Edit /lib/generator.ts → generateSchedulerJSON()
Edit /app/packs/new/page.tsx
npm run buildDeploy to Vercel:
- Zero config needed
- Environment variables:
NEXT_PUBLIC_SITE_URL(optional, for sitemap/robots)
npm run build
npm run startOr use Docker, PM2, etc.
- Blog SSR page builds (TSX, metadata, JSON-LD)
- Five daily posts for FB, IG, LinkedIn, GBP + YouTube
- Schedule JSON (Mon–Fri, timezone-correct ISO)
- Review JSON with editable fields
- Seed text and sources saved
- robots + sitemap present
- No extra dependencies, DB, or auth
- Works on Vercel and locally
MIT
This is a single-user system designed for simplicity. Fork and customize for your needs!
Built with ❤️ using Next.js 14, TypeScript, and zero complexity.