Screenpipe is a 24/7 AI screen and microphone recording tool developed by Mediar AI. It emphasizes openness, security, and data ownership, serving as an alternative to Rewind.ai. The project is actively developed in Rust, integrating with Ollama, and supports multiple operating systems. Its trajectory is positive with active community engagement and frequent updates.
Louis Beaumont (louis030195)
Matthew Diakonov (m13v)
GitHub Actions Bot
Bhupesh Gupta (bhupesh-sf)
Kerosina
Jan (jandremarais)
Joe Goldin (joegoldin)
Open PRs Needing Attention:
Code Quality Concerns:
Community Engagement:
Timespan | Opened | Closed | Comments | Labeled | Milestones |
---|---|---|---|---|---|
7 Days | 9 | 2 | 35 | 8 | 1 |
30 Days | 53 | 51 | 230 | 31 | 1 |
90 Days | 153 | 110 | 673 | 110 | 1 |
All Time | 161 | 110 | - | - | - |
Like all software activity quantification, these numbers are imperfect but sometimes useful. Comments, Labels, and Milestones refer to those issues opened in the timespan in question.
Developer | Avatar | Branches | PRs | Commits | Files | Changes |
---|---|---|---|---|---|---|
Louis Beaumont | 3 | 16/13/2 | 109 | 154 | 22229 | |
Bhupesh Gupta | 1 | 1/1/0 | 3 | 39 | 18261 | |
GitHub | 1 | 0/0/0 | 40 | 1 | 1280 | |
kerosina | 1 | 2/2/0 | 8 | 5 | 179 | |
GitHub Actions Bot | 7 | 0/0/0 | 18 | 1 | 90 | |
Matthew Diakonov | 1 | 2/1/0 | 2 | 4 | 41 | |
Jan | 1 | 1/1/0 | 1 | 1 | 18 | |
Joe Goldin | 1 | 1/1/0 | 1 | 1 | 2 | |
MH (mhioi) | 0 | 1/0/1 | 0 | 0 | 0 | |
None (aybanda) | 0 | 1/0/1 | 0 | 0 | 0 | |
tribhuwan (tribhuwan-kumar) | 0 | 1/0/0 | 0 | 0 | 0 | |
David Anyatonwu (onyedikachi-david) | 0 | 1/0/0 | 0 | 0 | 0 |
PRs: created by that dev and opened/merged/closed-unmerged during the period
Risk | Level (1-5) | Rationale |
---|---|---|
Delivery | 4 | The project faces significant delivery risks due to a backlog of unresolved issues, with 51 open issues including critical errors like 'Access Denied' (#370) and segmentation faults (#367, #366). The reliance on external dependencies such as Cuda 12 (#348) and ffmpeg versions in PR #372 further complicates delivery timelines. The presence of draft PRs (#347, #346) and ongoing feature development without clear milestones exacerbates these risks. |
Velocity | 3 | Velocity is moderate but inconsistent, with high commit activity from a few developers, notably Louis Beaumont (109 commits), indicating potential team dependency risks. The backlog of unresolved issues and the draft status of key PRs suggest possible slowdowns. Automated CI/CD processes help maintain some velocity, but the uneven workload distribution could hinder progress. |
Dependency | 4 | Dependency risks are high due to reliance on pre-release software versions (e.g., Tauri 2.0.0-rc.10) and external libraries like ffmpeg, which have shown compatibility issues in PR #372. The ongoing updates in 'Cargo.toml' files indicate frequent adjustments that could lead to instability if not managed carefully. |
Team | 3 | The team shows signs of dependency on key individuals like Louis Beaumont, which could pose risks if these contributors become unavailable. Communication gaps in reviews (PR #373) and uneven commit contributions suggest potential collaboration challenges. However, community engagement and bounties for contributions may mitigate some team-related risks. |
Code Quality | 4 | Code quality is at risk due to inconsistent adherence to naming conventions (PR #373) and the introduction of substantial new code without thorough review (e.g., Reddit pipe in PR #373). The presence of critical bugs like segmentation faults (#367, #366) indicates underlying quality issues that need addressing. |
Technical Debt | 4 | Technical debt is accumulating with recurring issues like memory leaks (#278) and process termination problems (#368). The oversight in CUDA support removal (PR #328) and the complexity indicated by 148 branches suggest growing maintenance challenges. |
Test Coverage | 3 | Test coverage appears insufficient, as evidenced by persistent errors across multiple issues and incomplete implementations like FFmpeg sidecar installation (PR #231). The lack of automated tests for certain functionalities could lead to regressions. |
Error Handling | 3 | Error handling is moderate but needs improvement. Issues like 'Access Denied' (#370) and segmentation faults indicate gaps in error reporting and resolution mechanisms. While logging libraries are integrated, unresolved compatibility with Sentry suggests incomplete error monitoring. |
Recent GitHub issue activity for the Screenpipe project shows a high level of engagement with 51 open issues and numerous recent updates. The issues cover a range of topics from technical bugs to feature requests and enhancements.
Several issues exhibit notable anomalies or complications:
Permission and Access Errors: Issues like #370 and #369 highlight recurring permission errors on Windows, particularly related to audio handling and monitor ID mismatches. These suggest underlying compatibility or configuration challenges that need addressing to ensure smooth operation across different environments.
Segmentation Faults: Multiple issues (#367, #366) report segmentation faults on different operating systems, indicating potential memory management or compatibility issues with specific hardware or OS configurations.
Process Termination: Issue #368 describes a problem where the Screenpipe process doesn't terminate correctly on Windows, which could lead to resource leaks or conflicts during updates.
Memory Leaks: Several closed issues (#278, #236) were related to memory leaks, particularly on macOS. These have been addressed but highlight ongoing challenges in managing resource usage effectively.
Audio Device Compatibility: Issues like #352 and #277 point to challenges with audio device compatibility, especially concerning sample rates and multi-channel configurations.
Themes among the issues include cross-platform compatibility, resource management, and user experience improvements. The project is actively engaging with contributors through bounties to resolve these challenges.
#370: Repeated "Access Denied (0x80070005)" Errors
#369: Vision Module in "Stale" Mode Due to Mismatched Monitor IDs
#368: Screenpipe Process Doesn't Terminate When Closing the App
#367: Segmentation Fault After Building Screenpipe on Debian 12
#366: Segmentation Fault When Running Screenpipe on macOS
These issues are critical as they impact core functionality and user experience across multiple platforms. The project's active approach to resolving these through community contributions and bounties is a positive sign of its commitment to improving stability and usability.
openaiApiKey
should be camelCase).Merged Successfully
Notable for enhancing WebSocket functionality with JSON output.
Open PRs Needing Attention:
Closed PRs Without Merging:
Successful Integrations:
Community Engagement:
Overall, the project is actively evolving with a focus on improving functionality and cross-platform support. However, attention to detail in naming conventions, testing procedures, and clearer communication during reviews could enhance the development process.
screenpipe-app-tauri/src-tauri/Cargo.toml
sentry-tauri
dependency is commented as broken, which could be a concern if error tracking is needed.screenpipe-core/src/llama.rs
anyhow
for error handling, which is suitable for complex operations like model loading and inference.Default
trait.screenpipe-server/src/bin/screenpipe-server.rs
examples/typescript/pipe-llama32-sync-user-conversation-to-notion/pipe.ts
screenpipe-core/src/google.rs
llama.rs
, this file encapsulates functionality within a module for Google-related text generation models.anyhow
effectively for managing errors across various operations like API interactions and model loading.Overall, the codebase reflects active development with attention to modularity and cross-platform support. However, some areas could benefit from improved security practices (e.g., API token management) and maintainability enhancements (e.g., reducing complexity in large files).
main
, fix-[#199](https://github.com/mediar-ai/screenpipe/issues/199)
, manual-silero-vad-implementation
.websocket
branch.Active Development: The project is under active development with frequent commits, indicating ongoing improvements and feature additions.
Collaboration: Team members are collaborating across multiple branches, focusing on both feature development and bug fixes.
Automation: Use of GitHub Actions for automating updates and ensuring consistency across platforms.
Documentation Updates: Continuous efforts to improve documentation, making it easier for users to understand and contribute to the project.
The development team is actively engaged in enhancing the Screenpipe project, focusing on performance optimizations, new features, and cross-platform compatibility. The use of automation tools like GitHub Actions streamlines maintenance tasks, while collaboration among team members ensures a steady flow of improvements. The project maintains a strong community presence with regular updates and documentation enhancements.