The Open Source and Free Rewind AI (but better)
See the code⚠️ VERY EARLY DEVELOPMENT - This project is in very early development. Expect breaking changes, incomplete features, and bugs.
A local-first screen recording and search application for macOS, inspired by Rewind AI. Retrace captures your screen activity, extracts text via OCR, and makes everything searchable—all locally on-device.
Retrace is an open source alternative to Rewind AI that gives you photographic memory of everything you've seen on your screen. It continuously captures screenshots (every 2 seconds by default), extracts text using OCR, and stores everything in a searchable database—entirely on your Mac with no cloud dependencies.
Data Flow:
CGWindowListCapture (every 2s)
↓
Frame Deduplication
↓
Split into two paths:
├─ OCR Path: Vision OCR → Text Extraction → SQLite Database
└─ Video Path: HEVC Encoding → .mp4 segments
↓
Full-Text Search (FTS5) → Timeline/Dashboard UI
Retrace is built with a modular architecture:
See AGENTS.md for detailed architecture documentation.
Retrace needs the following macOS permissions:
git clone https://github.com/haseab/retrace.git
cd retrace
Option A: Using Xcode (Recommended)
open Package.swift
Retrace scheme in XcodeOption B: Command Line
# Build the project
swift build -c release
# Run the executable
.build/release/Retrace
First Launch:
The app will create its database at the default location (~/Library/Application Support/Retrace/) or a custom location if configured in Settings.
Reset database (keeps settings):
./scripts/reset_database.sh
Reset onboarding (safe, preserves data):
./scripts/reset_onboarding_safe.sh
Hard reset (deletes everything):
./scripts/hardreset_onboarding.sh
Draft or submit a bug issue:
# Start from the canonical AI issue template
cp AI_ISSUE_TEMPLATE.md /tmp/retrace-issue.md
# After filling it in, create the issue with gh if needed
gh issue create --title "Crash on launch" --body-file /tmp/retrace-issue.md
Retrace follows a Test-Driven Development (TDD) approach. See CONTRIBUTING.md for:
swift test
retrace/
├── App/ # App coordination and lifecycle
├── UI/ # SwiftUI views and view models
├── Database/ # SQLite + FTS5 implementation
├── Storage/ # HEVC video encoding and file management
├── Capture/ # Screen capture (CGWindowListCapture)
├── Processing/ # OCR and text extraction
├── Search/ # Query parsing and FTS5 ranking
├── Migration/ # Rewind import tools
├── Shared/ # Protocols and shared models
└── scripts/ # Build and utility scripts
Roadmap for future releases to be determined based on user feedback and priorities.
Current Metrics:
Storage (Work in Progress):
See GitHub Issues for known bugs and feature requests.
Retrace uses minimal external dependencies:
Future releases will add:
Contributions are welcome! Please read CONTRIBUTING.md for guidelines on:
This project is licensed under the MIT License - see the LICENSE file for details.
Created with ♥ by @haseab
Would appreciate a Github Star if the project is useful! ⭐
52 followers · starred Feb 2026
Swift
94.1%
C++
3.1%
C
2.0%
The Open Source and Free Rewind AI (but better)
See the code⚠️ VERY EARLY DEVELOPMENT - This project is in very early development. Expect breaking changes, incomplete features, and bugs.
A local-first screen recording and search application for macOS, inspired by Rewind AI. Retrace captures your screen activity, extracts text via OCR, and makes everything searchable—all locally on-device.
Retrace is an open source alternative to Rewind AI that gives you photographic memory of everything you've seen on your screen. It continuously captures screenshots (every 2 seconds by default), extracts text using OCR, and stores everything in a searchable database—entirely on your Mac with no cloud dependencies.
Data Flow:
CGWindowListCapture (every 2s)
↓
Frame Deduplication
↓
Split into two paths:
├─ OCR Path: Vision OCR → Text Extraction → SQLite Database
└─ Video Path: HEVC Encoding → .mp4 segments
↓
Full-Text Search (FTS5) → Timeline/Dashboard UI
Retrace is built with a modular architecture:
See AGENTS.md for detailed architecture documentation.
Retrace needs the following macOS permissions:
git clone https://github.com/haseab/retrace.git
cd retrace
Option A: Using Xcode (Recommended)
open Package.swift
Retrace scheme in XcodeOption B: Command Line
# Build the project
swift build -c release
# Run the executable
.build/release/Retrace
First Launch:
The app will create its database at the default location (~/Library/Application Support/Retrace/) or a custom location if configured in Settings.
Reset database (keeps settings):
./scripts/reset_database.sh
Reset onboarding (safe, preserves data):
./scripts/reset_onboarding_safe.sh
Hard reset (deletes everything):
./scripts/hardreset_onboarding.sh
Draft or submit a bug issue:
# Start from the canonical AI issue template
cp AI_ISSUE_TEMPLATE.md /tmp/retrace-issue.md
# After filling it in, create the issue with gh if needed
gh issue create --title "Crash on launch" --body-file /tmp/retrace-issue.md
Retrace follows a Test-Driven Development (TDD) approach. See CONTRIBUTING.md for:
swift test
retrace/
├── App/ # App coordination and lifecycle
├── UI/ # SwiftUI views and view models
├── Database/ # SQLite + FTS5 implementation
├── Storage/ # HEVC video encoding and file management
├── Capture/ # Screen capture (CGWindowListCapture)
├── Processing/ # OCR and text extraction
├── Search/ # Query parsing and FTS5 ranking
├── Migration/ # Rewind import tools
├── Shared/ # Protocols and shared models
└── scripts/ # Build and utility scripts
Roadmap for future releases to be determined based on user feedback and priorities.
Current Metrics:
Storage (Work in Progress):
See GitHub Issues for known bugs and feature requests.
Retrace uses minimal external dependencies:
Future releases will add:
Contributions are welcome! Please read CONTRIBUTING.md for guidelines on:
This project is licensed under the MIT License - see the LICENSE file for details.
Created with ♥ by @haseab
Would appreciate a Github Star if the project is useful! ⭐
52 followers · starred Feb 2026
Swift
94.1%
C++
3.1%
C
2.0%