Repository navigation
Releases: pritanb/bloomcode
Release list
v0.7.2 — Go solutions
BloomCode v0.7.2 — Go solutions
New
- Go is a solution language. Choose Go in the attempt screen's Language menu. The code editor highlights Go syntax, as it does for Python and Java, and saved attempts show the language as Go.
Install
Download BloomCode-darwin-arm64-0.7.2.zip, unzip, and replace BloomCode.app in Applications. This preview supports Apple silicon macOS. Existing study workspaces are kept, and the database is unchanged from v0.7.1 (version 14). Coming from an earlier version, it upgrades automatically on first launch.
The app is ad-hoc signed, not Developer ID signed or notarized. macOS may require approval in Privacy & Security for a downloaded app you trust.
Optional AI setup
The app includes Python workflow sources and its MCP adapter. Install Python 3.11+ and create the separate AI environment once. Python requirements are unchanged from v0.7.1; re-running the pip install line after updating is harmless.
python3 -m venv "$HOME/Library/Application Support/BloomCode/ai-runtime"
"$HOME/Library/Application Support/BloomCode/ai-runtime/bin/python" -m pip install -r /Applications/BloomCode.app/Contents/Resources/ai/python/requirements.txtRestart BloomCode. Codex needs file-based sign-in (~/.codex/auth.json, or CODEX_HOME/auth.json); Claude Code needs claude auth login. Each uses the signed-in account's plan allowance, never an API key. Ordinary study features work without AI setup. No credentials or study data are included in the archive.
Known limitations
- Only Python, Java and Go get syntax highlighting; JavaScript, TypeScript, C++ and Other are edited as plain text.
- Conversation history and coaching checkpoints are separate from study-database backups.
- The Python interpreter and its packages are not bundled; the one-time setup above is required for AI.
Validation
159 TypeScript tests, typecheck, the production smoke test and the browser practice/save/reload flow passed on the release code, and CI passed. A Go solution was checked in the editor for the language option and syntax highlighting. The packaged app was launched against a disposable workspace, and its bundle was checked for the Go label and grammar. Installed over an existing v0.7.1 workspace, every table's row count was unchanged.
v0.7.1 — Study lists keep course order
BloomCode v0.7.1 — Study lists keep course order
New
- Study lists keep their course order. When you follow a built-in course (Hello Interview, Blind 75 or NeetCode 150), any of its problems missing from your library are added first, so each day takes the course's next problems in order, topic by topic. Before, missing problems were skipped and fitted in later, out of order. Added problems are filed under their topic, use the problem bank's rating estimates once you've downloaded it, and start unseen.
- Pasted lists match built-in course titles, so a title from one of those courses resolves even if your library doesn't have it yet. Settings names any entry it couldn't identify; those are planned once you add them.
Fixes
- Split Array Largest Sum in the Hello Interview course is filed under Binary Search, not 1-D Dynamic Programming.
Install
Download BloomCode-darwin-arm64-0.7.1.zip, unzip, and replace BloomCode.app in Applications. This preview supports Apple silicon macOS. Existing study workspaces are kept, and the database is unchanged from v0.7.0 (version 14). Coming from an earlier version, it upgrades automatically on first launch.
The app is ad-hoc signed, not Developer ID signed or notarized. macOS may require approval in Privacy & Security for a downloaded app you trust.
Optional AI setup
The app includes Python workflow sources and its MCP adapter. Install Python 3.11+ and create the separate AI environment once. Python requirements are unchanged from v0.7.0; re-running the pip install line after updating is harmless.
python3 -m venv "$HOME/Library/Application Support/BloomCode/ai-runtime"
"$HOME/Library/Application Support/BloomCode/ai-runtime/bin/python" -m pip install -r /Applications/BloomCode.app/Contents/Resources/ai/python/requirements.txtRestart BloomCode. Codex needs file-based sign-in (~/.codex/auth.json, or CODEX_HOME/auth.json); Claude Code needs claude auth login. Each uses the signed-in account's plan allowance, never an API key. Ordinary study features, including following a study list from Settings, work without AI setup. No credentials or study data are included in the archive.
Known limitations
- Only problems from the built-in courses are added automatically. Problems from a pasted list that the app doesn't know are planned once they're in your library (for example after downloading the problem bank).
- If an idea you practised earlier is due for a check, one of that day's slots goes to it; the course continues in order the next day.
- Bloom can't fetch lists from the web; paste lists it doesn't have built in.
- Conversation history and coaching checkpoints are separate from study-database backups.
- The Python interpreter and its packages are not bundled; the one-time setup above is required for AI.
Validation
159 TypeScript tests, 67 offline Python tests, typecheck, the production smoke test and the browser practice/save/reload flow passed on the release code, and CI passed. All 88 Hello Interview entries were checked against LeetCode's titles, difficulties and topics from a fresh problem-bank download. The packaged app was launched against a disposable workspace holding only NeetCode 150: following Hello Interview added its 24 missing problems unseen and started the day at its first problem. Installed over an existing v0.7.0 workspace, every table's row count was unchanged.
v0.7.0 — Follow a study list
BloomCode v0.7.0 — Follow a study list
This preview also includes the v0.6.0 changes, which were never published as a separate release.
New
- Follow a study list. Choose who plans your days: Bloom (the default, unchanged) or your own ordered list. While a list plans, each day starts with its next unfinished problems, including ones you've solved before, and Bloom fills the rest. One slot stays free when an idea is due for a check. A problem leaves the list once you finish an attempt on it after it was listed; a skipped one comes back the next day. Switching back to Bloom keeps the list and your progress.
- Ask Bloom to set it up. Say "I want to start Hello Interview's questions" (optionally "from the Stack section"). Bloom proposes the course on a Follow Hello Interview? card showing the problem count, how many aren't in your library yet, and what's first up. Confirming saves the list and re-plans today's unstarted questions. "Go back to picking my questions" hands planning back.
- Three built-in courses: Hello Interview (88 problems), Blind 75 and NeetCode 150, grouped by section. Bloom has no web access, so for other lists (for example Grind 75) it asks you to paste them.
- Paste any list in chat or in Settings as LeetCode links, slugs or titles, including numbered lines like "1. Two Sum". A problem that isn't in your library yet joins the list once it's added, for example after downloading the problem bank.
- Settings: a Daily plan from switch, a study list box with progress, and Re-plan today puts the list's next problems on today's plan.
- Choose your own plan problems in chat. Ask Bloom to put specific problems on today's plan, including ones you've done before or above your level, and it proposes exactly those. Due checks can also be proposed in chat.
- Bloom remembers tutoring feedback (from v0.6.0). When you correct or praise Bloom's tutoring, it proposes a one-sentence lesson; a Remember this? card saves it only when you confirm. Lessons apply to chat, coaching and daily plans. Settings lists them under What Bloom has learned, with Forget.
Fixes
- Problems tagged both Trie and Dynamic Programming (such as Extra Characters in a String) are filed under DP instead of Tries. Already-downloaded bank problems move once, and recorded topic scores don't change.
Install
Download BloomCode-darwin-arm64-0.7.0.zip, unzip, and replace BloomCode.app in Applications. This preview supports Apple silicon macOS. Existing study workspaces are kept; the database upgrades automatically on first launch (to version 14), and the app backs it up daily.
The app is ad-hoc signed, not Developer ID signed or notarized. macOS may require approval in Privacy & Security for a downloaded app you trust.
Optional AI setup
The app includes Python workflow sources and its MCP adapter. Install Python 3.11+ and create the separate AI environment once. Python requirements are unchanged from v0.5.1; re-running the pip install line after updating is harmless.
python3 -m venv "$HOME/Library/Application Support/BloomCode/ai-runtime"
"$HOME/Library/Application Support/BloomCode/ai-runtime/bin/python" -m pip install -r /Applications/BloomCode.app/Contents/Resources/ai/python/requirements.txtRestart BloomCode. Codex needs file-based sign-in (~/.codex/auth.json, or CODEX_HOME/auth.json); Claude Code needs claude auth login. Each uses the signed-in account's plan allowance, never an API key. Ordinary study features, including following a study list from Settings, work without AI setup. No credentials or study data are included in the archive.
Known limitations
- Bloom can't fetch lists from the web; paste lists it doesn't have built in.
- Hello Interview originals with no LeetCode problem (Level Order Sum, Prefix Matching, Count Vowels in Substrings, Maximum Sum of Subarrays of Size K) are not in the course.
- A list's problems appear on the plan only once they're in your library; download the problem bank in Settings for the fullest coverage. A few courses' problems are LeetCode Premium.
- Repeats of problems you've solved before count toward topic ratings like any other attempt.
- Conversation history and coaching checkpoints are separate from study-database backups.
- The Python interpreter and its packages are not bundled; the one-time setup above is required for AI.
Validation
157 TypeScript tests, 67 offline Python tests, typecheck, lint, formatting, build, the production smoke test and the browser practice/save/reload flow passed on the release code, and CI passed. On disposable databases with real Codex, Bloom proposed Hello Interview from the Stack section and Blind 75 from Trees, handed planning back when asked, and asked for Grind 75 to be pasted instead of proposing one. The in-app confirmation card was checked and updated today's plan. The packaged app was launched against a disposable database: it served all three courses, planned from a confirmed list, and created a version 14 database. Installed over an existing v0.6.0 workspace, every table's row count was unchanged after the upgrade.
v0.5.1 — Scores that reflect difficulty
BloomCode v0.5.1 — Scores that reflect difficulty
New
- Solves count by difficulty. A solve's automatic topic increase now scales with the problem: Easy ×0.5, Medium ×1, Hard ×1.5. For example, with Trees at 2.0, an Easy solved with no help takes it to 2.1, and a Hard with no help then takes it to 2.4. A problem with no recorded difficulty counts as Medium. Unsolved and major-help attempts are unchanged, and existing scores don't move.
- A simpler Checks due tile. The study desk shows one count of everything due today or overdue, with "Bloom adds them to your plan" underneath. The separate review calendar page is gone, since Bloom schedules and plans checks itself.
Fixes
- Imports no longer schedule reviews from an old tool's next review date. The date stays on the imported attempt as history, and only Bloom schedules checks.
- Review reports no longer flag imports,
ListNode/TreeNodeor the method signature as missing, since the LeetCode editor supplies them.
Install
Download BloomCode-darwin-arm64-0.5.1.zip, unzip, and replace BloomCode.app in Applications. This preview supports Apple silicon macOS. Existing study workspaces are kept, and the database is unchanged from v0.5.0.
The app is ad-hoc signed, not Developer ID signed or notarized. macOS may require approval in Privacy & Security for a downloaded app you trust.
Optional AI setup
The app includes Python workflow sources and its MCP adapter. Install Python 3.11+ and create the separate AI environment once. Python requirements are unchanged from v0.5.0; re-running the pip install line after updating is harmless.
python3 -m venv "$HOME/Library/Application Support/BloomCode/ai-runtime"
"$HOME/Library/Application Support/BloomCode/ai-runtime/bin/python" -m pip install -r /Applications/BloomCode.app/Contents/Resources/ai/python/requirements.txtRestart BloomCode. Codex needs file-based sign-in (~/.codex/auth.json, or CODEX_HOME/auth.json); Claude Code needs claude auth login. Each uses the signed-in account's plan allowance, never an API key. Ordinary study features work without AI setup. No credentials or study data are included in the archive.
Known limitations
- Difficulty weighting applies only to automatic scoring when an attempt finishes; manual score reviews are unchanged.
- Bookmarks to the old Reviews page now show "Page not found".
- Interview help needs the tutor, and chat stays paused during an attempt.
- Conversation history and coaching checkpoints are separate from study-database backups.
- The Python interpreter and its packages are not bundled; the one-time setup above is required for AI.
Validation
149 TypeScript tests, 65 offline Python tests, typecheck, lint, formatting, build, the production smoke test and the browser practice/save/reload flow passed on the release code. The study desk was checked on a disposable database. The packaged app was launched against a disposable database, and its bundle was confirmed to carry the difficulty weights and the new Checks due tile.
v0.5.0 — Interview help during practice
BloomCode v0.5.0 — Interview help during practice
New
- Interview help while you practise. With an attempt open, the Bloom panel switches from chat to Interview help. Enter when you got stuck (mm:ss) and what's blocking you; your current code goes with each message. Bloom answers like an interviewer, one nudge at a time, and grades each hint small or major.
- Hints land in your attempt notes. Each stuck moment is written to the notes as
[Stuck at 12:30] Asked Bloom for help., followed by where you were and the hint. Help used is prefilled from the strongest hint until you choose a value yourself. Scoring rules are unchanged: a small hint means OK at best, and major help means Struggled. - Reviews know where you got stuck. The tutor report names each stuck point without crediting hinted ideas as your own.
Fixes
- The tutor panel stays movable after you paste a long block of text. The message box now stops growing at a fixed height and scrolls inside, so the header (the drag handle) can't be pushed out of view.
- Interview help shows a single stuck-time field. The message box no longer asks for mm:ss, and a note beside Send explains when the time is missing.
Install
Download BloomCode-darwin-arm64-0.5.0.zip, unzip, and replace BloomCode.app in Applications. This preview supports Apple silicon macOS. Existing study workspaces are kept, and the database is unchanged from v0.4.0.
The app is ad-hoc signed, not Developer ID signed or notarized. macOS may require approval in Privacy & Security for a downloaded app you trust.
Optional AI setup
The app includes Python workflow sources and its MCP adapter. Install Python 3.11+ and create the separate AI environment once. Python requirements are unchanged from v0.4.0; re-running the pip install line after updating is harmless.
python3 -m venv "$HOME/Library/Application Support/BloomCode/ai-runtime"
"$HOME/Library/Application Support/BloomCode/ai-runtime/bin/python" -m pip install -r /Applications/BloomCode.app/Contents/Resources/ai/python/requirements.txtRestart BloomCode. Codex needs file-based sign-in (~/.codex/auth.json, or CODEX_HOME/auth.json); Claude Code needs claude auth login. Each uses the signed-in account's plan allowance, never an API key. Ordinary study features work without AI setup. No credentials or study data are included in the archive.
Known limitations
- Interview help needs the tutor; with it off, the panel points to Settings → AI tutor. Chat stays paused during an attempt.
- Help threads live in the open app only. The hints are saved through your attempt notes, not the thread itself.
- Bloom's first plan of the day takes about 20–100 seconds. With the tutor off, the built-in rules plan instantly.
- Conversation history and coaching checkpoints are separate from study-database backups.
- The Python interpreter and its packages are not bundled; the one-time setup above is required for AI.
Validation
149 TypeScript tests, 65 offline Python tests, typecheck, lint, formatting, build and the production smoke test passed locally on the release code. The panel fix was checked in the browser by pasting 60 lines into the chat box: the box stayed at its capped height and dragging the header moved the panel. The packaged app was launched against a disposable database, and its bundle was confirmed to carry both fixes.
v0.4.0 — Bloom plans your day
BloomCode v0.4.0 — Bloom plans your day
New
- Bloom plans each day. Every LeetCode problem has a rating: a zerotrac contest rating, or an estimate from difficulty, acceptance rate and tags. Each topic has a level that rises or falls with your results. Every attempt counts as Strong, OK or Struggled, judged from outcome, help, solve time, first-try acceptance and confidence. Bloom picks popular unseen problems near your level, weakest topics first, and gives a reason for each.
- Ideas come back, not the same problems. After a struggle you get easier practice in that topic. Otherwise, on the review date, you get a hidden Transfer check: a different, unseen problem with the same core idea, shown without its topic. Two solo solves two weeks apart retire an idea.
- LeetCode problem bank. Download every algorithm problem rated up to 2,000, premium included, from Settings. Daily plans no longer follow NeetCode 150 or Blind 75; those lists stay in the library.
- Plan changes in chat. Ask Bloom to add or swap problems; nothing changes until you confirm.
- Claude Code as a tutor provider. Settings → AI tutor runs Bloom on Codex or Claude Code, each on your own plan.
- Rating chips, per-topic training levels on Topics, a "Checks due" tile, and Too easy / Too hard and "Accepted first try" on finished attempts.
Install
Download BloomCode-darwin-arm64-0.4.0.zip, unzip, and replace BloomCode.app in Applications. This preview supports Apple silicon macOS. Existing study workspaces are retained. The first launch upgrades the database by adding tables only, so older builds can still open it.
After updating, open Settings → Problem bank and download it once so Bloom can plan from the whole LeetCode set.
The app is ad-hoc signed, not Developer ID signed or notarized. macOS may require approval in Privacy & Security for a downloaded app you trust.
Optional AI setup
The app includes Python workflow sources and its MCP adapter. Install Python 3.11+ and create the separate AI environment once. Re-run the pip install line after updating: this version adds the Claude Agent SDK.
python3 -m venv "$HOME/Library/Application Support/BloomCode/ai-runtime"
"$HOME/Library/Application Support/BloomCode/ai-runtime/bin/python" -m pip install -r /Applications/BloomCode.app/Contents/Resources/ai/python/requirements.txtRestart BloomCode. Codex needs file-based sign-in (~/.codex/auth.json, or CODEX_HOME/auth.json); Claude Code needs claude auth login. Each uses the signed-in account's plan allowance, never an API key. Ordinary study features work without AI setup. No credentials or study data are included in the archive.
Known limitations
- Bloom's first plan of the day takes about 20–100 seconds. With the tutor off, the built-in rules plan instantly.
- Hidden transfer checks need the tutor; with it off, due ideas come back as visible topic practice.
- Estimated ratings are approximate (about ±150). Opening a problem in the library marks it as seen, so it can't become a later transfer check.
- Conversation history and coaching checkpoints are separate from study-database backups.
- The Python interpreter and its packages are not bundled; the one-time setup above is required for AI.
Validation
148 TypeScript tests, 64 offline Python tests, typecheck, lint, formatting, build and disposable runtime checks passed locally and in CI. Real Codex and Claude Code runs on a disposable database covered daily planning, a transfer check and its report, and confirmed chat plan changes. The packaged app was checked against a disposable database, including the problem-bank download and a Bloom plan on Codex.
v0.3.0 — Bloom AI tutor desktop preview
BloomCode v0.3.0 — Bloom AI tutor preview
New
- Bloom: a movable, app-wide coding tutor with persistent conversations, evidence links, and guided coaching.
- Confirmed learning goals and teaching preferences.
- Shared Python AI infrastructure and LangGraph workflows for tutoring and Learning Insights; Python also handles attempt feedback, observation extraction, and topic recommendations.
- Learning Insights groups related observations across study history, verifies supporting and contrary evidence, and suggests up to six habits with exercises and success checks.
- Regenerate reports from saved analysis; cleaner detail panels and readable source links.
Install
Download BloomCode-darwin-arm64-0.3.0.zip, unzip, and move BloomCode.app into Applications. This preview supports Apple silicon macOS. Existing study workspaces are retained.
The app is ad-hoc signed, not Developer ID signed or notarized. macOS may require approval in Privacy & Security for a downloaded app you trust.
Optional AI setup
The app includes Python workflow sources and its MCP adapter. Install Python 3.11+ and create the separate AI environment once:
python3 -m venv "$HOME/Library/Application Support/BloomCode/ai-runtime"
"$HOME/Library/Application Support/BloomCode/ai-runtime/bin/python" -m pip install -r /Applications/BloomCode.app/Contents/Resources/ai/python/requirements.txtRestart BloomCode. AI requires file-based Codex sign-in (~/.codex/auth.json, or CODEX_HOME/auth.json) and uses the signed-in account's allowance. Keyring-only sign-in is not supported. Ordinary study features work without AI setup. No credentials or study data are included in the archive.
Known limitations
- Insight grouping is heuristic; source verification does not prove a diagnosis. Report generation may take several minutes.
- Conversation history and coaching checkpoints are separate from study-database backups.
- Python interpreter/dependencies are not bundled; the one-time setup above is required for AI.
Validation
129 TypeScript tests, 53 offline Python tests, typecheck, lint, formatting, build and disposable runtime checks passed locally. The packaged app was checked against a disposable database, including the bundled MCP tools and Python tutor startup.
v0.2.0 — BloomCode desktop preview
BloomCode v0.2.0 refreshes the desktop study workspace with a consistent interface, optional AI learning reports, and simpler local storage and backups.
Install
Download BloomCode-macos-arm64.zip, unzip it, and move BloomCode.app into Applications. This preview supports Apple silicon Macs. Node.js is not required to run the packaged app.
The app is ad hoc signed, but is not Developer ID signed or notarized. If macOS blocks it, follow Apple's instructions for a build you trust.
Changes
- BloomCode branding and rebuilt study desk, practice workspace, library, topic progress, notebooks, and settings.
- Optional tutor feedback through the Codex CLI, Learning Insights with local semantic retrieval, and on-demand topic recommendations.
- SQLite backups taken daily at startup, plus an on-demand backup command.
- A simpler backend with typed relational tables and authenticated API/MCP access.
- NeetCode 150 and Blind 75 starter lists; NeetCode 250 is no longer bundled.
- Updated documentation, screenshots, and critical-function tests.
The app stores solutions but does not execute them or submit to LeetCode. Practice tracking works without AI. Enabling the tutor sends selected code, notes, and metadata to OpenAI; embeddings run locally.
Compatibility
This remains an experimental, single-user preview with no automatic updater. Database schemas from v0.1.0 and other older development versions are not automatically migrated. Use a fresh workspace or an already-converted current workspace. Keep a separate backup of existing data before trying this version; replacing the app does not convert an older database. JSON export/restore has been replaced by SQLite backups.
Verification
The source passed 103 critical tests, all three browser checks (including autosave/save/reload), typechecking, lint, formatting, the production build, and the startup smoke check. The Apple silicon archive is built by the GitHub desktop workflow. Live AI output and a full packaged-app interaction flow were not revalidated for this release.
v0.1.0 — macOS desktop preview
A self-contained macOS desktop app for planning LeetCode practice, saving solutions and notes, scheduling reviews, and keeping optional tutor feedback alongside your attempts.
Install
- Download LeetCode-Tutor-macos-arm64.zip below.
- Unzip it and move LeetCode Tutor.app into Applications.
- Open the app and choose your timezone, daily target and starter question list.
For Apple silicon Macs. No Node.js installation or source checkout is needed for normal use.
This preview is ad hoc signed, but not Developer ID signed or notarized. macOS may block a downloaded copy. If you trust the build, use Apple’s documented opening process. Intel Macs, Windows and Linux desktop packages are not provided.
Included
- Electron desktop shell with integrated sidebar, navigation and theme controls.
- Bundled local server and SQLite storage; saved work stays outside the app bundle.
- Draft autosave, practice history, review scheduling and portable JSON export.
- Attempt notes and tutor feedback displayed side by side.
- Optional MCP connection through the repository’s separate Node.js adapter.
The app saves solutions; it does not run code or submit to LeetCode. It is a single-user local app, with no cloud sync or automatic updater. Existing users should export their records before updating and stop any older browser server before opening the desktop app.
Validation
102 critical tests, typecheck, lint and production startup smoke checks passed. The packaged app was exercised on disposable data for setup, saving, quit/reopen persistence, native export and restore integrity. The archive contains no personal workspace or API credentials.
See the README and desktop guide. A project license remains undecided.