WGU Software Engineering — Capstone Portfolio

Production AI Content Platform on Self-Hosted Infrastructure

A 78,000+ line production system spanning 3 repositories, 3 Facebook pages, and 546+ weekly automated posts — self-hosted on home lab hardware with cloud orchestration on Railway and secure tunnel ingress via Ngrok.

AuthorJulius Moore
Version2.0
DateApril 2026
Codebase78,295 lines
StatusProduction 24/7
00 — Platform at a Glance
78K+
Lines of Code
3
Production Repos
546
Posts / Week
3
Facebook Pages
8
External APIs
24/7
Server Uptime
01 — System Architecture
External APIs & Services
📱
Meta Graph API
Facebook Pages API
Webhooks (inbound)
Post / Comment / Reply
Platform API
🤖
AI Services
Anthropic Claude
xAI Grok · OpenAI
Content + scoring
AI Inference
🎨
Media APIs
Kie.ai (images)
ElevenLabs (TTS)
Suno (music)
Generation
HTTPS / Webhooks
Cloud — Railway
🚂
meta_engagement_pipeline
36K lines · Express + Worker + PM2
Postgres · Cron automation
Greetings · Engagement scoring
Self-healing · Content analysis
Railway PaaS
⚙️
PM2 Processes
mlx-poster
feed-engager
worker (crons)
Process Mgmt
📊
Postgres
Users · Pages
ScheduledPosts
Interactions
FollowerGrowth
Database
Ngrok Tunnel (SSE + HTTPS)
ISP Gateway
📡
Xfinity xFi Gateway
Modem + Router + WiFi · WAN: Coax
No port forwarding — Ngrok only
Gateway
🏠
Somfy Hub
Smart blinds
WiFi
IoT
Ethernet → Patch Panel → Switch
Switching & Distribution
Structured Wiring Panel
8-port keystone patch panel
Coax splitter · Utility closet
Distribution
🔵
TP-Link TL-SG108
8-Port Gigabit Unmanaged
→ Upgrading to GS308EP
Switch
5+ Active Drops → Rooms
Home Server — Acer Aspire 3 15 (24/7)
🖥️
social-media-mcp
19,753 lines · TypeScript · MCP Protocol
Express SSE on :3000 · 22 lib modules
Kie, Suno, ElevenLabs, Remotion, FFmpeg
Puppeteer FB automation · 20+ video templates
● Always On
📂
fb-content-system
22,067 lines · JS/TS/Python
182 posts/wk × 3 pages
Claude copy · Playwright render
Remotion reels · Graph API post
● Production
🔗
Ngrok Agent
Tunnel to cloud
Public HTTPS
SSE transport
Tunnel
02 — Repository Architecture
social-media-mcp
github.com/design1-software/social-media-mcp
19,753 lines·TypeScript·Self-hosted
MCP server running 24/7 on the home server. Exposes AI content creation tools via Model Context Protocol over SSE. Bridges cloud orchestration to local compute and browser automation. Integrates 8 external APIs into a unified tool interface.
src/lib/kie.ts
Kie.ai image generation
src/lib/elevenlabs.ts
Text-to-speech voiceover
src/lib/suno.ts
AI music for reels
src/lib/remotion.ts
Video rendering (20+ templates)
src/lib/facebook.ts
Puppeteer browser automation
src/lib/ffmpeg.ts
Media stitching & processing
src/lib/grok.ts
xAI Grok content + vision
src/lib/storyArc.ts
Multi-part story generation
src/lib/commentBait.ts
Engagement-optimized posts
src/lib/identity.ts
Brand profile management
src/lib/perplexity.ts
Web research & trend ID
remotion/ (20+ files)
PlaybookPromo, ViralShort, Quote, Comic, Lesson
meta_engagement_pipeline
github.com/design1-software/meta_engagement_pipeline
36,475 lines·JavaScript·Railway
Cloud-hosted engagement orchestrator with dual-engine architecture: Graph API engine for official page actions, Sidecar engine bridging back to home server MCP for browser-automated profile actions. Manages 3 Facebook pages with automated greetings, strategic content drafts, follower tracking, quality scoring, and self-healing recovery.
server.js
Express API: webhooks, inbox, pages, viral, auth
worker.js
Cron engine: greetings 2×/day, drafts 5×/day
lib/publisher.js
Graph API posting w/ error recovery
lib/mcpClient.js
MCP client → home server via Ngrok
lib/greetingService.js
Zero-touch AM/PM greeting automation
lib/viralContentService.js
Viral content pipeline + media gen
lib/contentAnalyzer.js
LLM-based quality scoring
lib/selfHealingService.js
Auto-recovery from failures
lib/cohortManager.js
Cross-page engagement
facebookAutomator.js
Browser automation via Sidecar
models/ (10+ models)
Sequelize ORM → Postgres
routes/ (12 files)
webhooks, viral, inbox, lab, narrative
fb-content-system
github.com/design1-software/fb-content-system
22,067 lines·JS/TS/Python·Local
Content factory producing 182 posts/week per page across 3 Facebook pages (MEA, Runnin From A2B, After The Uniform). Full 6-phase pipeline: page discovery → visual system → content production → posting → reels → engagement loop. 10 content pillars per page with branded HTML templates rendered to PNG via Playwright and video reels via Remotion.
tools/generate_copy.js
Claude API — voice-calibrated copy per post
tools/fb_poster.js
Graph API posting w/ SQLite ledger
tools/render.py
Playwright HTML→PNG 1080×1080
tools/engagement_tracker.js
Pull engagement, score per pillar
tools/content_recycler.js
Recycle top performers w/ variation
tools/optimize_mix.js
Adjust pillar mix from perf data
reels/ (Remotion)
FactReveal, QuoteZoom, StepSequence, DataBars
templates/ (3 dirs)
Branded HTML per pillar per page
mea/ a2b/ atu/
Brand identity, topic banks, performance
tools/auto_reply.js
Automated comment replies
tools/cross_engage.js
Cross-page engagement automation
skills/ (6 phases)
Discovery → Visual → Prod → Post → Reel → Recycle
03 — Data Flow · Content Lifecycle
1. Generate
fb-content-system
Topic Banks
Claude API
generated_copy.json
2. Render
HTML Templates
Playwright (PNG)
+
Remotion (MP4)
182 assets/wk/page
3. Publish
fb_poster.js
Meta Graph API
3 Facebook Pages
4. Orchestrate
Railway Worker
Webhooks
Sidecar (MCP)
Home Server
5. Optimize
engagement_tracker
performance.json
optimize_mix
content_recycler
04 — Dual-Engine Architecture (MEA)

