An IDE With a Pulse.
Free Forever.
Pulse is Avlory's IDE: open source under Apache 2.0 and free forever. A Rust engine does the heavy work inside a Flutter shell, with deep support for the languages and frameworks people use, a map of your codebase one key away, and no AI unless you plug it in. Every demo below runs in your browser; the screens are from Pulse itself, and every number says how it was measured.
- Windows
- Linux
- macOS
- iOS
- Android
Quick at any size. Fixes that apply.
Typing, highlighting, search and saving run in Pulse's Rust engine; language servers bring the diagnostics and quick fixes, and Pulse shows them in place. The four mistakes below are the ones Pulse's real-tool tests make on purpose. Pick a language, then apply the server's fix or type your own.
Type in the editor; the problem is checked again when you pause. Tab indents; Esc, then Tab, leaves the editor. A few lines of JavaScript stand in for the language server here; the messages and fixes are the real servers'.
Measured 27 and 28 October 2026 on a shared Linux build machine with 4 cores and no graphics card, release build: the engine's own work through the methods the app calls (the cold start on the idle machine, median of nine fresh processes). Drawing isn't in these numbers: the GPU editor surface isn't built yet, and until it is, Flutter draws the code. pulse bench
Never loses work
First buildUnsaved edits go to a crash journal. A test kills Pulse mid-edit and checks every edit is offered back on the next start.
Format on save
First buildWith the project's own formatter and config: rustfmt, dart format, google-java-format, Prettier, ruff or black.
Restricted mode
First buildA folder you haven't trusted runs no formatter, project language server, task, deploy or AI.
Big files
First buildA 1 GB log shows its first screen in 2.2 s on the same machine; files over 512 KB highlight at once while the full parse finishes.

Find anything by any part of it.
Go to file matches any part of a path, and Sprout's short paths work too: pulse/skip finds the map's skip rules. Type > for commands and @ for symbols. Try it on a slice of Avlory's own repository.
Up and Down move, Enter opens. Matched letters are drawn in the accent, as Pulse does.
Paths and symbols from Avlory's repository; the commands are Pulse's own names.
Measured 27 and 28 October 2026 on the same 4-core machine, on a copy of Avlory's repository, with another build running. For scale, ripgrep alone finds every match of the same word there in 0.32 s. pulse bench --project <copy> --word return

Your codebase as a map, one key away.
Pulse indexes modules, files, symbols and notes, and marks every link as read from the code or inferred, so you know which ones to check. Alt+M opens it in every keymap. A folder holding many projects, like Avlory's own, keeps each project's language servers, runs and problems apart. Open a project, then pick a file to see its links.
Read from the code Inferred, check it
An example slice with its links drawn by hand, not Pulse's index.
Measured 28 October 2026 on the same shared 4-core machine (load average 2 to 4), release build, through the map's own methods in a fresh process, two runs each. Generated, minified and vendored files and lockfiles are left out by default; with everything in, the index takes 27 s. Methods: Map::build, symbol_search, who_uses, update_file

Depth per language, tested check by check.
Language servers give Pulse its breadth; its own layer on their types and the map gives depth. For each language a parity suite scripts what the matching JetBrains IDE does and checks that Pulse does it too. For Spring Data, Pulse reads a repository method's name the way Spring does and shows the query it becomes. Type one.
The rules and the query text follow Pulse's own (springdata.rs), cut down to this one entity.
| Suite | Checks | Mirrors | On |
|---|---|---|---|
| Java and Spring Boot | 38 of 38 pass | IntelliJ IDEA Ultimate | Spring Boot with JPA, Flyway and Security; Gradle multi-project; Maven with Liquibase |
| JavaScript, TypeScript and Node | 17 of 17 pass | WebStorm | Next.js, Express, a pnpm monorepo, Angular |
| Rust | 32 of 32 pass | RustRover | Workspaces, Cargo features, tests, Clippy, lldb-dap |
| Python | 16 of 16 pass | PyCharm | Django, FastAPI, pytest, ruff, mypy |
| C and C++ | 12 of 12 pass | CLion | CMake with presets and GoogleTest, a Makefile project, gdb |
| The real servers | 5 of 5 pass | rust-analyzer, Pyright, the TypeScript server, clangd, debugpy | Diagnostics, hover, definition, completion, references, a quick fix and rename, on Linux |
What these suites don't prove yet
- Most checks run against stand-ins for the build tools, servers and debuggers; the real-tool run covered the five tools above, on Linux only, on 28 October 2026.
- Not run with the real tools yet: jdtls and java-debug, Dart's analysis server and Flutter's debug adapter, js-debug, CodeLLDB, and the Vue, Svelte, Angular and Tailwind servers. Nothing has run on macOS or Windows.
- Each suite lists what's still missing against its IDE, such as type-aware Spring analysis across libraries and database tools for Java.

Secrets caught before they leave.
Pulse runs the rules of Avlory's own secret scanner, rebuilt in Rust, as you type, on save, before every share and once over history. Nothing leaves your computer. A secret moves to a git-ignored .env in one undoable step, with the line rewritten to read it. Add a key below, or type one.
- .gitignore gets .env
- Rotate the key: it may already be in your history.
The keys here are made up in your browser, and the four rules are a few of the scanner's.
Same rules everywhere
First buildThe same rule ids and allowances as Avlory's own scanner, so a finding means the same thing in Pulse, in Sprout and in CI.
Six languages rewritten
First buildDart, Java, JavaScript, TypeScript, Python and Rust lines are rewritten to read the variable; the plan is shown before it's applied.
Values stay masked
First buildFindings are diagnostics with the value masked, in the editor, in Problems and before every share.
Keychain and deploy stores
LaterMoves to the system keychain or a deployment's secret store are planned; the first build moves to .env only.

