As AI tools have evolved, I found myself constantly jumping between ChatGPT for brainstorming, a code editor for prototyping, and Obsidian for note-taking. The context switching was killing my productivity.
I wanted an AI assistant that didn't just spit text into a chatbox, but actually worked alongside me in a unified canvas.
So I built Storm—a premium, visual AI brainstorming canvas built natively in Python using the Pytron framework.
What is Storm?
Storm is an Obsidian-like markdown workspace supercharged with a LangGraph/LangChain agent backend. It provides a split-screen canvas where the AI can brainstorm with you in chat, and simultaneously output structured, rendered notes into a living document.
Here are the features that make it a powerhouse for productivity:
1. Interactive Markdown Canvas
Storm doesn't just generate static markdown. The AI generates interactive elements.
- If the AI generates a checklist, clicking a checkbox in the preview automatically updates the underlying
.mdfile in real time. - If the AI generates HTML buttons, those buttons can dynamically trigger Python functions on the backend.
2. Consolidated AI Brainstorming Notes
Instead of scrolling up endlessly through a chat history to find a good idea, Storm consolidates blueprints, code snippets, and structured thoughts directly into a neat brainstorm/ catalog in your workspace. You can toggle between the rendered preview and the raw Markdown source code instantly.
3. Secure Terminal Execution
One of the scariest parts of giving AI access to your computer is terminal execution. Storm solves this with a Secure Terminal Sandbox. When the AI wants to run a shell command, the Pytron bridge triggers a native GUI confirmation dialog on your screen, allowing you to explicitly confirm or deny the execution request.
4. Multimodal Drag-and-Drop
Storm natively supports visual models (GPT-4o, Gemini 1.5 Pro). You can seamlessly drag and drop UI mockups, architecture diagrams, or screenshots directly into the chat, and the AI will analyze them and update your canvas notes accordingly.
5. Persistent Personality Memory
Storm features a user.md memory store in the root of your workspace. It acts as a long-term profile memory, automatically injecting your custom preferences into the agent's instructions so it never forgets your coding style or project architecture.
The Tech Stack (Zero Electron Bloat)
I built Storm using Pytron, which allowed me to bypass the massive overhead of Electron.
- Backend: Python (LangChain, LangGraph) for robust AI orchestration and seamless OS integrations.
- Frontend: React (Vite) for a fast, glassmorphic UI.
-
Models: Built-in settings dashboard to hot-swap between OpenAI, Google Gemini, or local
.ggufmodels running entirely offline via LlamaCpp.
Try it out!
I'd love to hear what you guys think. What is your current workflow for AI brainstorming, and how could an integrated canvas make it better?
Check out the source code, run it locally, and start building!
🔗 GitHub Repository: https://github.com/Ghua8088/Agent-Playground

Top comments (0)