Screenity is a privacy-focused, open-source Chrome extension that allows users to record their screen, camera, and audio without requiring registration or sending data to third parties. Designed for developers, educators, and professionals who need to create tutorials, product demos, or share feedback, Screenity emphasizes user control and data privacy—enabling offline use and eliminating tracking. Built with JavaScript and leveraging Web APIs, it supports advanced features like AI-powered background blur, cursor highlighting, and in-video annotations. The extension is available for free via the Chrome Web Store, but also supports full self-hosting for users who want complete control over their environment. This makes it ideal for organizations with strict data governance policies or individuals who prioritize privacy above all else.
What You Get
- Unlimited screen recording - Record your entire desktop, specific windows, browser tabs, or camera feed with no time or count limits.
- Privacy-first design - No data is collected, stored, or transmitted; you can use Screenity completely offline without signing in.
- AI-powered camera enhancements - Use AI to blur or replace your background during video recordings for professional results without a green screen.
- Real-time annotation tools - Draw shapes, add text, arrows, and highlights directly on your screen during recording or in the editor.
- Audio control with push-to-talk - Record microphone or internal system audio, and use push-to-talk to mute/unmute with a hotkey.
- Video editing capabilities - Trim, crop, cut, and remove audio from recordings using an integrated editor with timeline controls.
- Cursor and click highlighting - Visually emphasize mouse movements and clicks to improve viewer focus during tutorials.
- Google Drive integration - Export recordings directly to Google Drive and share links without uploading to Screenity servers (requires OAuth setup).
- Self-hosting support - Deploy the extension locally using GitHub source code, with no external API dependencies.
- Countdown and UI customization - Set recording countdowns, hide extension UI elements, or reposition the control panel for unobtrusive recording.
Common Use Cases
- Building a private internal training video library - A remote team records onboarding tutorials using Screenity’s offline mode to avoid corporate data policies restricting third-party tools.
- Creating product demos without cloud uploads - SaaS founders record and edit demo videos locally to ensure customer data never leaves their machine.
- Privacy-conscious educators recording lectures - Teachers use Screenity to record screen and webcam without logging in or storing videos on external platforms.
- Developers documenting bugs with annotated screen recordings - Engineers capture screen activity with annotations and cursor highlights to share precise bug reports with teammates.
- Designers sharing UI feedback via annotated videos - UX designers record interactions and draw directly on the screen to communicate design changes without written notes.
- Team workflow for secure video feedback - Legal or finance teams record sensitive internal reviews with blur tools to obscure PII, then export only to Google Drive.
Under The Hood
Screenity is a Chrome browser extension designed for advanced screen recording with features such as background replacement and camera overlays, leveraging web-based AI and media processing capabilities. It is built with a modular architecture that supports extension-specific workflows while integrating modern web technologies and machine learning models directly in the browser.
Architecture
The project adopts a modular monolithic structure tailored for browser extensions, organizing functionality into distinct pages and components to support scalable development.
- The codebase is structured around multiple entry points corresponding to different extension pages, enabling a clear separation between UI, background, and content scripts.
- Core modules such as recording helpers, offscreen document management, and messaging systems promote loose coupling between components.
- UI elements are built using React-based layouts with reusable components, reflecting a component-driven design approach.
- Communication between extension contexts is handled through a centralized messaging system and event listeners, ensuring seamless interaction across environments.
Tech Stack
The extension is developed using modern web technologies, combining React for UI and extensive use of browser APIs to deliver rich functionality.
- Built primarily with JavaScript and TypeScript, the project leverages React as its core UI framework alongside web APIs for browser-based operations.
- Key dependencies include @radix-ui components, plyr-react for media handling, fabric for canvas manipulation, and tensorflow.js for AI-driven features.
- The build pipeline uses Webpack with Babel for JavaScript transformation, TypeScript support, and comprehensive configuration for both development and production environments.
Code Quality
The codebase demonstrates a mature structure with a balance of consistency and complexity, featuring strong error handling practices but limited formal testing.
- Error handling is broadly implemented through try/catch blocks, indicating a focus on runtime robustness.
- Code organization shows some adherence to patterns, though technical debt is present in patch management and configuration.
- Type safety is enforced through TypeScript, enhancing code reliability and maintainability across large modules.
What Makes It Unique
Screenity stands out through its integration of real-time AI models and innovative use of browser APIs to enable advanced recording features without external dependencies.
- Real-time selfie segmentation is powered by TensorFlow Lite models running directly in the browser, eliminating server-side processing.
- Offscreen document management allows audio recording and control outside the main UI thread, enhancing performance and responsiveness.
- A custom patching strategy is employed for third-party libraries to adapt them for browser extension constraints and optimize behavior.
- Unique handling of Chrome extension lifecycle events enables seamless tracking of tab and window state changes for uninterrupted recording.