Series

Building ZyVOP in Public

A running log of the real decisions behind ZyVOP — hosting migrations, stack choices, costs, and the mistakes that came with them. No polish, just what happened and what it cost.
17 articles Created Aug 2026
Building ZyVOP in Public

Articles in this Series

17 articles · curriculum order

Part 1

Why I Moved ZyVOP From Vercel to a VPS With Docker and Cloudflare Tunnel

Vercel was the obvious choice when I launched ZyVOP — until edge function timeouts started silently killing cross-posts. I moved the entire platform to a $8/month VPS using Docker and Cloudflare Tunnel in under 2 hours. Here's the exact setup, what broke, and the Cloudflare cache gotcha nobody warns you about.

Sanju SinghSanju Singh
Aug 76 min read
Why I Moved ZyVOP From Vercel to a VPS With Docker and Cloudflare Tunnel
Part 2

Why I Built a Developer Platform Instead of Just Using Dev.to

I used to publish everything on Dev.to. It worked, but I eventually realized I was building my content on someone else's platform. So I built ZyVOP—a developer publishing platform where I can keep the original article, distribute it to other platforms, and build the analytics and tools around it myself.

Sanju SinghSanju Singh
Aug 104 min read
Why I Built a Developer Platform Instead of Just Using Dev.to
Part 3

The Real Cost of Running a Developer Platform

Most "cost of running my SaaS" posts hide the free tiers and skip the disasters. Here's every line item behind ZyVOP — including the Vercel timeout that was one slow API response away from silently killing cross-posts.

Sanju SinghSanju Singh
Aug 115 min read
The Real Cost of Running a Developer Platform
Part 4

How ZyVOP's Syndication Engine Works: Dev.to, Hashnode, Medium, and Bluesky

Cross-posting sounds simple until you try to build it. Every platform has different APIs, different formats, different quirks, and different failure modes. Here's the complete technical breakdown of how ZyVOP's syndication engine works under the hood.

Sanju SinghSanju Singh
Aug 125 min read
How ZyVOP's Syndication Engine Works: Dev.to, Hashnode, Medium, and Bluesky
Part 5

The SEO Strategy Behind ZyVOP: Why Cross-Posting Outward Beats Importing Inward

Most developer platforms treat content syndication as a two-way street. It isn't. Every piece of content you cross-post has a canonical URL, and that URL determines which domain gets the SEO credit. Here's the strategy behind ZyVOP's approach — and the bug that almost broke it.

Sanju SinghSanju Singh
Aug 134 min read
The SEO Strategy Behind ZyVOP: Why Cross-Posting Outward Beats Importing Inward
Part 6

How We Built a Production Email Verification Pipeline That Saved Our Sender Reputation

Invalid emails can destroy your sender reputation. We built an 8-step NestJS verification pipeline with regex, MX checks, disposable/role filters, SMTP probing, greylisting retries, catch-all detection, and 24-hour caching with auto cleanup. Here’s the architecture and key lessons.

Sanju SinghSanju Singh
Aug 159 min read
How We Built a Production Email Verification Pipeline That Saved Our Sender Reputation
Part 7

I Built a System That Cross-Posts to 5 Platforms With One Click — Here's How

built a cross-posting engine that publishes to 5 platforms with a single click. This post covers the adapter pattern architecture, HTML-to-Markdown conversion quirks, platform API inconsistencies (GraphQL, REST, AT Protocol), JSONB error persistence, retry mechanisms, and canonical URL strategy for SEO.

Sanju SinghSanju Singh
Aug 1610 min read
I Built a System That Cross-Posts to 5 Platforms With One Click — Here's How
Part 8

Building Production Subscriptions with Razorpay: Webhooks, Signatures, and Edge Cases

Integrating Razorpay into a modern TypeScript backend is full of undocumented landmines: flipped HMAC arguments between orders and subscriptions, Fastify body parser mutations that break webhook signatures, and strict RBI recurring mandate failures. Here is how we engineered a resilient, dual-mode billing engine in NestJS and Fastify.

Sanju SinghSanju Singh
Oct 58 min read
Building Production Subscriptions with Razorpay: Webhooks, Signatures, and Edge Cases
Part 9

