journal, blog + screenplay editor

a private encrypted notebook, a public blog, and a professional screenplay editor — all in one place.

$ praxis journal
write:
  compose entry ........................ markdown / fountain
  encrypt with wallet key .............. AES-256-GCM
  autosave to server ................... encrypted blob
publish:
  select entry ......................... journal → blog
  sign with wallet ..................... personal_sign
  BlogRegistry ......................... on-chain
  permanent post .......................

encrypted private journal

the journal is your private writing space. every entry is encrypted client-side with AES-256-GCM using a key derived from your wallet signature. the server stores only encrypted blobs — it cannot read your entries.

journal entries are encrypted with your wallet key. if you lose your recovery phrase, journal entries cannot be recovered.

publishing journal entries as blog posts

any journal entry can be published as a public blog post. the publish flow opens a modal where you set a title, then signs the content with your wallet and writes it to the BlogRegistry smart contract on Scroll. once published, the post is permanent and on-chain.

blog amendments

published blog posts can be amended. amendments are stored as new on-chain entries with refType=5 pointing back to the original post. the full edit history is preserved — nothing is overwritten. readers see the latest version by default, with the option to view the amendment history.

screenplay editor

toggle script mode in the journal to switch from freeform writing to a structured screenplay editor. the editor supports three formats:

script elements

the editor recognizes and formats these element types automatically:

tab key + smart detection

pressing Tab cycles the current line through element types: action, scene, character, dialogue, parenthetical, transition. Shift+Tab cycles in reverse. the editor also detects element types automatically as you type — an ALL CAPS line becomes a character, a line starting with INT. becomes a scene heading.

pressing Enter infers the next element type based on context: after a scene heading, the next line is action. after a character name, the next line is dialogue. after dialogue, the next line is a new character.

PDF export

scripts can be exported to PDF with proper screenplay formatting — Courier font, standard margins, uppercase scene headings, indented dialogue. the export includes a page count estimate based on the one-page-per-minute industry standard.