Open source publishing workspace

Your ideas deserve
a better place to live.

Draft with a focused block editor, sharpen your work with AI, and publish to a reading experience that feels entirely yours.

Free to start Self-hostable Your data stays yours
easypost.site/editor
Building a better blog with AI

I’ve been testing local AI models for writing assistance and the results are surprisingly good. Here’s how to set up Ollama with EZPost in five minutes.

# Configure your AI provider
EZPOST_AI_FREE_CREDITS=10
AI Suggestion
Add a code example to illustrate this point
Features

Built for serious writers

Every feature designed around one goal: helping you write and publish better content.

Block-Based Editor

Rich text editor with headings, lists, tables, code blocks, and media embeds. Clean interface built for focus.

AI Writing Assistant

AI-powered writing with free daily credits and multi-provider support (OpenAI, Ollama, 9Router). Get suggestions, fixes, and content generation as you write.

Content Management

Organize posts by category, tag, and status. Draft, review, and publish from a single dashboard.

Analytics

Track views, engagement, and traffic sources. Understand what resonates with your audience.

Fast Publishing

One-click publishing with SEO optimization, social sharing, and custom domains.

Reader Engagement

Build community with comments, reactions, and subscriber management.

How it works

From idea to published in minutes

Three steps. No configuration headaches.

STEP 01

Write

Open the block editor and start writing. Use slash commands, AI assistance, or plain Markdown — whichever fits your flow.

STEP 02

Publish

Hit publish. EZPost generates a public page with SEO metadata, a clean reading layout, and a shareable URL — instantly.

STEP 03

Grow

Track views and engagement. Share posts across channels. Build an audience that comes back for more.

Built for
Individuals & teams
Block-based
Rich text editor
AI-powered
Multi-provider writing help
Self-hosted
Your data, your server
From the community

Writers who moved in

I write across three platforms and EZPost is the first editor that doesn't get in my way. The AI assistant picks up where I get stuck, and I can choose models per session.

SM
Sarah Mitchell
Travel Blogger

Finally a blog platform that feels engineered, not assembled. The block editor is fast, the UI is sharp, and it just works.

JT
James Thompson
Tech Reviewer

I manage three blogs and the content organization alone saves me hours every week. Clean, focused, no bloat.

AL
Amelia Lopez
Content Strategist
Roadmap

What we’re building next

Full roadmap
Shipped

AI Assistant v2

Multi-provider AI with free daily credits. Bring your own API key or use our free 9Router — choose between providers and models on the fly.

Shipped

EZPost Social

Global feed, likes, threaded comments, bookmarks, and user profiles.

Shipped

Local AI Assistant

Ollama integration for private, on-device writing help — no API keys needed.

API & SDK

Build programmatically

First-class TypeScript SDK with typed client and React hooks. Zero-boilerplate integration with your stack.

EZPostClient quick start

Use the typed client when you want direct API access from scripts, server actions, or backend services.

Typed responsesServer-friendlyMinimal setup
pnpm add @ezpost/sdk
EZPostClient quick start
TypeScript
import { EZPostClient, extractTableOfContents } from '@ezpost/sdk';

const client = new EZPostClient({
  apiKey: 'your-api-key',
});

// List published posts
const { posts, count, totalPages } =
  await client.posts.list({ isPublished: true });

// Get a post by slug
const { post, relatedPosts } =
  await client.posts.getBySlug('my-post-slug');

// Extract table of contents (works with markdown & BlockNote)
const toc = extractTableOfContents(post);
// [{ id: 'intro', level: 2, text: 'Introduction' }, ...]

// List categories
const categories = await client.categories.list();

Start writing today.

Free to start. Self-host when you’re ready. Your content, your server.

No credit card required · Free plan available · Open source