What’s new
What’s new in Totally Lean
Latest update
Totally Lean is a free Lean Business Model Canvas tool that runs in your browser or as a native desktop app. The May 10, 2026 release ships desktop apps for macOS (Universal, signed and notarized), Windows, and Linux; full translation across nine languages (English, Spanish, French, German, Italian, Portuguese, Japanese, Korean, Simplified Chinese); four new worked examples (Stripe, Notion, Substack, Patagonia) covering B2B SaaS, horizontal SaaS, creator economy, and mission-driven brand archetypes; an /about page with maintainer info and Person schema; and a comprehensive SEO/AI-search overhaul including hreflang clusters, FAQPage schema, AI-crawler allowlist, and a curated /llms.txt index. Same product, same data, same privacy posture: no account, no server, nothing leaves your device.
Five quiet releases in one day.
Memory audit; AI agent prompt hardening; dark mode default; toolbar AI Notes button.
Today shipped v0.2.2 through v0.2.6 of the desktop app and matching web deploys. A full memory-usage audit (capped agent session history, debounced autosave, LRU caches, broadcaster refactor), a sweep through the AI agent prompt path (prompt-injection hardening, escape canvas content in prompts, abort stale streams when switching backends), dark mode as the new default on web, and an AI Notes button right in the canvas toolbar so per-canvas instructions are one click away from anywhere you’re editing.
Memory leaks, found and fixed.
A ten-fix audit pass: capped agent session history so transcripts don’t grow unbounded, debounced autosave to coalesce rapid edits, swapped a few hot-path maps for LRU caches, and refactored the in-process broadcaster so subscribers detach cleanly on unmount. Long editing sessions stay flat instead of climbing.
AI Notes that actually work.
The per-canvas AI Notes brief now actually reaches the agents:
canvas.agentInstructionsis prepended to Onboard, Explore, and Critic system prompts on every turn. The button moved from the canvas list into the editor toolbar — you don’t leave what you’re working on to update it.Dark mode, by default.
Flipped
DEFAULT_THEME_MODEon web. First paint now lands in dark for new visitors; the SSR fallback matches so there’s no light-mode flash before hydration. Your saved preference still wins on subsequent visits.Prompt injection, handled.
The agentInstructions framing was inverted to advisory, length-capped, and fenced so canvas content can’t override the agent’s role. The
<message>body is stripped before<done/>parse, and every canvas value injected into a prompt is escaped first. No outbound calls — this is local-model hardening.Totally Lean grew up.
Last update was new features. This one is new doors.
Today, Totally Lean ships a desktop app, nine languages, four new worked examples, a page about who builds this, the SEO plumbing to be findable in any of them, and AI Notes per canvas plus a published file-format schema.
Same product. Same nine sections. Same data on your machine. Six new ways to find it.
It runs where you do.
macOS Universal (.dmg, signed and notarized), Windows (.msi), Linux (.AppImage and .deb) — same React app, native shell.
The desktop app is the web app, packaged as a Tauri shell. Same React app, same nine sections, same local AI. Native file open and save. File association — drop a .leancanvas onto the app icon and it opens. Auto-update on launch. A window with a system menu bar, not a browser tab you might close by accident.
Nothing leaves your device. The desktop app pings the update manifest once per launch; that’s the only network call.
Nine languages.
English, Spanish, French, German, Italian, Portuguese, Japanese, Korean, Simplified Chinese — UI chrome, sample canvases, and worked examples translated.
Every UI string, every section label, every sticky in the sample canvases, every editorial paragraph on the worked- example pages — translated. URLs are locale-prefixed (/es/, /ja/, /zh/), hreflang clusters declare 9 variants per page, and pt and zh use regional codes (pt-BR, zh-CN) to match the translation variant.
The locale switcher lives in Settings → Language. Your choice persists across reloads.
Four worked examples that aren’t startups.
Stripe (developer-first B2B SaaS), Notion (horizontal SaaS with PLG), Substack (creator economy), Patagonia (mission-driven brand).
The library was Airbnb plus Totally Lean’s own canvas. Now it covers four more business archetypes founders ask about:
- Stripe: developer-first B2B SaaS. Documentation as marketing. Compliance as a UVP, not a cost center.
- Notion: horizontal SaaS with product-led growth. Templates as a self-sustaining UGC network effect.
- Substack: creator-economy platform. Aligned-incentive economics — the platform earns only when the creator earns.
- Patagonia: mission-driven consumer brand. 40 years of activism as an architectural moat. The 2022 transfer to a purpose trust.
A door labeled About.
/about names the maintainer (Viraf Sarkari), the motivation, and the privacy posture. Person and AboutPage schema for E-E-A-T.
Trust matters. Knowing who built this matters. The /about page names the maintainer (one person), the motivation (the maker uses it for his own work), and the privacy posture (no server, nothing leaves your device, this is structural, not a marketing claim).
The plumbing to be found.
Per-locale canonical URLs, hreflang clusters (pt-BR, zh-CN), FAQPage schema, AI-crawler allowlist in robots.txt, /llms.txt curated index, schema graph unification.
For founders who want their canvas to be findable in ChatGPT, Perplexity, and Google AI Overviews: per-locale canonical URLs, hreflang clusters, FAQPage schema on every long-tail landing page, and a unified entity graph (Organization → Person → WebSite → SoftwareApplication via @id refs).
robots.txt explicitly allows GPTBot, ClaudeBot, PerplexityBot, OAI-SearchBot, Google-Extended, Bingbot, and the long tail of AI crawlers — no covert blocking. /llms.txt ships a curated index AI assistants prefer. Comparison tables on /vs/* pages now include row-level
aria-labelcontext so flattened text reads as “Offline editing — Canvanizer: No” instead of bare token streams.AI Notes per canvas.
Mémo Markdown par canvas destiné aux agents IA, accessible via « Notes IA » dans la liste des canvas. Plus un JSON Schema publié sur /file-format/schema.json pour que des outils externes valident les exports.
Each canvas now carries a per-canvas markdown brief for the AI agents — open the canvas list, click AI Noteson any row, and write the context you keep repeating: tone of voice, banned phrases, the exact way to spell a competitor’s name. Onboard, Explore, and Critic read it on every turn. It ships with the canvas in JSON export and share URLs.
The canvas file format is now a published JSON Schema at /file-format (raw schema: /file-format/schema.json). Validate exports, build importers, generate canvases from other tools — the shape is documented and stable.
Desktop 0.2.1, plus the bug that scrambled canvases.
App de bureau v0.2.1 avec les Notes IA intégrées ; correctif du closure périmé au changement de canvas, publié aujourd'hui sur le web et le bureau.
Desktop v0.2.1 lands today with the same AI Notes feature baked in. If you’re already on v0.2.0, the auto-updater will tell you on next launch — An update is available— and the patch downloads and installs in seconds. Installers stayed lean: roughly 19 MB on macOS, 9 MB on Windows, 85 MB for the Linux AppImage, 9 MB for the .deb. Still fits where it should. Download page has the fresh files.
The real story is the bug. Clicking a canvas in My Canvases didn’t actually switch the editor — it stayed on the previous one, then quietly saved your next edits to the new canvas’s slot. If you’ve ever wondered why a canvas looked wrong after switching, that’s why. A stale closure in
handleSwitchCanvas, quietly shipping corrupted data since multi-canvas landed. Fixed. Web and desktop, same release.The one thing to remember.
It's the same product. Same data. Same privacy posture. Now in nine languages, on four platforms, with six examples, and a face on the maintainer.
We didn’t add features this time. We added doors.
Same product. More ways to reach it.
Your conversations come with you.
Your pitch used to live in a side drawer.
Open the canvas on a new laptop and the elevator pitch you spent twenty minutes refining was gone. Hand the file to a co-founder and they got the stickies — but not the words you’d already written for the investor.
That ends today.
- The pitch travels with the canvas. Every pitch you generate is part of the canvas itself now. Export the JSON — the pitch goes with it. Share the URL — the pitch is in the link. Restore last Thursday’s version — last Thursday’s pitch comes back with it.
- Your AI conversations travel too. The Critic that found three holes in your assumptions. The Onboarding walkthrough you meant to revisit. The Explorer transcript that sharpened your UVP. All of it exports with the canvas as a single JSON file. Hand it to a teammate — they get the whole room, not just a snapshot.
Three things to know:
- Share URLs stay lean. Transcripts ride in the JSON file, not the link, so the URL doesn’t bloat.
- Old exports still work. The importer accepts both shapes — legacy canvas files load just fine.
- Nothing leaves your machine. Same promise. More of you travels with you.
A canvas without its pitch is half a story. A canvas without its conversations is just a snapshot.
We fixed both.
Your business plan just got a co-founder.
Most Lean Canvas tools are stenographers. You write. They store. The idea dies in a Dropbox folder three weeks later.
We disagreed.
So today, Totally Lean ships three AI agents in one floating chat bubble, a pitch generator, AI polish, and six new comparison pages, all while keeping every byte of your business on your machine.
Meet the room.
Trois agents IA locaux — Onboarding, Explorer, Critic — dans un dock de chat flottant.
Click the chat bubble. Bottom-right. Pick who’s in the meeting.
- Onboard: the patient co-founder for your first canvas. Walks you through all nine sections. Explains each one as you arrive. Twenty minutes, not a weekend.
- Explore: the curious strategist for the fuzzy idea you can’t quite articulate. Sharpens. Doesn’t lecture.
- Critic: the skeptical seed-stage investor you needed three months ago. Finds the assumption you can’t defend, then asks you to defend it.
They write stickies in your words. They never autocomplete your business plan. You approve every single line.
Every conversation persists. Browse them anytime, by agent, by date, in the dock’s history panel.
Pitches that sound like you.
Générateur de pitch parlé de 90 secondes : cinq tons × six audiences = trente combinaisons, toutes générées en local.
Press Pitch. Pick your tone. Pick your audience. Get a 90-second spoken pitch, ready for the elevator or the cold email.
- Five tones: Founder direct. Visionary. Contrarian. Numbers-first. Story-first.
- Six audiences: Seed investor. Accelerator app. Customer. Partner email. Recruit intro. Spoken pitch.
- Thirty combinations. Each one written from the same canvas. None saved to a server anywhere.
Want it read aloud? The basic voice is free. Upgrade to a premium neural voice, Kokoro-82M, 80 MB download, one-time, fully offline, and the machine sounds like a podcaster.
Polish that respects the work.
Quatre modes de polish IA — Tighten, Concrete, Sharpen, Shorter — par sticky ou sur une section entière.
Written something and it’s not quite right?
- Tighten: same meaning, fewer words.
- Concrete: swap vague nouns for specific ones.
- Sharpen: passive to active. Verbs that do work.
- Shorter: hard cap. You know when you need this.
New today: polish an entire section in one pass. Every sticky in Problem, Solution, or UVP, streamed side by side, accept or reject one at a time.
Nothing leaves your machine.
Local-first par construction : WebGPU ou ton propre daemon Ollama, pas de compte, pas de serveur, pas d'email.
- Browser runs the model via WebGPU. Or bring your own Ollama daemon, with auto-detect for thinking-capable models like Gemma and Qwen.
- Every conversation, every pitch, every rewrite, persisted in your own browser. Not our server.
- No account. No email. No “contact sales.” Free forever, with every feature included.
If you’re wondering what the business model is: there isn’t one. That’s the whole point.
Six new ways to find us.
Pages comparatives côte à côte contre Canvanizer, LeanSpark, Strategyzer, Miro, Notion et FigJam.
Six comparison pages now live and all six are linked from the footer: head-to-head against LeanSpark, Canvanizer, Strategyzer, Miro, plus a LeanSpark alternatives page and a best free Lean Canvas tools roundup. Feature matrices animate in as you scroll, because reading a 24-row spec sheet shouldn’t feel like reading a spreadsheet.
And a hundred small things.
Support du signal abort dans web-LLM et Ollama, détection de blocage en cours de stream à 25 secondes, 113 tests unitaires verts, mode présentation conscient du thème.
Streams that hang no more, Web-LLM and Ollama both honor abort signals now. Agents that don’t end sessions on turn one. A two-stage stall timer that catches mid-stream hangs in 25 seconds, not 60. A test suite that went from zero to 113 passing. Dark mode that respects your theme in presentation mode.
The Pitch button used to grey out and stay grey if a generation hung. Fixed. The Ollama backend used to load with status
idleand never probe. Fixed. The Critic used to declare session complete after one exchange.The one thing to remember.
Un outil qui pose la question suivante ne te laisse pas abandonner.
Business plans die because writing them alone is a chore.
A tool that asks the next question doesn’t let you quit.
Free. Private. Your data. Your machine. No catch.