Watch this video to see the studio in action and learn how to use Gravity Recorder:
Zero setup. Zero lag. 100% Privacy.
Most screen recorders require logins, upload your data to their servers, and hit you with subscription walls. Gravity is built differently.
| Feature | Loom / Tella / Cap | Gravity Recorder |
|---|---|---|
| Price | Paid Subscriptions | $0 (100% Free) |
| Privacy | Stored on Cloud | Local-First (Privacy) |
| Login | Mandatory Account | No Login Required |
| Setup | Docker / S3 / SQL | Zero Infrastructure |
| Aesthetics | Generic | Studio-Grade UI |
- ๐จ Multi-Layer Gallery: Overlay your webcam on your screen with real-time scaling and styling.
- ๐ณ Shape-Shifting Webcam: Switch between Circle, Square, and Rounded patterns instantly.
- ๐ Draggable Studio: Move your webcam and UI elements anywhere on the canvas while recording.
- ๐ Hybrid Cloud Sync: Integrated with Google Drive API. Keep the source local, share the link in seconds.
- โ๏ธ Direct Hardware Access: Zero-lag recording using direct-to-disk chunking via the File System Access API.
Gravity uses the Browser File System Access API. We don't have a backend to store your videos. When you hit save, the browser writes the stream directly to a folder you select on your computer. Your data never touches our servers.
Gravity is optimized for Chromium-based browsers (Chrome, Edge, Brave) which support the advanced File System and Media Capture APIs.
Gravity is a high-performance Web Studio accessible directly via the web. Standalone Electron builds (.exe/.dmg) are currently in development.
Gravity is primarily a Web-First Studio. You can use the full production version today at gravityrecorder.com.
For those who want to test the latest experimental features or help us debug the upcoming standalone releases:
- Web Pre-releases: Hosted on our
betabranch. - Desktop Alpha: Coming soon to our Releases.
-
Clone & Install:
git clone https://github.com/uzairkath/gravityRecorder.git cd gravityRecorder npm install -
Configure Environment Variables:
- Copy the example environment file:
cp .env.example .env - Open
.envand add your Google and Supabase credentials. (See "Setup Guides" below).
- Copy the example environment file:
-
Launch Development:
npm run dev
To enable the Google Drive Cloud Sync feature locally, you need to configure a Google Cloud Project. Follow these detailed steps:
- Go to the Google Cloud Console.
- Click the project dropdown (top left) and select New Project.
- Name it
Gravity Recorderand click Create.
- In the sidebar, go to APIs & Services > Library.
- Search for "Google Drive API".
- Click on it and click Enable.
- Go to APIs & Services > OAuth consent screen.
- Select User Type: External and click Create.
- App Information: Enter
Gravity Recorderas the app name and your email for support. - Scopes:
- Click Add or Remove Scopes.
- Manually add this scope:
https://www.googleapis.com/auth/drive.file(this allows Gravity to only see files it creates, maximizing user privacy). - Add
.../auth/userinfo.profileand.../auth/userinfo.emailfor the login feature.
- Test Users: Add your own Gmail address so you can log in during development.
- Go to APIs & Services > Credentials.
- Click Create Credentials > OAuth client ID.
- Set Application type to
Web application. - Name:
Gravity Local Dev. - Authorized JavaScript origins: Add
http://localhost:5173. - Click Create and copy your Client ID.
- Click Create Credentials > API Key.
- Important: To prevent unauthorized use, click Edit API Key and under API restrictions, select "Restrict key" and check Google Drive API.
- Copy your API Key.
Paste both values into your .env file:
VITE_GOOGLE_CLIENT_ID=your_id_here.apps.googleusercontent.com
VITE_GOOGLE_API_KEY=your_key_here
VITE_SUPABASE_URL=your_project_url_here
VITE_SUPABASE_ANON_KEY=your_anon_key_hereWhile Gravity is local-first, we integrated a lightweight Supabase backend to solve a critical UX hurdle: Google OAuth Token Expiration.
Googleโs security policy limits "Client-side" (Implicit) Access Tokens to exactly 1 hour. For a screen recorder, this is a dealbreakerโyour upload could fail mid-way if your session expires.
By using Supabase as our Auth provider, we can securely exchange a one-time code for a Refresh Token. Supabase handles the silent background rotation of your Google tokens, ensuring you stay logged in and your big 4K uploads never get interrupted.
- Privacy-First Auth: It allows us to keep your data on Google Drive while managing only the "keys" securely.
- Real-time Metadata: Itโs the fastest way to sync your recording library across devices without us ever touching your actual video files.
- Create a Project: Head to the Supabase Dashboard and create a new project called
Gravity Recorder. - Enable Google Auth:
- Go to Authentication > Providers > Google.
- Toggle Enabled.
- Paste your
Client IDandClient Secret(from your Google Cloud Console). - Crucial: Copy the Redirect URI provided by Supabase and add it to your Google Cloud Console under "Authorized redirect URIs".
- Get your Keys:
- Go to Project Settings > API.
- Copy your Project URL and anon (public) key.
- Update
.env:VITE_SUPABASE_URL=https://your-project.supabase.co VITE_SUPABASE_ANON_KEY=your-long-anon-key-here
To build the project for production and preview the optimized bundle:
npm run build
npm run previewWe welcome everything from bug reports (Vibe-fixes) to deep architectural updates. Check out our CONTRIBUTING.md to get started.
This project is licensed under the MIT License.


