DEV Community

From 0 to 26 Digital Products in 2 Weeks: My Content-to-Product Pipeline

The Challenge

Create and sell digital products as a solo developer with no budget.

Here's how I went from zero to 26 products in 14 days.

The Pipeline

Expertise → Markdown → PDF → Telegram Bot → Sales
Enter fullscreen mode Exit fullscreen mode

Each step is automated or semi-automated.

Step 1: Pick Topics You Know

I listed everything I could teach:

  • SwiftUI development (2 years experience)
  • Notion productivity systems (daily user)
  • Career skills (job hunting, interviewing)
  • AI workflows (using Claude, GPT daily)
  • Freelancing (active freelancer)

From these 5 domains, I extracted 26 product ideas.

Step 2: Write in Markdown

Every product starts as a .md file:

# SwiftUI Starter Kit Pro

## 1. Project Architecture Templates

### MVVM Template
Enter fullscreen mode Exit fullscreen mode


swift
struct User: Codable, Identifiable {
let id: UUID
var name: String
}

@MainActor
class UserViewModel: ObservableObject {
@Published var users: [User] = []
// ...
}


## 2. Network Layer
// ...
Enter fullscreen mode Exit fullscreen mode


python

Markdown is fast to write and easy to convert.

Step 3: Convert to PDF

I wrote a Python script using fpdf2 that converts Markdown to styled PDFs:

from fpdf import FPDF

class ProductPDF(FPDF):
    def __init__(self, title):
        super().__init__()
        self.add_font('DejaVu', '', 'fonts/DejaVuSans.ttf', uni=True)
        self.add_font('DejaVuMono', '', 'fonts/DejaVuSansMono.ttf', uni=True)

    def cover_page(self, title):
        self.ln(60)
        self.set_font('DejaVu', 'B', 28)
        self.multi_cell(0, 14, title, align='C')
Enter fullscreen mode Exit fullscreen mode

The converter handles:

  • Headers (H1-H4) with different styles
  • Code blocks with dark background
  • Tables with alternating row colors
  • Lists (ordered and unordered)
  • Blockquotes with blue accent
  • Cover page with branding

One command converts all 26 .md files to PDFs.

Step 4: Build the Bot

200 lines of Python:

import telebot
from telebot.types import LabeledPrice

PRODUCTS = {
    'swiftui_starter': {
        'name': 'SwiftUI Starter Kit Pro',
        'stars': 75,
        'file': 'products/swiftui_starter.pdf'
    },
    # 25 more...
}

# Payment with Telegram Stars
bot.send_invoice(
    chat_id,
    title=product['name'],
    description=product['description'],
    invoice_payload=product_id,
    provider_token='',
    currency='XTR',
    prices=[LabeledPrice(label=product['name'], amount=product['stars'])]
)
Enter fullscreen mode Exit fullscreen mode

Step 5: Promote

Content marketing across platforms:

Platform Content Type Articles
Dev.to Technical tutorials 89+
Threads Short-form posts 40+
Telegram Channel updates Daily

Every piece of content mentions @SwiftUIDailyBot.

The Product Catalog

SwiftUI (3 products)

  • Starter Kit Pro — 75⭐
  • iOS 18 Templates — 60⭐
  • UI Components Pack — 50⭐

Notion (5 products)

  • Second Brain 2.0 — 40⭐
  • Student Life OS — 45⭐
  • Developer Productivity OS — 25⭐
  • ADHD Life Planner — 75⭐
  • Personal Finance OS — 60⭐

Career (8 products)

  • ATS Resume Pack — 25⭐
  • Job Interview Kit — 30⭐
  • LinkedIn Mastery — 25⭐
  • Cover Letter Templates — 25⭐
  • And 4 more...

AI & Business (7 products)

  • AI Agent Toolkit — 50⭐
  • AI Workflow Blueprints — 75⭐
  • Freelancer Money OS — 75⭐
  • And more...

Bundles (3)

  • Career Starter — 75⭐ (5 products)
  • Developer Pro — 150⭐ (8 products)
  • Full Access — 350⭐ (all 26)

Time Breakdown

Task Time
Writing 26 products 10 days
PDF converter script 3 hours
Telegram bot 4 hours
Testing 2 hours
Promotion setup 1 day
Total ~14 days

Tools Used

  • Writing: VS Code + Markdown
  • PDF generation: Python + fpdf2
  • Bot: Python + pyTelegramBotAPI
  • Database: SQLite
  • Fonts: DejaVu Sans (Unicode support)

Try It

Bot: @SwiftUIDailyBot on Telegram
Channel: t.me/SwiftUIDaily


Building in public. Follow for updates on the journey.

Top comments (0)