No AI until you plug it in.
No AI code is loaded until you connect a provider: Claude, Gemini, ChatGPT, Grok or DeepSeek with your own key, or Claude Code and Gemini CLI so a subscription you already have works. Each project then grants what AI can see and do, and you can take it back at once. Edits arrive as proposals you accept change by change; secrets files stay unreadable and everything is logged.
An illustration of the grant rules, not a real model.
Inline suggestions are your choice
First buildGhost text is off until you switch it on, and while it's off nothing is sent. Pulse asks during setup.
Hand off a failure
First buildOne action bundles an error, the stack, the code around it and the logs, with secrets removed, for an agent or the clipboard.
Cost you can see
First buildTokens and cost per request and per project, with monthly caps.
Tested with stand-ins
Not with real CLIs yetThe providers and the Agent Client Protocol are tested against fake servers; Claude Code and Gemini CLI haven't been tried for real yet.

Your backend, beside your code.
Pulse works with your own Cloudflare and Firebase accounts, and it reads Spring Boot and Flutter projects the way those frameworks do. Nothing is tied to Avlory: no account, project or domain of ours is named anywhere in Pulse. Every change that reaches the internet is shown as a plan and runs only after you confirm it.
Cloudflare
First buildUses your wrangler login or an API token kept in the system keychain. DNS records with history and undo, cache purges (offered after a deploy), wrangler dev as a run configuration and live logs from wrangler tail.
R2, KV and D1
First buildBrowse buckets, namespaces and databases. D1 answers read-only SQL at once; uploads, deletes and writes are plans you confirm.
Share a live server
First buildOpen your dev server to the internet with a Cloudflare Tunnel: a quick link that needs no account, or your own named tunnel. Pulse installs a pinned, checksum-checked cloudflared only if you agree.
Firebase emulators
First buildStarts any project's Emulator Suite as a run configuration. You can read and edit its Firestore documents and Auth users, run the project's rules tests in Pulse's test panel, and follow Cloud Functions logs. Hosting preview channels go through your own firebase login.
Spring Boot
First buildBeans, injection points and endpoints are read from the code, and the bean graph is resolved the way Spring resolves it, including profiles. While the app runs, Pulse shows live health, beans, mappings and metrics from Actuator, with secrets masked.
JPA and SQL schemas
First buildPulse builds the database schema from your Flyway, Liquibase or schema.sql migrations, without needing a database. It checks entities, Spring Data queries, @Query JPQL and native SQL against that schema.
Flutter
First buildShows each build's widget tree, with wrap, remove and extract actions. Also handles the pubspec's dependencies (outdated, upgrade, get), assets, localisation keys, navigation and flutter doctor.
Database connections
Before launchConnect to a running PostgreSQL, MySQL or SQLite database, with a query console and a data browser. Not built yet; planned for the first release.
Tested against stand-ins: Cloudflare's API, the Firebase emulators, wrangler and cloudflared are fake versions on the test machine. Pulse hasn't run them against real accounts yet.
Pulse and the rest of Avlory.
Pulse works with the other Avlory apps as well as your cloud accounts.
Sprout
PlannedVersions and history inside the IDE.
Quill
PlannedCodebase map notes can live in Quill docs, in Markdown in the project, or on your device.
Every Avlory file
PlannedOpens .quill, .avtables, .stage, .canvas, .sculpt, .sound, .voice and the rest, plus PDF, Markdown and more.
Nebula
PlannedGame code comes in from Pulse, with Pulse's map of the project.
Marketplace
PlannedExtensions and Flutter widget packages, always free, sandboxed and signed.
Where Pulse is today.
In development. The first phase-1 slice is built: the Rust engine and the Flutter desktop app. Avlory's own developers switch from VS Code and IntelliJ once every item on Pulse's switch checklist passes, keeping their old IDE as a fallback. Pulse and Sprout ship first, together. Downloads open through the waitlist.
Tested
- On a Linux build machine with 4 cores and no graphics card.
- The engine's Rust tests, the parity suites, and the app's widget, accessibility and screen tests.
- Five real tools on Linux: rust-analyzer, Pyright, the TypeScript server, clangd and debugpy.
Not tested yet
- The GPU editor surface, which isn't built yet.
- Windows, macOS, iOS and Android builds on real machines.
- jdtls, Dart's server, Flutter's debug adapter and js-debug with the real tools.
- Claude Code and Gemini CLI with the real programs.
- Cloudflare, Firebase and cloudflared with real accounts.
Free forever, open source
Pulse is Apache 2.0, and its plugins are always free: no paid plugins.
Never locked out offline
One Avlory ID sign-in to set up; offline after that.
AI never changes work silently
Every AI change is a visible, undoable proposal, logged per project.
Nothing collected by default
Crash reports are opt-in and show what they send first. All the promises
Try Pulse First.
Pulse's downloads open through the waitlist. We'll email you when it's ready on your platform.