Github · GitHub Repository Radar
video-db bloom
An open source, agentic Loom alternative. Record locally, make recordings AI-ready, and run workflows on top
Stars
231
Forks
36
Watchers: 231
Language
License: MIT License
Repository Radar Score
37 / 100
Growth
- 7d
- +0
- 30d
- +0
- %
- 0.0%
Not enough metric snapshots yet to chart growth for this repository.
Score breakdown
- popularity 42
- growth 0
- activity 35
- freshness 100
- community 74
Need help integrating this stack?
Our team builds with modern open-source stacks. Tell us what you are shipping.
Get a quote →
Record locally. Make recordings AI-ready. Run workflows on top.
Record → Query → Automate
Install · Features · Docs · Report Bug
Bloom is a local-first screen recorder built for agentic workflows.
- Record locally — No lock-in, your files stay yours
- Upload to VideoDB — Automatic cloud sync with AI processing.
- Find any moment — Transcripts, visual embeddings, metadata.
- Let agents work on your recordings — Query via APIs or agent frameworks like Claude Code and access your recordings data.
Recordings are no longer files, they are inputs for AI.
Bloom.Demo.mp4
Run this in your terminal to install Bloom:
curl -fsSL https://artifacts.videodb.io/bloom/install | bashThis will automatically detect your Mac architecture, download the right build, and install it to /Applications.
Manual install
- Apple Silicon (M1/M2/M3/M4): bloom-2.2.0-arm64.dmg
- Apple Intel: bloom-2.2.0-x64.dmg
- Windows: bloom-2.2.0-x64.exe
- Mount the DMG and drag Bloom to your Applications folder
- Open Terminal and run
xattr -cr /Applications/Bloom.app - Launch the app from Applications or Spotlight
Supported on macOS and Windows (pre-built installer available for macOS). Linux support coming soon.
| Feature | Description |
|---|---|
| No subscription | Pay only for usage |
| Local-first | Record locally, no lock-in |
| AI-ready | Search, summarize, extract |
| Screen recording | Capture screen, microphone, and system audio via VideoDB Capture SDK |
| Camera overlay | Draggable camera bubble during recording |
| Floating bar | Always-on-top control bar that never blocks your apps |
| Multi-monitor | Display picker to choose which screen to record |
| Library | Browse, search, play, rename, and download recordings |
| Transcription | Automatic transcript generation with subtitled playback |
| Chat with video | Ask questions about your recording via VideoDB Chat |
| Share | One-click shareable link for any recording |
| Keyboard shortcut | Cmd+Shift+R to start/stop recording from anywhere |
| Open source | Fully customizable UI layer |
Bloom = UI layer (open source)
VideoDB = Intelligence layer (cloud)
graph LR
subgraph EA[" Electron App "]
R["Renderer UI"]
M["Main Process"]
DB[("SQLite")]
R -->|IPC| M
M --> DB
M --> SDK
end
subgraph VS[" VideoDB SDK "]
SDK["Node SDK"]
CC["CaptureClient"]
WS["WebSocket"]
API["Connection API"]
BIN["Native Binary"]
SDK --> CC & WS & API
CC --> BIN
end
subgraph LC[" Local Capture "]
SC["Screen Capture"]
MIC["Microphone"]
SA["System Audio"]
BIN --> SC & MIC & SA
end
subgraph VC[" VideoDB "]
UPLOAD["Upload & Export"]
STREAM["HLS Streaming"]
IDX["Indexing"]
TRX["Transcription"]
UPLOAD --> STREAM
IDX --> TRX
end
BIN -->|"upload chunks"| UPLOAD
WS -->|"session events"| UPLOAD
API -->|"index / transcribe"| IDX
classDef orange fill:#2e1a08,stroke:#EC5B16,stroke-width:1.5px,color:#f5a36a
classDef amber fill:#2e2008,stroke:#E8A317,stroke-width:1.5px,color:#f5d080
classDef red fill:#2e0d08,stroke:#FF4000,stroke-width:1.5px,color:#ff8a60
classDef green fill:#0d2e1a,stroke:#4CAF50,stroke-width:1.5px,color:#8ed4a0
classDef db fill:#1a1208,stroke:#EC5B16,stroke-width:1.5px,color:#f5a36a
class R,M orange
class SDK,CC,WS,API,BIN amber
class SC,MIC,SA red
class UPLOAD,IDX,TRX,STREAM green
class DB db
style EA fill:#1a0e04,stroke:#EC5B16,stroke-width:2px,color:#f5a36a
style VS fill:#1a1504,stroke:#E8A317,stroke-width:2px,color:#f5d080
style LC fill:#1a0804,stroke:#FF4000,stroke-width:2px,color:#ff8a60
style VC fill:#071810,stroke:#4CAF50,stroke-width:2px,color:#8ed4a0
Recording flow: The app creates a CaptureClient which spawns a native binary to capture screen, mic, and system audio. Chunks are uploaded to VideoDB Cloud in real-time. A WebSocket connection delivers session events (started, stopped, exported) back to the app.
Post-recording: Once the video is exported, the app calls the VideoDB API to index spoken words, generate a transcript, and create a subtitled stream — all available for in-app HLS playback or sharing via URL.
The UI layer is fully open source.
- Modify it — Customize the interface to your needs
- Extend it — Add new features and workflows
- Plug it in — Integrate with your own systems
Bloom is not just a tool. It's a foundation for building agentic systems on top of recordings.
Your recorder should not trap your data.
It should:
- Give you ownership — Local-first, no lock-in
- Enable intelligence — AI-ready from day one
- Power your agents — APIs and integrations built-in
Bloom is built for that future.
- Node.js 18+
- VideoDB API Key (console.videodb.io)
npm install
npm startOn first launch, grant microphone and screen recording permissions, then enter your VideoDB API key.
src/
├── main/ # Electron Main Process
│ ├── index.js # App entry, windows, tray, IPC routing
│ ├── db/
│ │ └── database.js # SQLite via sql.js
│ ├── ipc/ # IPC handlers
│ │ ├── capture.js # Recording start/stop, channels, devices
│ │ ├── permissions.js # Permission check/request/open settings
│ │ ├── camera.js # Camera bubble control
│ │ ├── history.js # Library: recordings list, delete, sync
│ │ └── auth.js # Login, logout, onboarding
│ ├── lib/ # Utilities
│ │ ├── config.js # App config
│ │ ├── logger.js # File + console logging
│ │ ├── paths.js # App paths (DB, config, logs)
│ │ └── videodb-patch.js # Binary relocation for packaged apps
│ └── services/
│ ├── videodb.service.js # VideoDB SDK wrapper
│ ├── session.service.js # Session tokens, WebSocket, sync
│ └── insights.service.js # Transcript + subtitle indexing
├── renderer/ # Renderer (context-isolated)
│ ├── index.html # Floating bar page
│ ├── renderer.js # Bar init + event routing
│ ├── permissions.html # Permissions modal window
│ ├── onboarding.html # Onboarding modal window
│ ├── history.html # Library window
│ ├── history.js # Library — list, player, download, share, sync
│ ├── display-picker.html # Display picker popup
│ ├── camera.html # Camera bubble
│ ├── ui/
│ │ └── bar.js # Bar controls, toggles, timer, devices
│ ├── utils/
│ │ ├── permissions.js # Permission check/request utility
│ │ └── logger.js # Renderer-side logging
│ └── img/ # Icons, brand assets, animated previews
└── preload/
└── index.js # Context bridge (renderer ↔ main)
build/
├── afterPack.js # electron-builder hook (codesign, plist patch)
├── entitlements.mac.plist # macOS entitlements
└── icon.icns # App icon
- macOS: System Settings → Privacy & Security → enable Screen Recording / Microphone / Camera
- Toggle camera off/on in source controls
- Check Camera permission in system settings
# Delete the app database (stored in Electron userData)
# macOS
rm ~/Library/Application\ Support/bloom/bloom.db
rm ~/Library/Application\ Support/bloom/config.jsonThen run npm start
# Build directory (for testing)
npm run pack
# Build DMG installers (macOS arm64 + x64)
npm run distMIT
- Docs: docs.videodb.io
- Issues: GitHub Issues
- Discord: Join community
- Console: Get API key
Made with love by the VideoDB team
Repository Radar analysis
Deterministic insights derived from public metadata and our observations — not personal testing or reviews.
Why this repository is interesting
- Listed in our discovery index with public GitHub metadata for analysis.
Who should use it
- Developers working primarily with JavaScript
- Teams exploring AI tooling, agents, or ML infrastructure
Potential use cases
- Reference or evaluate JavaScript open-source approaches in this domain
- Prototype AI/agent workflows or study reference architectures
Strengths
- README present in our index
- Declared license: MIT License
Limitations / considerations
- Insights are derived from public metadata and our observations — not a substitute for code review
What to watch
- Radar Score is modest — dig into activity and docs before committing
Source: GitHub (public metadata) + Repository Radar analysis. We do not claim ownership of third-party repositories.
Similar repositories
Snailclimb/JavaGuide
★ 158,249 · JavaScript · radar 61
jackwener/OpenCLI
★ 28,941 · JavaScript · radar 61
qingchencloud/clawpanel
★ 2,932 · JavaScript · radar 58
Javis603/token-monitor
★ 1,920 · JavaScript · radar 57
dw-dengwei/daily-arXiv-ai-enhanced
★ 2,999 · JavaScript · radar 56
webbrain-one/webbrain
★ 995 · JavaScript · radar 55
