38 lines
2.6 KiB
Markdown
38 lines
2.6 KiB
Markdown
# OpenRewind
|
|
|
|
OpenRewind is an open-source alternative to [rewind.ai](https://rewind.ai), forked from [OpenRecall](https://github.com/openrecall/openrecall).
|
|
|
|
As this project is still in its early stages, you might not see significant progress just yet.
|
|
|
|
## To-dos
|
|
|
|
### Update the OCR Engine
|
|
|
|
OpenRecall currently uses docTR as its OCR engine, but it performs inadequately. On my MacBook Air M2 (2022), processing a screenshot takes around 20 seconds, with CPU usage peaking at over 400%. During this time, screenshots cannot be captured, and the engine appears to recognize only Latin characters.
|
|
|
|
To address this, we plan to replace the OCR engine with a more efficient alternative that supports multiple writing systems. We are considering [Tesseract](https://github.com/tesseract-ocr/tesseract), which supports multiple languages and is faster, though it still falls short of our desired results. (As reference, rewind.ai runs on same machine with avearge CPU usage of 40%)
|
|
|
|
### Implement a Task Queue/Scheduler
|
|
|
|
Currently, OpenRecall's OCR recognition and database operations are synchronous (blocking). This results in increased screenshot frequency, as described in the previous section.
|
|
|
|
Our next goal is to introduce a task queue to handle high-load tasks (such as OCR, indexing, and archiving) asynchronously. This will ensure that time-sensitive tasks (like capturing screenshots) are prioritized.
|
|
|
|
### Improve the Frontend
|
|
|
|
The current frontend of OpenRecall is quite basic. Given my expertise in web development, I will build a more robust frontend from scratch, using Python solely as a daemon/backend server.
|
|
|
|
We are also considering using Electron to deliver a near-native experience, aiming to match the functionality of [rewind.ai](https://rewind.ai).
|
|
|
|
### Add More Features
|
|
|
|
We will be implementing the [feature list](https://github.com/openrecall/openrecall/discussions/9) proposed in the OpenRecall repository. Stay tuned for updates.
|
|
|
|
### THE FURTHER FUTURE: Deployment & Refactoring
|
|
|
|
We are exploring ways to simplify the download, installation, and usage of this Python-based program, especially as we introduce new technologies (such as web dev / Electron).
|
|
|
|
Initially, we are considering Docker as a deployment solution. [Docker Desktop](https://www.docker.com/products/docker-desktop/) is available for macOS and Windows users and offers a more user-friendly experience compared to command-line Python installations and dependency management.
|
|
|
|
However, Docker is a temporary solution. In the future, we plan to transition OpenRewind to the [Electron](https://www.electronjs.org/) technology stack and gradually migrate Python components to Node.js.
|