Back to browse
A WYSIWYG word processor in Python

A WYSIWYG word processor in Python

by chrisecker·Apr 10, 2026·91 points·38 comments

AI Analysis

●●SolidCozyNiche Gem

Native Python WYSIWYG without HTML layers or embedded browsers.

Strengths
  • B-tree data structure for rich text is genuinely clever for performance and editing.
  • Human-readable file format enables git diffs, version control, and AI processing.
  • Twenty-five years of thinking about word processor data structures shows in design.
Weaknesses
  • wxPython dependency creates installation friction compared to Electron or web apps.
  • Missing advanced features like track changes, comments, and real-time collaboration.
Category
Target Audience

Python developers and tinkerers who want hackable document editors

Similar To

LibreOffice Writer · AbiWord · Zettlr

Post Description

Hi all,

Finding a good data structure for a word processor is a difficult problem. My notebook diaries on the problem go back 25 years when I was frustrated with using Word for my diploma thesis - it was slow and unstable at that time. I ended up getting pretty hooked on the problem.

Right now I’m taking a professional break and decided to finally use the time to push these ideas further, and build MiniWord — a WYSIWYG word processor in Python.

My goal is to have a native, non-HTML-based editor that stays simple, fast, and is hackable. So far I am focusing on getting the fundamentals right. What is working yet is:

- Real WYSIWYG editing (no HTML layer, no embedded browser) with styles, images and tables.

- Clean, simple file format (human-readable, diff-friendly, git-friendly, AI-friendly)

- Markdown support

- Support for Python-plugins

Things that I found:

- B-tree structures are perfect for holding rich text data

- A simple text-based file format is incredibly useful — you can diff documents, version them, and even process them with AI tools quite naturally

What I’d love feedback on:

- Where do you see real use cases for something like this?

- What would be missing for you to take it seriously as a tool or platform?

- What kinds of plugins or extensions would actually be worth building?

Happy about any thoughts — positive or critical. Greetings

Similar Projects

Productivity●●Solid

ToEnvelope – A local-first, WYSIWYG envelope printer for the browser

This shaves a boring but real pain down to a tiny, usable tool: pick an envelope size, type addresses, preview, and export a PDF tuned for common printers. Generating USPS Intelligent Mail barcodes locally and keeping everything client-side is a clever, privacy-friendly touch. It feels aimed at practicality rather than novelty—would love CSV/address-book import and clearer mobile support to make it indispensable.

Solve My ProblemNiche Gem
4a4g5htv
113mo ago