MemScreen is a screen recording app for macOS with a built-in recording album.
It helps you:
- Record your screen quickly (full screen, specific display, region, or window)
- Keep recordings organized and searchable in one place
- Review timeline and metadata without leaving the app
- Optionally use local AI features to tag and retrieve content
The core product value is still recorder + album first, AI second.
Most recorders stop at “save an mp4 file”. MemScreen continues into:
- Continuous personal recording workflow
- Better recall through gallery organization
- Local-first indexing and retrieval
If you want a macOS recorder that also acts like a manageable personal archive, this project is designed for that.
- Recorder + Album in one product, not just an exported mp4 file
- Full workflows for
Screen,Region, andWindowrecording on macOS - Local timeline organization by app/day/tag for fast review
- Optional local AI understanding for content tagging and retrieval
- 100% local data path with no required cloud upload
| Product | Capture Focus | Recorder + Album | Local-First Privacy | AI Tag/Retrieval | Primary Positioning |
|---|---|---|---|---|---|
| MemScreen | Screen/Region/Window recording | Yes (built-in) | Yes (100% local by default) | Yes (optional local AI) | Recording + personal video memory |
| Recall | Saved content summarization (web/media/docs) | No | Mixed (app + cloud surfaces) | Yes | Knowledge capture and summarization |
| OBS Studio | Live capture and streaming | Partial | Partial | No | Live streaming and advanced capture |
| Loom | Cloud collaboration recording | Partial | No (cloud-centric) | Partial | Team sharing and async communication |
| CleanShot X | Quick screenshot/screencast utility | Partial | Partial | No | Screenshots and quick captures |
| Screen Studio | Polished recording export | Partial | Partial | No | Demo/tutorial video production |
Note: Feature sets of third-party products may evolve over time.
- Full screen recording
- All screens
- Single selected screen
- Region recording
- Window recording
- Floating ball workflow on macOS for quick control
- Two independent toggles in Settings:
System audioMicrophone
- Both enabled by default
- Runtime mapping:
- system+mic ->
mixed - system only ->
system_audio - mic only ->
microphone - both off ->
none
- system+mic ->
- macOS system-audio capture path includes loopback routing + restore logic
- Timeline-based browsing
- By-app / by-day / by-tag organization
- Tooltip metadata on timeline nodes
- Built-in playback and reanalysis
- Keyboard/Mouse tracking (optional)
- Can be auto-coupled to recording sessions
- Local model-backed tagging and retrieval
- Chat interface to query recording memory
- Works without cloud APIs (when local model runtime is available)
- If no model runtime is configured, recording and album features still work normally
MemScreen is currently best on macOS because the product integrates:
- Native floating ball window flow
- macOS screen capture permissions
- macOS audio routing behavior
If you use it on macOS, ensure permissions are granted:
- Screen Recording
- Accessibility (for key-mouse tracking)
- Microphone (if mic capture enabled)
git clone https://github.com/smileformylove/MemScreen.git && cd MemScreen
python3 -m venv venv
source venv/bin/activate
pip install -e .
./scripts/launch.shOptional audio dependency (if you need PyAudio-based device capture):
pip install -e ".[audio]"This script:
- Bootstraps Python dependencies
- Starts API backend
- Builds and starts Flutter macOS app
# API only
./scripts/launch.sh --mode api
# Flutter mode
./scripts/launch.sh --mode flutter
# Fast local relaunch (reuse existing build)
./scripts/launch.sh --mode flutter --skip-pub-get --skip-build
# Start and detach (keep API/app running in background)
./scripts/launch.sh --mode flutter --detach./scripts/docker-launch.shSee setup/docker/README.md for details.
# build single macOS installer package (no models bundled)
./scripts/release/build_all_release_artifacts.shPackaging design:
- one installer package for end users
- backend bootstrap is embedded inside the app and runs in background
- backend process always prefers bundled
Resources/backend/src(independent from local Python env) - first launch auto-installs lite runtime dependencies to
~/.memscreen/runtime/.venv - recording endpoints are smoke-tested in CI before artifact upload (
/health,/recording/screens,/recording/status) - models are downloaded on demand (optional, in app via
Settings -> Local models) - macOS signing/notarization automation is documented in
docs/RELEASE_PACKAGING.md
- Start MemScreen
- Choose recording mode (
Screen,Region, orWindow) - Record with audio toggles configured in Settings
- Stop recording
- Review immediately in Videos timeline/album
- Reanalyze or chat-search if needed
All local user data stays under ~/.memscreen/:
~/.memscreen/videos/- recording files~/.memscreen/db/- metadata databases~/.memscreen/logs/- runtime logs
No cloud upload is required by default.
- Frontend: Flutter (primary UI)
- Backend/API: FastAPI
- Core logic: Presenter-oriented Python modules (
memscreen/presenters) - Recording: screen capture + local encoding + local metadata persistence
- Audio: system/mic capture with mixed mode and macOS output routing support
- Storage: SQLite + local file system
Key folders:
frontend/flutter/- Flutter desktop appmemscreen/api/- HTTP API endpointsmemscreen/presenters/- recording/video/chat/process orchestrationmemscreen/audio/- audio capture/routing logicscripts/- launch and runtime scripts
- Quick start:
docs/QUICK_START.md - Installation:
docs/INSTALLATION.md - API reference:
docs/API_HTTP.md - Docker:
docs/DOCKER.md - Recording guide:
docs/RECORDING_GUIDE.md - Audio guide:
docs/AUDIO_RECORDING.md - Floating ball:
docs/FLOATING_BALL.md - Architecture:
docs/ARCHITECTURE.md - Flutter guide:
docs/FLUTTER.md - Testing guide:
docs/TESTING_GUIDE.md - Release packaging:
docs/RELEASE_PACKAGING.md
- Better global hotkeys
- Stronger video organization and retrieval
- More robust packaging/distribution flow
- Multi-device workflow exploration
- Report issues: GitHub Issues
- Feature discussion: GitHub Discussions
- PRs welcome
MIT License. See LICENSE.
