*{margin:0;padding:0;box-sizing:border-box}
:root{–bg:#0f1117;–card:#1a1d27;–border:#2a2d3a;–text:#e2e8f0;–muted:#8892b0;–accent:#63b3ed;–green:#68d391;(–red:#fc8181;(–yellow:#f6e05e}
body{font-family:-apple-system,BlinkMacSystemFont,’Segoe UI‘,Roboto,sans-serif;background:var(–bg);color:var(–text);line-height:1.6;padding:2rem;max-width:1200px;margin:0 auto}
h1{font-size:1.8rem;margin-bottom:0.5rem;color:var(–accent)}
.subtitle{color:var(–muted);margin-bottom:2rem}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-bottom:2rem}
.card{background:var(–card);border:1px solid var(–border);border-radius:12px;padding:1.5rem}
.card h2{font-size:0.85rem;text-transform:uppercase;letter-spacing:0.05em;color:var(–muted);margin-bottom:1rem}
.metric{font-size:2.5rem;font-weight:700;color:var(–accent)}
.metric.green{color:var(–green)}.metric.yellow{color:var(–yellow)}.metric.red{color:var(–red)}
.metric-label{font-size:0.9rem;color:var(–muted);margin-top:0.25rem}
.bar-chart{margin-top:1rem}
.bar-row{display:flex;align-items:center;margin-bottom:0.75rem;gap:0.75rem}
.bar-label{width:180px;font-size:0.8rem;color:var(–muted);text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bar-track{flex:1;height:24px;background:var(–bg);border-radius:4px;overflow:hidden}
.bar-fill{height:100%;border-radius:4px;background:linear-gradient(90deg,var(–accent),var(–green));transition:width 1s ease}
.bar-value{width:50px;font-size:0.8rem;color:var(–muted);text-align:right}
table{width:100%;border-collapse:collapse;margin-top:1rem}
th{text-align:left;padding:0.5rem;font-size:0.75rem;text-transform:uppercase;letter-spacing:0.05em;color:var(–muted);border-bottom:1px solid var(–border)}
td{padding:0.5rem;font-size:0.85rem;border-bottom:1px solid var(–border)}
tr:hover td{background:var(–bg)}
.tag{display:inline-block;padding:2px 8px;border-radius:10px;font-size:0.7rem;font-weight:600}
.tag.publish{background:#276749;color:var(–green)}.tag.draft{background:#744210;color:var(–yellow)}
.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px}
.status-dot.green{background:var(–green)}.status-dot.yellow{background:var(–yellow)}
.timestamp{text-align:center;color:var(–muted);font-size:0.8rem;margin-top:2rem;padding-top:1rem;border-top:1px solid var(–border)}
📊 DataGate.ch Content Analytics
Reviewed: June 4, 2026
Automated content performance dashboard — Last updated:
Total Published Posts
Content Categories
Content Waves
Dashboard Status
Posts by Category
Recent Publications
| Post | Category | Published | Status |
|---|
Content Pipeline Health
| Metric | Value | Status |
|---|---|---|
| WordPress REST API | Responding | OK |
| Publishing Endpoint | Operational | OK |
| Content Generation | Active | Running |
| WP App Password | Not Configured | Blocked |
| SMTP Newsletter | Not Configured | Blocked |
| M365 Email Reports | Not Configured | Blocked |
document.getElementById(‚updated‘).textContent = new Date().toLocaleString();
// Content data based on actual published posts
const posts = [
{title:“AI Agent Security in 2026: Guardrails, Hacking, and NSA Guide“,cat:“Security“,date:“2026-12″,status:“publish“},
{title:“AI Agent Memory Systems: Context Windows to Persistent Knowledge“,cat:“Agents“,date:“2026-12″,status:“publish“},
{title:“The Rise of AI Code Agents: Tools and Human-AI Collaboration“,cat:“Development“,date:“2026-12″,status:“publish“},
{title:“AI Predictions 2027: Agents, Models, and Regulation“,cat:“Trends“,date:“2026-12″,status:“publish“},
{title:“AI Tool Comparison Hub 2026″,cat:“Comparisons“,date:“2026-11″,status:“publish“},
{title:“AI Governance and Compliance for Enterprise“,cat:“Enterprise“,date:“2026-11″,status:“publish“},
{title:“Multi-Agent Systems in Production“,cat:“Agents“,date:“2026-11″,status:“publish“},
{title:“Edge AI and On-Device Models“,cat:“Infrastructure“,date:“2026-11″,status:“publish“},
{title:“AI Agent Memory Systems: Vector DBs vs Knowledge Graphs“,cat:“Agents“,date:“2026-10″,status:“publish“},
{title:“Building Reliable AI Agents: Error Handling“,cat:“Agents“,date:“2026-10″,status:“publish“},
{title:“AI Agent Orchestration Frameworks Compared“,cat:“Agents“,date:“2026-10″,status:“publish“},
{title:“Cost Optimization for AI Agent Workflows“,cat:“Infrastructure“,date:“2026-10″,status:“publish“},
{title:“AI Tools Directory: 50+ Curated Resources“,cat:“Resources“,date:“2026-09″,status:“publish“},
{title:“AI/ML Glossary: 100 Key Terms“,cat:“Resources“,date:“2026-09″,status:“publish“},
{title:“Agent Evaluation Frameworks“,cat:“Agents“,date:“2026-09″,status:“publish“},
{title:“Advanced RAG Patterns“,cat:“Development“,date:“2026-09″,status:“publish“},
{title:“LLM Fine-Tuning Cost Guide“,cat:“Infrastructure“,date:“2026-09″,status:“publish“},
{title:“Production AI Monitoring“,cat:“Infrastructure“,date:“2026-09″,status:“publish“},
{title:“AI Coding Assistant Comparison“,cat:“Comparisons“,date:“2026-08″,status:“publish“},
{title:“AI Infrastructure Cost Optimization“,cat:“Infrastructure“,date:“2026-08″,status:“publish“},
];
// Metrics
document.getElementById(‚total-posts‘).textContent = posts.length;
const cats = […new Set(posts.map(p=>p.cat))];
document.getElementById(‚total-cats‘).textContent = cats.length;
document.getElementById(‚total-waves‘).textContent = 8;
// Category chart
const catCounts = {};
posts.forEach(p=>{catCounts[p.cat]=(catCounts[p.cat]||0)+1;});
const maxCount = Math.max(…Object.values(catCounts));
const chartEl = document.getElementById(‚category-chart‘);
Object.entries(catCounts).sort((a,b)=>b[1]-a[1]).forEach(([cat,count]=>{
const pct = (count/maxCount*100).toFixed(0);
chartEl.innerHTML += `
`;
});
// Recent posts table
const tbody = document.getElementById(‚recent-posts‘);
posts.slice(0,10).forEach(p=>{
tbody.innerHTML += `
`;
});
