I Got Tired of Tab Hell Just to Write Documentation — So I Built This

The problem isn’t Markdown. It’s everything around Markdown.

You open VS Code to write a README. Then you need an AI assistant — new tab. Grammar check — another tab. You want a Mermaid diagram — different tool. Need a quick preview? Open another window. Managing multiple docs? Now you’re juggling files across three apps.

By the time you start writing, you’ve already lost 10 minutes and half your focus.

I got tired of this. So I built Mark Viewer.

What Is Mark Viewer?

Mark Viewer is a zero-install, zero-backend Markdown IDE that runs entirely in your browser. One URL. No signup. No subscriptions. No server dependencies.

It’s also available as a native desktop app via Tauri — 18MB, not the 300MB Electron tax.

It combines everything you need for serious documentation work into one surface:

  • Full-featured editor
  • Live preview
  • AI assistant
  • Diagrams
  • File management
  • Analytics

No context switching. No tab hell.

The Feature Stack

⚡ Live Edit + Live Preview

The editor runs on CodeMirror 6 — the same engine powering modern code editors. Line numbers, bracket matching, multiple themes, Vim mode if you’re that person.

The preview renders in real-time with full GitHub Flavored Markdown support:

  • Syntax highlighting for 180+ languages
  • Mermaid diagrams — flowcharts, sequence diagrams, ERDs
  • PlantUML — for architects who refuse to give up UML
  • KaTeX math — inline $x^2$ and display $$int_0^1 f(x)dx$$
  • Footnotes, task lists, tables, emoji

No separate preview window. No manual refresh. What you type is what you see.

🤖 AI-Powered Assistant — Bring Your Own Model

This is where it gets interesting.

Mark Viewer doesn’t lock you into one AI provider. You bring your own:

Provider Models
OpenAI GPT-4o, GPT-4 Turbo, GPT-3.5
Google Gemini 2.0 Flash, 1.5 Pro
Ollama Any local model (Llama, Mistral, etc.)
Custom Any OpenAI-compatible endpoint

11 Quick Actions work on your current selection or full document:

  • Continue Writing — extend naturally, matching your tone
  • Summarize — condense key points
  • Fix Grammar — correct errors silently
  • Rewrite — improve clarity
  • Make Concise — cut the fluff
  • Simplify — reduce reading level
  • Expand — add depth
  • Generate Outline — structure from chaos
  • Explain — break down complex content
  • Translate — preserve Markdown formatting
  • Custom — your own prompt

The AI operates in context. No copy-pasting to ChatGPT. No losing your place. Select text → Run action → Insert or replace. Done.

Privacy note: Your API keys are AES-256 encrypted in IndexedDB. Zero telemetry. Your data never leaves your browser unless you explicitly call an AI provider.

🧭 Smart TOC & Navigation

Every document auto-generates a Table of Contents from headings. Click to jump.

The Command Palette (Ctrl/Cmd+P) gives you VS Code-style fuzzy search:

  • Search commands
  • Jump to in-document symbols (headings)
  • Open workspace files
  • Type :42 to jump to line 42

A reading progress indicator shows how far through the document you are — useful for long specs and guides.

📊 Analytics & Document Insights

For technical writers and anyone who cares about readability:

  • Flesch-Kincaid readability score
  • Vocabulary density analysis
  • Word count + reading time estimates
  • Section-by-section breakdown
  • Word goals for when you need to hit a target

Know exactly how readable your documentation is before you ship it.

📁 Workspace & File Management

This isn’t a single-file editor. It’s a proper workspace.

  • Multiple workspaces — switch between projects
  • Folder hierarchy — organize like a real file system
  • Tabbed editing — drag-to-reorder, unsaved indicators
  • File search — by name and content
  • Pin files — keep important docs at the top
  • Import/Export — backup workspaces as ZIP

All storage uses the Origin Private File System (OPFS) — a modern browser API that gives you real file system performance without a backend. Falls back to localStorage automatically if needed.

📦 PWA + Native Desktop

Mark Viewer works offline as a Progressive Web App. Install it from your browser and use it without internet.

Or grab the native desktop app:

  • Built with Tauri 2 (Rust, not Electron)
  • ~18MB on macOS
  • Native file dialogs
  • Same full feature set as the web version

Who Is This For?

Developers → READMEs, API docs, ADRs, RFCs, technical specs. Live diagrams. Syntax highlighting. No friction.

Product Managers → PRDs, feature briefs, roadmaps. AI-assisted expansion and outlining. Readability scoring.

Technical Writers → Long-form documentation. Vocabulary analysis. Word goals. Multi-format mental model.

Teams exploring documentation-driven development → AI agents can interact with structured Markdown. Mark Viewer makes that workflow seamless.

The Technical Stack

Technology Purpose
React 19 UI framework
Vite Build tooling
Tailwind CSS 4 Styling
CodeMirror 6 Editor engine
marked.js Markdown parsing
DOMPurify HTML sanitization
highlight.js Code highlighting
KaTeX Math rendering
Mermaid.js Diagrams
Tauri 2 Desktop app framework

Zero backend. Everything runs client-side. The architecture is designed for privacy and performance, not for collecting your data.

Why I Built This

I write a lot of documentation — for work, for open source, for my own projects. And I was frustrated.

Not with Markdown itself. Markdown is fine. The problem was everything around it:

  • Too many tools
  • Too much context switching
  • AI assistants that require copy-pasting
  • No good way to manage multiple docs
  • Preview tools that feel like afterthoughts

So I built the tool I wanted. One surface. Everything integrated. Fast. Private. Respectful of my time.

How I Built It

Here’s the part that might surprise you: I built Mark Viewer using Claude Opus 4.

Not just for brainstorming or writing docs — for the actual implementation. The React components, the CodeMirror integration, the OPFS storage layer, the AI streaming logic, the Tauri desktop build — all of it was pair-programmed with an AI agent.

I described what I wanted. I reviewed the code. I iterated. I shipped.

This isn’t a “vibe coding” experiment or a weekend hack. It’s a production-grade tool with 20+ components, real architecture decisions, and edge case handling — built faster than I could have done solo, without sacrificing quality.

If you’re skeptical about AI-assisted development, take a look at the codebase. Then decide.

Try It

🔗 Live Demo: https://v-senthil.github.io/mark-viwer/

GitHub: https://github.com/v-senthil/mark-viwer/tree/main

Feedback Welcome

This is v1.0. There’s more to build.

If you try it and something doesn’t work, open an issue. If you have ideas, I want to hear them.

If you find it useful, star the repo — it helps other developers find it.

If you want to contribute, PRs are welcome. Let’s make documentation less painful for everyone.

Built by a developer, for developers. No VC funding. No growth hacking. Just a tool that solves a real problem.

Leave a Reply