massCode
A free, local-first developer workspace unifying snippets, notes, HTTP requests, calculations, drawings, and dev tools in one desktop app.
massCode is a free, open-source desktop application that has evolved from a code snippet manager into a comprehensive developer workspace. It brings together code snippets, Markdown notes, HTTP client, a math notebook, Excalidraw-powered drawings, and built-in developer tools—all in a single local-first environment where your data stays on your machine as plain Markdown files.
The app runs natively on macOS, Windows, and Linux via Electron, and ships with version 5.7.0 featuring a full HTTP client with environment variables, a drawings space built on Excalidraw, a browser clipper extension for Chrome/Firefox/Safari, a command palette for keyboard-first navigation, and import support from tools like Obsidian, Postman, Bruno, and GitHub Gists.
All data—snippets, notes, and HTTP requests—lives as plain .md files with frontmatter in a local Markdown Vault, making it inherently Git-friendly and compatible with any file sync service like iCloud, Dropbox, or Syncthing. A live file watcher ensures external edits are reflected in real time without restarting the app.
The ecosystem extends further with VS Code and Raycast extensions for direct snippet insertion, a local Integration API with token authentication, and custom theme support with live reload, making massCode adaptable to professional developer workflows without cloud lock-in.
What You Get
- Code Snippet Manager with 160+ Grammars - Organize reusable code across multi-level folders and tags with syntax highlighting powered by CodeMirror and TextMate grammars, Prettier formatting, real-time HTML/CSS preview, JSON Visualizer, and polished image export.
- Markdown Notes with Graph & Presentation Mode - Write project documentation, personal knowledge bases, and task lists with live preview, Mermaid diagrams, mind maps from heading structure, internal linking with a fullscreen notes graph, callout blocks, and a fullscreen presentation mode.
- Built-in HTTP Client - Send API requests organized in folders with environment variables for local/staging/production, edit params, headers, auth, and body, preview as raw HTTP or cURL, and inspect response status, time, size, and headers—all without leaving the app.
- Math Notebook with Live Calculations - Perform natural-language arithmetic, unit conversions, date math, and finance calculations (ROI, compound interest, loan repayment) with support for 166+ fiat currencies and 21 cryptocurrencies at live exchange rates, plus variables and aggregate functions.
- Drawings on Excalidraw Canvas - Sketch wireframes, diagrams, and whiteboard ideas on an Excalidraw-powered canvas with pan/zoom, image export, and direct embedding of drawings into Markdown notes.
- Browser Clipper Extension - Save selected code as snippets, selected text or full page content as notes, and pages as HTTP GET requests directly from Chrome, Firefox, or Safari into the local massCode app via the Integration API.
- Command Palette for Keyboard Navigation - Jump to any space, snippet, note, HTTP request, or action with a keyboard-first command palette (Cmd/Ctrl+P), scoped search with
@, and command mode with>. - Import from Popular Tools - Bring existing work in with preview-first imports from VS Code, Raycast, SnippetsLab, GitHub Gists (snippets), Obsidian folders (notes), and OpenAPI/Postman/Bruno collections (HTTP).
Common Use Cases
- Centralizing cross-project snippet libraries - A full-stack developer keeps reusable React hooks, SQL queries, and bash aliases in massCode with multi-level folders and language tags, using the VS Code extension to insert snippets directly into the editor without context switching.
- API development and documentation alongside code - A backend engineer organizes API requests by environment (local, staging, production) using environment variables in the HTTP client, writes endpoint documentation in adjacent Markdown notes, and keeps helper scripts as snippets—all in one workspace.
- Technical documentation with live diagrams - A DevOps engineer maintains infrastructure runbooks in Markdown notes with embedded Mermaid diagrams, syncs the vault to a private Git repo for version history, and uses presentation mode to walk the team through deployment procedures.
- Quick calculations without a browser tab - A product manager estimates project costs with natural-language inputs like ‘budget = $50,000 / 12 months’, converts between currencies at live rates, and performs ROI calculations—all in the math notebook without opening a calculator app.
- Importing and migrating existing toolsets - A developer moving away from fragmented tools imports their VS Code snippet library, Obsidian notes vault, and Postman collection into massCode in a single preview-first import session, reviewing what gets imported before writing anything.
- Syncing a private dev workspace across machines - A freelancer uses massCode with Syncthing to keep snippets, notes, and HTTP requests in sync between a Mac and a Linux workstation, with no cloud account required and full file access via any text editor.
Under The Hood
Architecture massCode uses Electron’s process model with a strict boundary between the Node.js main process and the Vue renderer process, communicating exclusively through typed IPC channels and a local Elysia.js REST API. The main process owns all system-level concerns—storage I/O, file watching via Chokidar, database migrations, update checks, and the integration API—while the renderer process handles all UI state through modular Vue composables that mirror domain boundaries (snippets, notes, HTTP, math, drawings). This separation ensures that storage logic is never exposed to the renderer and that each domain can evolve independently. The storage layer is built around an abstract provider contract, allowing the Markdown Vault to be the sole storage engine while keeping the interface clean for future provider additions.
Tech Stack
The app is built with Electron as the desktop shell, Vue 3 with the Composition API for the renderer, and TypeScript throughout both processes. CodeMirror 6 provides the primary editor with Lezer-based parsing, while CodeMirror 5 with TextMate grammar support handles the legacy syntax highlighting pipeline for niche languages. Storage is fully file-based using the Markdown Vault—plain .md files with frontmatter, watched in real time by Chokidar. The integration API uses Elysia.js with the Node adapter and auto-generates Swagger documentation. Excalidraw powers the drawings canvas, mathjs underpins the math notebook, and Mermaid handles diagram rendering. Vite with the Vue plugin handles renderer bundling, and Electron Builder packages cross-platform releases.
Code Quality The codebase ships with extensive Vitest test coverage—over 120 test files spanning math engine behavior (arithmetic, units, currencies, timezones, calendar math), storage watcher logic, composable state machines, and UI-layer space initialization. Tests use precise mocking of electron-store and IPC boundaries to keep assertions deterministic. TypeScript strict mode is enforced across both processes, with well-defined interfaces for storage contracts, IPC channel types, and API DTOs via TypeBox schemas. ESLint with the antfu config and Prettier enforce consistent style, and lint-staged runs both on every commit via simple-git-hooks. Conventional Commits are enforced at the commit-msg hook level.
What Makes It Unique
massCode’s most distinctive architectural choice is treating the entire workspace as a Markdown Vault—every snippet, note, and HTTP request is a plain .md file with frontmatter, making the app a thin UI layer over a human-readable file system rather than a black-box database. This means users get Git history, diff-friendly storage, and compatibility with any sync service or text editor for free. The second standout feature is the math notebook’s natural-language engine built on mathjs with locale-aware parsing—it resolves ambiguous input like 11/22/2005 as a date in en-US but as division in other locales, and it aggregates live exchange rates from multiple sources with intelligent fallback. The addition of a full HTTP client, Excalidraw drawings, and a browser clipper extension positions massCode as a genuine all-in-one developer workspace rather than a specialized tool.
Self-Hosting
massCode is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0). This is a strong copyleft license: you can use, modify, and distribute the software freely, including for commercial internal use, but if you distribute a modified version or run it as a network service accessible to others, you must release your modifications under the same AGPL-3.0 license. For most developers using massCode as a private desktop tool on their own machine, the AGPL terms are straightforward—there is no network service aspect and no distribution involved, so the copyleft conditions simply do not trigger.
The operational reality of self-hosting massCode is minimal by design. There is no server to run—massCode is a desktop application that installs like any other Electron app on macOS, Windows, or Linux. Storage is fully local: your vault is a directory of Markdown files that you control. Updates are delivered via the built-in electron-updater mechanism and can be applied at will. The only infrastructure consideration is how you want to sync your vault across machines—Syncthing, Dropbox, iCloud, Google Drive, and Git remotes all work out of the box because the vault is just a file system directory.
There is no hosted or SaaS tier for massCode—the project is fully open source with no paid cloud offering. Support is community-driven through GitHub Discussions and Issues. The project is funded through Open Collective, PayPal, Gumroad, and Polar donations, and is actively maintained by a solo developer with contributions from the community. This means there are no SLAs, no managed backups beyond what your sync solution provides, and no enterprise support contracts—but also no subscription fees, no usage limits, and no data leaving your machine.
Related Apps
AutoGPT
Automation · Productivity · AI Assistants
Build, deploy, and run autonomous AI agents that automate complex multi-step workflows using a visual block-based graph editor.
AutoGPT
OtherOllama
AI Development · Developer Tools
Run Llama, Gemma, DeepSeek, and other open LLMs on your own machine with one command and an OpenAI-compatible API.
Ollama
MITDify
No Code Platforms · AI Development · Developer Tools
Visual LLM workflow platform with RAG pipelines, agent capabilities, and model management for building production AI applications.