MD Viewer
Notes stay as markdown in a git repo. The app is the browser for reading, editing, and syncing.
SvelteKit, isomorphic-git, CodeMirror

What it is
A personal notes app for markdown that lives in a git repository. Add an HTTPS remote, the server clones it, and the browser is where you read, edit, and sync. There is no database: the notes are the files in the clone.
A public /preview shows the same UI without an account. Sign-in is Google, limited to approved addresses.
What it does
- Browse folders, preview rendered markdown, or edit in CodeMirror.
- Diff unsaved edits or the saved file against the last commit, and revert.
- Commit, pull, and push without a terminal. Pull only fast-forwards.
- Pin favourite files and folders.
- Paste rough notes and have DeepSeek turn them into a markdown file.

Tech
| Piece | Role |
|---|---|
| Svelte 5, SvelteKit | UI, routes, and server actions |
| TypeScript | Repos, sync, and diffs |
| CodeMirror 6, marked | Editing and rendering markdown |
| isomorphic-git | Clone, commit, and push in Node with no git binary |
| DeepSeek | Paste-to-markdown and merging diverged history |
| vite-plugin-pwa, nginx | Installable app, static preview, and proxy |
Challenges
- Git without a finishable merge. Pull is strict: only a clean, strictly-behind branch fast-forwards. Divergence is an explicit choice that states what each option destroys.
- One token for the git host. The browser never holds the credential; the server sends one personal access token.
- A preview that cannot drift.
/previewis prerendered from the same components as the signed-in app.