Skriva @skrivanotes

Skriva

A markdown editor that leaves your files where they are.

Pick a folder in Files - iCloud Drive, Dropbox, On My iPhone - and Skriva edits the .md and .txt notes inside it, in place. Nothing is copied into the app. Nothing is uploaded. There is no account to make.

Download for iOSBetav1.0.0

iPhone · iOS 26.2 or later · no sign-in, no analytics

skriva-site.mdEdited yesterday
# Skriva site

Make the page *show* the editor.

- [x] a note, up at the top
- [ ] a picture for when it is shared

See [[Launch]] for the rest.

The toolbar

A toolbar that knows where the caret is

Heading, bold, italic, strikethrough, code, link, note link, to-do, bullets, numbers, quote, find, undo, redo. Buttons light up when the caret sits inside what they would toggle, and the heading button shows the level you are already at. Pressing bold on bold text unwraps it.

Skriva's toolbar, above the iPhone keyboard.

Writing

Hardware keys, if you carry one

KeyDoes
⌘BBold
⌘IItalic
⌘KLink
⌘[Note link
⌘FFind

Lists that carry themselves

Return continues a bullet, a number, a to-do or a quote. Numbers increment, to-dos start unticked, and Return on an empty marker clears it. Tap a checkbox on the box itself to tick it.

Every edit goes through the system text input rather than the storage underneath it, so undo, autocorrect and dictation keep working the way they do everywhere else.

Links between notes

Type [[ and a bar of matching note names appears above the toolbar. Tapping a [[link]] jumps to that note - and if no note by that name exists yet, it is created and opened. Linking ahead of yourself is the point.

Notes for the beta. See [[

Today

Today

Monday, 7 September

Ship the beta · 2 unfinished yesterday

A card at the top of the listing, headed with today's date. Tapping it opens today's note, making it the first time. It carries how today is going and what yesterday left unticked, because the weak point of a daily note is the gap between days.

A long press reaches yesterday and tomorrow. Where the notes live is a setting rather than an assumption, and moving that folder brings the dated notes along with it.

Finding things again

Nothing leaves the device

You do not have to take that on faith:

$ grep -r "URLSession" skriva/
# no matches

URLSession is how an app on the iPhone talks to the network. That command reads every file Skriva is built from, looking for it. Nothing comes back.

When it changes somewhere else

Your folder is a folder, so other things can reach it: the same note open on a Mac, a sync client catching up in the background, the Files app, a shortcut. Skriva watches the file rather than assuming it owns it. When the copy on disk stops matching the one on screen, one capsule appears over the text and says which of those happened.

Seven things that can happen to a file, and what the app says about each. Swipe through them, or use the arrows.

Launch.mdEdited just now
Ran the migration against the staging folder this morning. 412 notes, no collisions, and the daily-note path came across with it.

- [x] Redraw the four empty states
- [ ] Ask about the capsule on the iPad layout

#daily #work
Updated from elsewhere

Your Mac saved it first.reloaded

The note changed on another device while you had nothing unsaved, so Skriva took the newer file and carried on. Nothing of yours was at stake, which is the only reason this one is allowed to be a notice.

Takes itself away after four seconds

Launch.mdEdited just now
Ran the migration against the staging folder this morning. 412 notes, no collisions, and the daily-note path came across with it.

- [x] Redraw the four empty states
- [ ] Ask about the capsule on the iPad layout

#daily #work
Renamed to "Field notes" elsewhere

Renamed in the Files app.movedHere(name)

The file was renamed underneath the editor. The document follows its file rather than the path it was opened at, so nothing closed and nothing moved. The note you were reading is still the note you are reading.

Takes itself away after four seconds

Launch.mdEdited just now
Ran the migration against the staging folder this morning. 412 notes, no collisions, and the daily-note path came across with it.

- [x] Redraw the four empty states
- [ ] Ask about the capsule on the iPad layout

#daily #work
Unsaved changes recovered

Force-quit mid-sentence.recovered

A draft left behind by a crash or a force-quit was found and put back. Every keystroke is journalled as you type, which is what there was to put back. Then it stands down to an ordinary unsaved edit.

Takes itself away after four seconds

Launch.mdEdited just now
Ran the migration against the staging folder this morning. 412 notes, no collisions, and the daily-note path came across with it.

- [x] Redraw the four empty states
- [ ] Ask about the capsule on the iPad layout

#daily #work
Created "Field notes"

Followed a [[link]] to nothing.created(name)

The one here that is not another device. Tapping a link to a note that does not exist yet creates it. Nothing else on screen changes, so the capsule is the only evidence the tap did anything.

Takes itself away after four seconds

Launch.mdEdited just now
Ran the migration against the staging folder this morning. 412 notes, no collisions, and the daily-note path came across with it.

- [x] Redraw the four empty states
- [ ] Ask about the capsule on the iPad layout

#daily #work
Changed elsewhere - tap to resolve

Both devices edited it.conflicted

Another device wrote to the file while you had unsaved edits of your own. Autosave stands down until you say which version wins, and the draft keeps taking every keystroke while you decide. Tapping the capsule reopens the choice, and keeping both versions is the default.

Stays until it is resolved

Launch.mdEdited just now
Ran the migration against the staging folder this morning. 412 notes, no collisions, and the daily-note path came across with it.

- [x] Redraw the four empty states
- [ ] Ask about the capsule on the iPad layout

#daily #work
Deleted elsewhere - tap to resolve

Deleted on another device.deletedElsewhere

The file went out from under you. What you have written is still here, and saving it back creates the file again. Tapping the capsule is the way to that decision, and until you make it the capsule stays.

Stays until it is resolved

Launch.mdEdited just now
Ran the migration against the staging folder this morning. 412 notes, no collisions, and the daily-note path came across with it.

- [x] Redraw the four empty states
- [ ] Ask about the capsule on the iPad layout

#daily #work
The file couldn't be saved

The save could not be written.failed(message)

A folder gone read-only, a disk with nothing left on it, a permission that lapsed. The capsule carries the actual error rather than a generic apology, and it does not leave until the save goes through.

Stays until it is resolved

Autosave working is not news. A capsule that turns up for every save is a capsule you stop reading, and the one time it matters you will scroll straight past it.

Not losing things

Get it

Download for iOSBetav1.0.0

Your folder stays your folder.