Started November 2016 · Available for macOS
This project began in 2016 as Mole, a small Electron app for organizing my Markdown notes. I wanted to keep my writing in ordinary files and use my own editor, with an app to help me find and organize them. The design was similar to what later became popular with Obsidian, but I stopped working on Mole.
When Obsidian became popular, I decided to return to the project. I rebuilt it as Mai, a native macOS app written in Swift. I added an AI agent using my open-source SwiftAgentCore project to help read, edit and organize the notes.
I later upgraded SwiftAgentCore into ForwardAgentKit, a more complete agent harness that handles conversations, tools, AI services and native UI. I plan to replace Mai’s current agent code with ForwardAgentKit next.
Working with notes
- Keep notes as local Markdown files that you can open in Finder or another editor.
- Browse by category, tag or folder, follow backlinks, and search the text of your notes.
- See changes made in other editors reflected in Mai.
- Ask the agent to read, create, edit or organize notes, with confirmation before it makes changes.
Mai is built with Swift and AppKit. It currently uses SwiftAgentCore for the agent and sends model requests to the AI provider you configure.