diff --git a/src/components/project-period-badge.tsx b/src/components/project-period-badge.tsx
new file mode 100644
index 0000000..3a152d4
--- /dev/null
+++ b/src/components/project-period-badge.tsx
@@ -0,0 +1,18 @@
+// src/components/project-period-badge.tsx
+import { Badge } from "@/components/ui/badge";
+import type { ProjectPeriodLabel } from "@/lib/project-calendar";
+
+/**
+ * "M{month} · W{week}" tag for a row, or an em-dash when the row's site
+ * has no job_start_date set yet (see project-calendar.ts).
+ */
+export function ProjectPeriodBadge({ period }: { period: ProjectPeriodLabel | null }) {
+ if (!period) {
+ return —;
+ }
+ return (
+
+ M{period.projectMonth} · W{period.projectWeek}
+
+ );
+}
\ No newline at end of file