A structured framework for writing, publishing, and promoting Medium articles with consistent quality and process. Built as an Obsidian vault with Dataview-powered dashboards for tracking article pipeline and performance.
- Open this folder as a vault in Obsidian
- Install the Dataview community plugin
- Enable Dataview in Obsidian settings
./scripts/new-article.sh 2026-03-your-topic-slugThis scaffolds the full article directory with:
index.mdwith YAML frontmatter (powers Dataview dashboards)[[wikilinks]]connecting to shared resources and related articlesmetrics-log.mdfor post-publish engagement tracking- Templates for planning, outlining, drafting, and promoting
- Plan — Edit
plan.md(audience, angle, differentiators) - Research — Add sources and notes to
research/ - Outline — Structure sections in
outline.md - Draft — Write iteratively following
shared/templates/draft-versions-guide.md(v1 -> v2 -> v3 -> v4) - Visuals — Add screenshots and diagrams to
visuals/ - Publish — Follow
shared/publishing-checklist.md - Promote — Customize posts in
promotion/social-media-posts.md - Track — Update frontmatter metrics, log data in
metrics-log.md
- Open
_dashboard.mdin Obsidian for pipeline overview, performance metrics, and tag-based views - Open
_promotion-tracker.mdfor per-platform promotion status
├── _dashboard.md # Dataview dashboard (pipeline, performance, tags)
├── _promotion-tracker.md # Dataview promotion status per platform
├── shared/ # Reusable across all articles
│ ├── style-guide.md # Writing best practices
│ ├── author-bio.md # Bio versions and links
│ ├── publishing-checklist.md
│ ├── templates/
│ │ ├── article-plan.md
│ │ ├── article-outline.md
│ │ ├── social-media-posts.md
│ │ ├── preview-image-guide.md
│ │ ├── insights-data.md # Data & metrics template
│ │ ├── metrics-log.md # Post-publish tracking template
│ │ └── draft-versions-guide.md # Draft version progression guide
│ ├── research/ # Shared research references
│ └── assets/ # Preview image HTML templates
│
├── articles/ # One folder per article
│ └── YYYY-MM-topic-slug/
│ ├── index.md # YAML frontmatter + status (powers Dataview)
│ ├── plan.md # Audience and angle
│ ├── outline.md # Section structure
│ ├── metrics-log.md # Post-publish engagement tracking
│ ├── research/ # Sources and notes
│ ├── insights/ # Metrics and data
│ ├── drafts/ # Draft versions (v1 -> v2 -> v3 -> v4)
│ ├── visuals/ # Screenshots and diagrams
│ └── promotion/ # Social media posts
│
└── scripts/
└── new-article.sh # Article scaffolding (Obsidian-compatible)
| Dashboard | What It Shows |
|---|---|
_dashboard.md |
Pipeline overview, published performance, articles by tag, monthly output, totals |
_promotion-tracker.md |
Per-platform promotion status, completion rate, unpromoted articles |
Every article's index.md has structured frontmatter that Dataview queries:
status: idea | planning | researching | outlining | drafting | reviewing | published
tags: [ai, claude-code, saas]
audience: [developers, founders]
views: 0 # update after publishing
claps: 0
linkedin-posted: false # flip to true as you promoteAll article files cross-reference each other and shared resources with [[wikilinks]]. Use Obsidian's graph view to visualize relationships between articles, research, and templates.
| Resource | Description |
|---|---|
| Style Guide | Writing best practices distilled from article analysis |
| Author Bio | Short/long bio versions, links, hashtags |
| Publishing Checklist | Pre-publish, formatting, SEO, promotion steps |
| Draft Versions Guide | What each draft version focuses on (v1-v4) |
| Insights Data Template | Template for article data & metrics |
| Preview Image Guide | Creating 1200x630px social preview images |
| Article | Status |
|---|---|
| Building a Production SaaS with Claude Code | Draft complete |
Articles follow YYYY-MM-topic-slug format for chronological sorting and readability.