AI Adrian Iacuone Senior full stack engineer

MD Viewer

Notes stay as markdown in a git repo. The app is the browser for reading, editing, and syncing.

SvelteKit, isomorphic-git, CodeMirror

Open the preview
MD Viewer screenshot

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.
MD Viewer screenshot

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. /preview is prerendered from the same components as the signed-in app.