Skip to main content
Sean Brill

Documentation workspace

2026

Private

MDV

Read, write and organise markdown docs in the browser.

Private repository on FileFreak Git

FOLDERShandbookREADME.mddeploys.mdon-call.mdapioverview.mderrors.mddeploys.mdon-call.mderrors.md# DeploysA push to **main** shipsin about two minutes.```mermaidflowchart LR push --> build build --> live```DeploysA push to main ships in abouttwo minutes.pushbuildlive

Overview

MDV, short for Markdown Viewer, is a self-contained browser app for reading and writing markdown documentation across many project folders: GitHub-style rendering, Mermaid diagrams, tabs and split panes, a full editor, and a narrator that reads documents aloud. Plain .md files on disk stay the source of truth, and its repository is hosted on FileFreak Git.

My role

Creator. Server, client, editor and the migration from the legacy app.

Built with

  • Node.js
  • TypeScript
  • React 19
  • Vite
  • marked
  • DOMPurify
  • highlight.js
  • Mermaid
  • Vitest

In numbers

unit tests
~965
browser test suites
20
server dependencies
0

How it's built.

  • A server with no dependencies

    A Node HTTP server with a hand-rolled router and its own zip and CRC32 code. Every path is confined to the configured folders, and a shared API contract makes the client's typecheck fail when a response changes.

  • Migrated without a rewrite

    Moved step by step from a legacy vanilla-JavaScript app to React 19 and TypeScript, guarded by about 965 unit tests and 20 browser suites driven over the Chrome DevTools Protocol.

  • Authoring built in

    An editor with live preview and find and replace, builders for tables, code and images, and a 12-type Mermaid diagram builder that reopens on what is already written.

  • A narrator

    Reads documents aloud with the Web Speech API, describes Mermaid diagrams in words, and remembers where you stopped.

  • Hosted on FileFreak Git

    Its repository lives on FileFreak's own git hosting: pushed, cloned and fetched over HTTPS like any other remote, and browsable on the website.