
Software and toolsIn development
Alsatian Docs
A local-first Markdown editor with version history on GitHub and real-time collaborative editing.
- My role
- Design and development
- Status
- In development
- Technologies
- TypeScript
- React
- Electron
- CodeMirror 6
- Yjs
- Cloudflare Durable Objects
- Capacitor
- Tailwind CSS
- Vitest
- Playwright
Overview
Alsatian Docs is a Markdown document editor for desktop (Linux and Windows) and Android. Every document is a real .md file that any other program can edit: the app never locks content into its own format.
On top of that it adds what usually requires separate tools: Git version history explained in plain language, GitHub sync, and several people editing the same document at once.
It is being built in milestones. The project roadmap documents what is done, how it was verified and what still needs validation.
Gallery
Synchronised editor and preview (sample data) Git version control without jargon (sample data)
Key features
- 01
Editor and preview
CodeMirror 6 with Markdown/GFM, a safe preview with code highlighting, and a split view with two-way synchronised scrolling.
- 02
Saving that never clobbers
Atomic saving and autosave that never overwrite changes made outside the app without asking, preserving encoding and line endings byte for byte.
- 03
Git without jargon
“Save version”, “get changes” and “publish”: branches, diffs, per-document history and conflicts resolved inside the editor.
- 04
Real-time collaboration
Named cursors on Yjs and Cloudflare Durable Objects. You can keep writing offline and it syncs when you reconnect.
- 05
GitHub without passwords
Connection through a GitHub App using Device Flow, with no secrets in the app and tokens encrypted in the system keychain.
- 06
Desktop and Android
AppImage, .deb and Windows installers, plus an Android app built with Capacitor. Exports to PDF and Word.
Role and responsibilities
My role
Design and development
- Monorepo architecture: desktop, mobile and collaboration server.
- Git and GitHub integration, including conflict resolution.
- Real-time collaboration and three-way merging on publish.
- Unit, integration and E2E testing, and automated releases from CI.
