Blog PostDate Published
Aesthetics of my Mid-late 20s2025-06-04
My Ideal Desk Setup2025-06-04

📋 Focus Overview Table (DataviewJS)

const pages = dv.pages('"content"').filter(p => (p.area ?? []).includes("blog"));const rows = pages.map(p => {  const timeLog = p.time_log || [];  const est = Number(p.estimated_time ?? 0);  const act = Number(p.actual_time ?? 0);  const rate = Number(p.hourly_rate ?? 0);  const tasks = p.file.tasks || [];  const completedTasks = tasks.filter(t => t.completed).length;  const totalTasks = tasks.length;  const percent = totalTasks === 0 ? "0%" : `${Math.round((completedTasks / totalTasks) * 100)}%`;  const variance = est === 0 ? "–" : `${Math.round(((act - est) / est) * 100)}%`;  const status = act > est ? "Overrun" : act < est ? "Underrun" : "On Target";  const cost = rate * act;  const lastUpdated = p.last_update ?? "-";    return [    dv.fileLink(p.file.name),    lastUpdated,    `${act}h / ${est}h`,    variance,    status,    `$${cost.toLocaleString()}`,    p.priority ?? "-",    p.description ?? "-",    p.completed_on ?? "-",    (p.skills ?? []).filter(s => s).map(s => dv.fileLink(s)).join(", "),    percent,    p.team ? "✅" : "❌",    p.completed ? "✅" : "❌"  ];});dv.table(  [    "File",    "Last Updated",    "Time (Actual / Estimated)",    "% Variance",    "Status",    "Cost",    "Priority",    "Description",    "Completed On",    "Skills",    "Task Completion",    "Team",    "Completed"  ],  rows);