I downloaded Pile, a journal app with a first-class language model integration and an offline ollama integration. For personal data, running the model offline is a must for me. I use DayOne sporadically, but I’m intrigued by the potential of a more of conversational format as I write.

The concept of a journal writing partner appears to be capturing mindshare. I found another similar app called Mindsera today as well. I also learned about Lex which puts collaborative and AI features at the heart of document authorship, I concept I played around a bit with Write Partner.

For me, all of these tools are circling a sweet spot of what I am looking for, but don’t quite fit.

I currently do most of my writing in Cursor. This is for a few reasons:

  1. I version control my site with git
  2. I use hugo to build and extend my site with shortcodes
  3. I write posts in Markdown
  4. I write a lot of code in my posts

Cursor’s cmd+k editing and chat mode are pretty good fits for my use cases. However, Cursor does struggle when trying to modify documents containing codefences, because it seems to use those as a stop sequence.

Additionally, Cursor doesn’t provide native grammar tools or tools for structuring and refining the writing itself. These features are things Lex focuses on much more. Things like ideation, outline generation and rephrasing. Additionally, it takes work to get Cursor into a focus state. It’s not difficult, it’s just not trivial.


I found this VS Code extension called vscode-hugo-live-preview, which provides a side-by-side rendering of my markdown and the Hugo-rendered page. It took a bit of work to setup but I’m pretty happy with how it turned out.

Using this command, I could build the project from source

npx vsce package

then installed it to Cursor with

cursor --install-extension hugo-live-preview-0.1.1.vsix

The extension makes it easier to validate the correctness of the format of what I am writing, while also having everything else I like about Cursor/VS Code available. The other nice-to-haves could probably be implemented with a combination of cmd+k, the chat and text expansion for the prompts. This approach assumes I want to hack something. I could also build something novel and personal, based on exactly what I want, but I’m not sure I can quite articulate what that is – it’s a lot of knowing it when you see it.

Things my ideal writing experience would have

  1. Side by side markup and rendered page (maybe markdown, maybe something else)
  2. Can toggle between raw text and rendered content
  3. AI chat with “apply changes functionality”
  4. AI highlight-and-replace like Cursor’s cmd+k
  5. AI prompt library to which I can add edit-centric or generative-centric prompts that will interact with my existing document, propose changes, give feedback and make corrections.

Zed released a bunch of AI features. I really like the concept of adding urls and files to the context window of the model along with the prompt. Cursor supports this but requires you to index the docs beforehand. I like that approach as well but sometimes I know a page is going to be a one-off and don’t want permanently index it.