Building a Server-Rendered Dynamic Table of Contents in Next.js: Extraction, Deduplication, and Scrollspy

Client-side DOM scraping for blog tables of contents causes Cumulative Layout Shift, breaks direct fragment links, and ruins search engine snippets. Here is how we engineered an end-to-end, server-rendered Table of Contents engine in Next.js and TypeScript.

Sanju SinghSanju Singh
Oct 710 min read
Building a Server-Rendered Dynamic Table of Contents in Next.js: Extraction, Deduplication, and Scrollspy
Part 10

Inside ZyVOP: The Modern Developer Publishing Engine

Own your technical content without sacrificing reach. ZyVOP lets engineers write in Markdown, automate Git backups, and syndicate to Dev.to, Hashnode, Medium, and Bluesky—all while preserving canonical SEO authority. (224 characters)

Sanju SinghSanju Singh
Oct 135 min read
Inside ZyVOP: The Modern Developer Publishing Engine
Part 11

How to Publish One Technical Article to Dev.to, Hashnode, Medium, and WordPress (Without Losing Your SEO)

A practical guide to publishing one technical article across Dev.to, Hashnode, Medium, and WordPress without search engine cannibalization, broken code fences, or stripped diagrams using ZyVOP's sovereign syndication engine.

Sanju SinghSanju Singh
Oct 156 min read
How to Publish One Technical Article to Dev.to, Hashnode, Medium, and WordPress (Without Losing Your SEO)
Part 12

Publish from Git to ZyVOP with GitHub Actions

Keep every ZyVOP article as a Markdown file in Git and publish it when you merge. This guide covers the token, frontmatter, the official GitHub Action, a CLI alternative, pull request dry-runs, and the habits that prevent duplicate posts.

Sanju SinghSanju Singh
Oct 176 min read
Publish from Git to ZyVOP with GitHub Actions
Part 13

Zero-Friction Migration: How to Import Your Existing Developer Blog into ZyVOP

An honest, technical guide to migrating your articles to ZyVOP across DEV, Hashnode, Medium, RSS feeds, and static-site Markdown archives, detailing exact platform support, image re-hosting, and canonical attribution.

Sanju SinghSanju Singh
Oct 185 min read
Zero-Friction Migration: How to Import Your Existing Developer Blog into ZyVOP
Part 14

How to Use a Custom Domain for Your ZyVOP Publication

Step-by-step instructions to connect your custom domain to ZyVOP, configure DNS records, and publish your developer blog with automatic SSL and canonical SEO protection.

Sanju SinghSanju Singh
Oct 197 min read
How to Use a Custom Domain for Your ZyVOP Publication
Part 15

Writing Technical Documentation with Code Blocks, Mermaid, and LaTeX

Transform technical specs into living documents by combining executable code, version-controlled Mermaid diagrams, and LaTeX formulas. Learn best practices for Markdown docs and how ZyVOP simplifies authoring, GitOps workflows, and canonical syndication.

Sanju SinghSanju Singh
Oct 216 min read
Writing Technical Documentation with Code Blocks, Mermaid, and LaTeX
Part 16

Schedule Technical Articles with ZyVOP: From Draft to Release

Learn how ZyVOP’s scheduled publishing works through the web editor or CLI, including date and time zone choices, destination selection, and what happens at release time.

Sanju SinghSanju Singh
Oct 262 min read
Schedule Technical Articles with ZyVOP: From Draft to Release
LatestPart 17

How We Built Fast Search for ZyVOP Without Elasticsearch or Algolia

ZyVOP searches posts, authors, tags, and series with PostgreSQL and Redis. Here is how stored search vectors, trigram indexes, query expansion, and candidate-first ranking keep search responsive without Elasticsearch or Algolia.

Sanju SinghSanju Singh
Nov 36 min read
How We Built Fast Search for ZyVOP Without Elasticsearch or Algolia

Actions

Overview

Total Articles17
CreatedAug 2026
Last UpdatedAug 2026

Contributors

Sanju Singh
Sanju Singh
@sanjay687