Contents

Chapter 1

Content Creator OS for Devs — Customization Guide

How to adapt the Content Creator OS for your channels, audience, team size, and publishing workflow.


Table of Contents

1. Solo Creator vs. Content Team

2. Adding or Removing Channels

3. Integrating with Publishing Platforms

4. Content Repurposing Workflow

5. Tracking Revenue & Sponsored Content

6. Custom Content Pillars

7. Publishing Cadence Strategies

8. Automation Setup


Solo Creator vs. Content Team

Solo Creator (Default Setup)

The system is built for solo creators by default. No changes needed — all the "Author" fields default to you.

Quick wins for solo use:

  • Remove the "Author" property from Editorial Calendar (it's always you)
  • Simplify statuses: Idea → Writing → Published (skip Review/SEO if you're doing everything yourself)
  • Set up a weekly review block: 30 minutes every Friday to update analytics and plan next week

Content Team (2-5 People)

1. Add an "Author" Relation pointing to a new "Team Members" database with: Name, Role (Writer / Editor / Social Manager / SEO), Expertise Areas.

2. Add an "Editor" Relation on Blog Posts for the review step.

3. Create author-specific views: Filter by Author = [name] on each database.

4. Add a "Review Status" property to Blog Posts: Pending Review / Changes Requested / Approved.

5. Create an "Assignments" board view grouped by Author → see workload balance.

Content Agency (5+ People)

1. Separate databases per client or content vertical.

2. Add a "Client" Select property to all databases.

3. Create a "Content Briefs" database for assignment specifications.

4. Add "Due Date" (internal deadline) separate from "Publish Date" (external deadline).

5. Track time spent per content piece with a "Hours Spent" Number property.


Adding or Removing Channels

Adding YouTube

1. Add "YouTube" to the Channel Multi-select options.

2. Add these properties to the Editorial Calendar (or create a separate "Videos" database):

  • Video Script URL (URL)
  • Thumbnail Ready (Checkbox)
  • Video Duration (Number — minutes)
  • YouTube URL (URL)
  • Views (Number)
  • Watch Time (Number — hours)
  • Subscribers Gained (Number)

3. Create a "Video Production" Board view: Script → Recording → Editing → Thumbnail → Upload → Published.

Adding a Podcast

1. Add "Podcast" to channels.

2. Add properties: Episode Number, Guest Name, Recording Date, Edit Status, Show Notes URL, Downloads.

3. Create a "Podcast Pipeline" board view: Planning → Guest Booked → Recorded → Edited → Published.

Removing Social Media

If you don't do social media:

1. Keep the Social Posts database but don't actively use it.

2. Remove social-related views from your dashboard.

3. Remove "Social Promoted" checkbox from Blog Posts.

4. Focus your Editorial Calendar on Blog + Newsletter only.

Adding dev.to / Hashnode / Medium Cross-Posting

1. Add properties to Blog Posts: "Cross-posted to dev.to" (Checkbox), "dev.to URL" (URL), "dev.to Views" (Number).

2. Add a step to your publishing workflow: after blog publish, cross-post within 24 hours.

3. Track cross-post performance in the Content Analytics database with Channel = "dev.to".


Integrating with Publishing Platforms

Ghost

1. Add a "Ghost Status" Select to Blog Posts: Draft / Scheduled / Published.

2. Add a "Ghost URL" URL property for the published post URL.

3. Automation: Use Ghost's webhook on post.published → Zapier → Update Notion Blog Posts status to "Published".

WordPress

1. Add a "WordPress ID" Number property for the post ID.

2. Add a "WordPress URL" URL property.

3. Automation: WordPress → Zapier → Notion API. Trigger on post publish.

Substack (Newsletter)

1. The Newsletter Issues database already tracks everything Substack provides.

2. After each send, manually update: Open Rate, Click Rate, Unsubscribes, Subscriber count.

3. Automation: Substack doesn't have native webhooks, but you can use their API or manual CSV export.

Hashnode / dev.to

1. Add URL properties per platform on Blog Posts.

2. Cross-post within 24-48 hours of original publish.

3. Always set canonical_url to your main blog to avoid duplicate content SEO penalties.


Content Repurposing Workflow

High-performing content should be repurposed across channels. Here's the workflow:

Repurposing Matrix

Original FormatRepurpose ToEffort
Blog post (2000+ words)Twitter/X thread (key takeaways)30 min
Blog postLinkedIn post (personal angle)20 min
Blog postNewsletter feature15 min
Blog postdev.to cross-post10 min (reformatting)
Blog postYouTube video (tutorial)4-8 hours
Twitter thread (viral)Blog post (expanded)2-4 hours
Conference talkBlog post (transcript + cleanup)2 hours
Newsletter editionTwitter thread (highlights)20 min

Setting Up Repurposing in Notion

1. Add a "Repurposed From" Relation on the Editorial Calendar (self-relation) to link repurposed content to originals.

2. Add a "Repurpose Score" formula (see formulas/FORMULAS.md) that flags high-performing content not yet repurposed.

3. Create a "Repurpose Opportunities" view: Filter where Repurpose Score is high AND content hasn't been repurposed.

4. Use the Editorial Calendar status "Repurposed" for derivative content.


Tracking Revenue & Sponsored Content

Newsletter Sponsorship

The Newsletter Issues database already has Sponsor and Revenue fields. Extend it:

1. Create a "Sponsors" database: Sponsor Name, Contact Email, Rate (per issue), Contract Start, Contract End, Issues Sponsored (Relation → Newsletter Issues), Total Revenue (Rollup).

2. Add a "Sponsored" Checkbox to Social Posts for paid promotions.

3. Track total revenue per month with a formula or manual summary.

1. Add an "Affiliate Links" database: Product Name, Affiliate URL, Platform, Commission Rate, Clicks (monthly), Revenue (monthly).

2. In Newsletter Issues and Blog Posts, add a "Contains Affiliate Links" Checkbox.

3. Track which content drives the most affiliate revenue.

Course / Product Sales

If you sell digital products or courses:

1. Add a "Conversions" Number property to Blog Posts and Newsletter Issues.

2. Track which content drives the most sales.

3. Add "Conversion Goal" Select: Newsletter Signup / Product Purchase / Course Enrollment / Consultation Booking.


Custom Content Pillars

How to Choose Content Pillars

1. List your top 3 areas of expertise.

2. Identify 2-3 audience pain points you can address.

3. Cross them to find 4-6 pillar themes.

4. Each pillar should have enough depth for 10+ pieces of content.

Pillar Examples by Developer Niche

Frontend Developer:

  • React/Vue Deep Dives, CSS Tricks & Techniques, Web Performance, Accessibility, Developer Tools, Design for Developers

DevOps / Platform Engineer:

  • Infrastructure as Code, CI/CD Pipelines, Container Orchestration, Monitoring & Observability, Security, Cloud Cost Optimization

Data Engineer:

  • Data Pipeline Architecture, SQL & Query Optimization, Data Quality, Tool Reviews, Career in Data, Python for Data

Mobile Developer:

  • iOS/Android Deep Dives, Cross-Platform (Flutter/React Native), App Performance, App Store Optimization, Mobile Design Patterns, Testing

Updating Pillars

To change your pillars:

1. Edit the Content Pillar Select property on all databases (Editorial Calendar, Blog Posts, Content Analytics).

2. Re-categorize existing content to the new pillars.

3. Update your Content Style Guide page.

4. Plan 2-3 seed pieces for each new pillar.


Publishing Cadence Strategies

Beginner (Just Starting Out)

ChannelFrequencyTime Commitment
Blog2x per month8-12 hours/month
Social3x per week3 hours/month
NewsletterMonthly2 hours/month
Total13-17 hours/month

Intermediate (Growing Audience)

ChannelFrequencyTime Commitment
BlogWeekly16-24 hours/month
SocialDaily5-8 hours/month
NewsletterBi-weekly4 hours/month
Total25-36 hours/month

Advanced (Full Content Operation)

ChannelFrequencyTime Commitment
Blog2x per week32-40 hours/month
Social2-3x daily10-15 hours/month
NewsletterWeekly8 hours/month
YouTubeBi-weekly16-24 hours/month
Total66-87 hours/month

Key insight: Start at the Beginner level. Only add channels when you can sustain consistent quality. Inconsistent posting is worse than less frequent but reliable publishing.


Automation Setup

Zapier / Make.com Workflows

Blog publish → Social promotion:

  • Trigger: Blog Post status changes to "Published" in Notion
  • Actions: Create draft social posts for Twitter, LinkedIn, dev.to
  • Result: Social posts appear in your Social Posts database with Status = "Draft"

Newsletter send → Analytics update:

  • Trigger: Newsletter service webhook (Substack, ConvertKit, Buttondown)
  • Action: Update Newsletter Issues database with open rate, click rate, subscriber count

Monthly analytics import:

  • Trigger: Scheduled monthly (1st of month)
  • Action: Pull analytics from Google Analytics API → create Content Analytics entries in Notion

Notion API Custom Scripts

For developers who want more control:

# Pseudocode: Weekly content summary
1. Query Blog Posts database → count by status
2. Query Social Posts database → sum engagement metrics for published posts this week
3. Query Newsletter Issues database → get latest issue's open/click rates
4. Generate a summary and post it to your dashboard page or Slack

Tips for Long-Term Success

1. Batch your content creation. Write 2-3 blog outlines on Monday, draft on Tuesday-Wednesday, edit on Thursday, publish on Friday. Don't context-switch between creation and editing.

2. Review analytics monthly, not daily. Daily analytics checking is a productivity killer. Set a monthly review date and make data-driven decisions at that cadence.

3. Kill underperforming content pillars. If a pillar consistently gets low engagement after 5-6 pieces, replace it. Don't force content your audience doesn't want.

4. Repurpose your top 20%. Most of your traffic will come from 20% of your content. Repurpose those winners aggressively. Let the rest serve as SEO long-tail.

5. Build in public. Share your content metrics, experiments, and learnings. Your audience loves transparency, and it creates a meta-content pillar for free.


*Questions? Contact support@datanest.dev*

Chapter 2

Content Creator OS for Devs — Notion Import Guide

Step-by-step instructions for importing and configuring the Content Creator OS in Notion.


Prerequisites

  • A Notion account (Free plan works; Pro recommended for automations and Timeline views)
  • A dedicated Notion workspace or page
  • The 5 CSV files from databases/
  • 25-35 minutes for initial setup

Step 1: Create Your Workspace Page

1. Create a new Notion page called "Content OS" (or your preferred name).

2. Add an icon (suggested: ✍️ or 📝) and cover image.

3. This page is the parent for all databases and sub-pages.


Step 2: Import the Databases

Import in this order so relations can reference existing databases.

2.1 Import blog-posts.csv

1. Inside your workspace page, click "/""Import""CSV".

2. Select databases/blog-posts.csv → rename to "Blog Posts".

3. Set property types:

ColumnNotion Property Type
TitleTitle
StatusSelect
Publish DateDate
Content PillarSelect
Target KeywordText
Word Count TargetNumber
Current Word CountNumber
Meta DescriptionText
Canonical URLURL
Featured ImageCheckbox
Newsletter FeatureCheckbox
Social PromotedCheckbox
Outline URLURL
Draft URLURL
SEO ScoreNumber
NotesText

4. Status colors:

  • Idea → Light Gray
  • Outline → Blue
  • Draft → Yellow
  • Review → Orange
  • SEO → Purple
  • Scheduled → Light Green
  • Published → Green

5. Content Pillar colors:

  • Technical Deep Dives → Blue
  • Developer Productivity → Green
  • Career Growth → Purple
  • Industry Commentary → Orange
  • Project Showcases → Teal
  • Community & Culture → Pink

2.2 Import newsletter-issues.csv

1. Import databases/newsletter-issues.csv → rename to "Newsletter Issues".

2. Set property types:

ColumnNotion Property Type
Issue NumberTitle
Subject LineText
StatusSelect
Send DateDate
Subscribers at SendNumber
Open RateNumber
Click RateNumber
UnsubscribesNumber
Top LinkURL
Featured PostsText (will become Relation)
Subject Line BText
Open Rate BNumber
SectionsMulti-select
SponsorText
RevenueNumber
NotesText

3. Status colors:

  • Planning → Light Gray
  • Writing → Yellow
  • Review → Orange
  • Scheduled → Blue
  • Sent → Green

2.3 Import editorial-calendar.csv

1. Import databases/editorial-calendar.csv → rename to "Editorial Calendar".

2. Set property types:

ColumnNotion Property Type
TitleTitle
Content TypeSelect
ChannelMulti-select
StatusSelect
Publish DateDate
Content PillarSelect
AuthorSelect
PrioritySelect
Target AudienceText
Estimated EffortText
NotesText

3. Content Type colors:

  • Blog Post → Blue
  • Social Thread → Green
  • Newsletter → Purple
  • Video → Red
  • Talk → Orange
  • Tutorial → Teal

4. Status colors: Same scheme as Blog Posts (Idea through Published + Repurposed in Gray).

2.4 Import social-posts.csv

1. Import databases/social-posts.csv → rename to "Social Posts".

2. Set property types:

ColumnNotion Property Type
TitleTitle
PlatformSelect
FormatSelect
StatusSelect
Publish DateDate
Linked Blog PostText (will become Relation)
ContentText
LikesNumber
RepliesNumber
RepostsNumber
ImpressionsNumber
Link ClicksNumber
Optimal TimeText
HashtagsMulti-select
NotesText

3. Platform colors:

  • Twitter/X → Blue
  • LinkedIn → Dark Blue
  • dev.to → Purple
  • Mastodon → Teal
  • Reddit → Orange
  • YouTube → Red

2.5 Import content-analytics.csv

1. Import databases/content-analytics.csv → rename to "Content Analytics".

2. Set property types:

ColumnNotion Property Type
Content TitleTitle
Content TypeSelect
ChannelSelect
Publish DateDate
Page ViewsNumber
Unique VisitorsNumber
Avg Time on PageNumber
Bounce RateNumber
Social SharesNumber
CommentsNumber
ConversionsNumber
Linked Blog PostText (will become Relation)
Referral SourceSelect
Content PillarSelect
NotesText

Step 3: Create Relations

3.1 Social Posts → Blog Posts

1. Open Social Posts → add a Relation to "Blog Posts" → name it "Source Post".

2. Link each social post to its source blog post (where applicable).

3.2 Newsletter Issues → Blog Posts

1. Open Newsletter Issues → add a Relation to "Blog Posts" → name it "Featured Posts (Linked)".

2. Link each newsletter to the blog posts it features.

3.3 Content Analytics → Blog Posts

1. Open Content Analytics → add a Relation to "Blog Posts" → name it "Blog Post (Linked)".

2. Link each analytics entry to its source blog post.

3.4 Editorial Calendar → Blog Posts (Optional)

1. Open Editorial Calendar → add a Relation to "Blog Posts" → name it "Blog Post Detail".

2. Link calendar entries of type "Blog Post" to their detailed entry in the Blog Posts database.


Step 4: Add Rollup Properties

On Blog Posts

1. "Social Post Count" — Rollup on the reverse relation from Social Posts → Count all.

2. "Total Page Views" — Rollup on the reverse relation from Content Analytics → Page Views → Sum.

3. "Total Conversions" — Rollup on the reverse relation from Content Analytics → Conversions → Sum.

On Newsletter Issues

1. "Featured Post Count" — Rollup on Featured Posts (Linked) → Count all.


Step 5: Set Up Views

Editorial Calendar Views

5.1 Calendar — "Publishing Calendar"

  • Date property: Publish Date
  • Card preview: Content Type, Channel, Status
  • This is your primary planning view — see everything scheduled across all channels.

5.2 Board — "Content Pipeline"

  • Group by: Status (Idea → Planned → In Progress → In Review → Scheduled → Published)
  • Card preview: Content Type, Channel, Publish Date

5.3 Board — "By Content Pillar"

  • Group by: Content Pillar
  • Shows the balance of content across your thematic pillars

5.4 Table — "This Month"

  • Filter: Publish Date is in the current month
  • Sort: Publish Date ascending

Blog Posts Views

5.5 Board — "Blog Pipeline"

  • Group by: Status (Idea → Outline → Draft → Review → SEO → Scheduled → Published)
  • Card preview: Content Pillar, Word Count Progress, Publish Date

5.6 Table — "All Posts"

  • Sort: Publish Date descending
  • Show: Title, Status, Content Pillar, Word Count Target, SEO Score, Page Views (rollup)

5.7 Table — "SEO Tracker"

  • Filter: Status = Published
  • Show: Title, Target Keyword, SEO Score, Page Views, Conversions
  • Sort: SEO Score descending

Social Posts Views

5.8 Calendar — "Social Calendar"

  • Date property: Publish Date
  • Card preview: Platform, Format

5.9 Board — "By Platform"

  • Group by: Platform
  • Shows content distribution across social platforms

5.10 Table — "Performance"

  • Filter: Status = Published
  • Sort: Impressions descending
  • Show: Title, Platform, Likes, Replies, Reposts, Impressions, Link Clicks

Newsletter Issues Views

5.11 Table — "All Issues"

  • Sort: Send Date descending
  • Show: Issue Number, Subject Line, Status, Open Rate, Click Rate, Subscribers at Send

5.12 Board — "Newsletter Pipeline"

  • Group by: Status

Content Analytics Views

5.13 Table — "Top Performing Content"

  • Sort: Page Views descending
  • Show: Content Title, Channel, Page Views, Avg Time on Page, Conversions, Content Pillar

5.14 Board — "By Referral Source"

  • Group by: Referral Source
  • Shows which channels drive the most traffic

Step 6: Create Pages

Copy content from pages/ into new Notion pages:

1. Content Dashboard (pages/content-dashboard.md)

2. Editorial Workflow (pages/editorial-workflow.md)

3. Content Style Guide (pages/content-style-guide.md)

4. Analytics Overview (pages/analytics-overview.md)

Replace database references with Linked Database Views pointing to your actual databases.


Step 7: Add Templates

1. Blog Posts database → New template → paste templates/blog-post-template.md

2. Newsletter Issues database → New template → paste templates/newsletter-template.md

3. Social Posts database → New template → paste templates/social-media-template.md


Step 8: Add Formulas

See formulas/FORMULAS.md for all formulas. Key ones:

  • Blog Posts: Word Count Progress %, Days Until Publish, Content Score
  • Social Posts: Engagement Rate, Is High Performer
  • Newsletter Issues: Growth Rate, Subject Line Winner
  • Content Analytics: Content Score, Repurpose Opportunity
  • Editorial Calendar: Publishing Velocity

Step 9: Final Checklist

  • [ ] 5 databases imported and renamed
  • [ ] Relations created (4 relations)
  • [ ] Rollup properties configured
  • [ ] Calendar, Board, and Table views per database
  • [ ] Dashboard and reference pages created
  • [ ] Templates added to Blog Posts, Newsletter, and Social Posts
  • [ ] Formula properties added

*Need help? Contact support@datanest.dev*

Content Creator Dev Os v1.0.0 — Free Preview