diff --git a/src/lib/components/MicroSteps.svelte b/src/lib/components/MicroSteps.svelte
new file mode 100644
index 0000000..084ad47
--- /dev/null
+++ b/src/lib/components/MicroSteps.svelte
@@ -0,0 +1,132 @@
+
+
+
+
+ {#if loading}
+
+
+ Breaking down task…
+
+ {:else if error}
+
{error}
+ {:else if steps.length === 0}
+
No micro-steps yet
+ {:else}
+
+ {#each steps as step (step.id)}
+
+
+
+
+
+
+
+ {step.text}
+
+
+
+ {#if !step.done}
+
+ {/if}
+
+ {/each}
+
+
+
+
+ {doneCount}/{steps.length} steps done
+ {#if allDone}
+ — all done
+ {/if}
+
+ {/if}
+
diff --git a/src/lib/components/WipTaskList.svelte b/src/lib/components/WipTaskList.svelte
index af89460..c088bd5 100644
--- a/src/lib/components/WipTaskList.svelte
+++ b/src/lib/components/WipTaskList.svelte
@@ -1,23 +1,48 @@
@@ -51,39 +114,78 @@
{:else}
{#each visibleTasks as task (task.id)}
-
-
-
{task.text}
-
-
+
+
+
+ {task.text}
+
+
+ {#if hasChildren.get(task.id)}
+
+ {:else if decomposing.has(task.id)}
+
+ {:else}
+
+ {/if}
+
+
+
+
+
+
+
+
+ {#if expandedTaskIds.has(task.id)}
+
+ {/if}
{/each}
{/if}
- {#if hasOverflow}
+ {#if hasOverflowTasks}