⚡ Graph API Engine (Cloud)

Scope: MEA + A2B page timeline posts, comment replies, webhook ingestion
Runs on: Railway
Limits: Cannot post to personal profiles or engage on newsfeeds

🤖 Sidecar Engine (Home Server)

Scope: Profile posts, greetings, newsfeed scouting, follower checks
Runs on: Home server via MCP bridge
Method: Puppeteer automating local Chrome instance
05 — Pages Under Management

📱 MEA

Software company. Social media automation education for creators. Algorithm intel, playbooks, real talk.

Algorithm IntelCreator PlaybookReal Talk182/wk

🏃 Runnin From A2B

Running and fitness community. Training tips, race prep, community engagement.

FitnessCommunity182/wk

🎖️ After The Uniform

Veteran transition content. Military-to-civilian community support and resources.

VeteransTransition182/wk
06 — Hardware Inventory
DeviceModelRoleConnectionStatus
ISP GatewayXfinity xFi GatewayModem + Router + WiFiWAN: CoaxActive
SwitchTP-Link TL-SG1088-port Gigabit distributionEthernet ← GatewayActive
Home ServerAcer Aspire 3 15 (Ryzen)MCP Server + Content (24/7)Ethernet via wall jackRunning
DisplayDell MonitorServer managementHDMIActive
Smart HomeSomfy HubBlind/shade automationWiFiActive
Wiring PanelStructured Media EnclosurePatch panel + coaxCat5e/6Active
07 — Technology Stack

Languages

TypeScriptJavaScriptPythonHTML/CSSSQL

Frameworks

Node.jsExpressRemotionReactPlaywrightPuppeteer

Protocols

MCP (SSE)Meta Graph APIRESTWebhooksOAuth 2.0

AI Services

ClaudeGrokOpenAIElevenLabsKie.aiSuno

Data

PostgreSQLSQLiteSequelizeJSON stores

Infrastructure

RailwayNgrokPM2FFmpegDocker (planned)
08 — Security Posture

🔒 Zero Port Forwarding

No ports open on gateway. All ingress via Ngrok encrypted tunnel only.

🔑 MCP Auth Tokens

All Sidecar callbacks secured via x-mcp-token / x-internal-key verification.

🔐 Credential Mgmt

Env vars in .env (gitignored). Railway encrypted store. Sequelize field encryption.

🛡️ Self-Healing

Auto-recovery from failures. Health checks, stuck-post cleanup, email alerts.