- Modern web browser (Chrome recommended, Firefox or Edge also work)
- Google account and/or Microsoft account
- HTTPS hosting (GitHub Pages, Netlify, Vercel — all free)
You need at least one cloud provider configured. You can set up both to let users choose.
- Go to Google Cloud Console
- Click New Project → name it "Takus" → click Create
- Navigate to APIs & Services → Library
- Search and enable:
- Google Drive API
- Google Calendar API
- Google Docs API
- Go to APIs & Services → Credentials
- Click + CREATE CREDENTIALS → OAuth client ID
- If prompted, configure the consent screen:
- User type: External
- App name: Takus
- Add your email as a test user
- For the OAuth client:
- Application type: Web application
- Authorized JavaScript origins:
https://yourdomain.netlify.app(production)http://localhost:5173(local development)
- Click Create and copy the Client ID
- Go to Microsoft Entra admin center
- Navigate to Applications → App registrations → New registration
- Name: Takus
- Supported account types: Accounts in any organizational directory and personal Microsoft accounts
- Redirect URI: Platform = Single-page application (SPA), URI =
https://yourdomain.netlify.app
- Go to API permissions → Add a permission → Microsoft Graph → Delegated permissions
- Add these permissions:
User.Read(profile)Files.ReadWrite(OneDrive uploads)Calendars.ReadWrite(calendar integration)Notes.Create(OneNote pages)Notes.ReadWrite(OneNote sections)
- Click Grant admin consent if you are the admin, otherwise users will consent on first login
- Go to Overview → copy the Application (client) ID
Open public/config.js and set your provider credentials:
window.__TAKUS_CONFIG__ = {
google: {
clientId: 'your-google-client-id.apps.googleusercontent.com',
},
microsoft: {
clientId: 'your-microsoft-app-id',
},
drive: {
folderName: 'Takus Recordings',
makePublic: false,
},
calendar: {
enabled: true,
},
};Note: You can omit either
microsoftif you only want one provider. The Connect dropdown will show a "Configure" tag for unconfigured providers.
| Option | Default | Description |
|---|---|---|
google.clientId |
'' |
Your Google OAuth 2.0 Client ID |
microsoft.clientId |
'' |
Your Microsoft Entra Application ID |
microsoft.authority |
'https://login.microsoftonline.com/common' |
MSAL authority (change for single-tenant apps) |
drive.folderName |
'Takus Recordings' |
Cloud folder name for recordings (both providers) |
drive.makePublic |
false |
Whether to make recordings publicly shareable |
drive.fileNamePattern |
'{title} — {date} {time}' |
Filename template. Variables: {title}, {date}, {time}, {timestamp} |
calendar.enabled |
true |
Whether to link recordings to calendar events |
recording.defaultVideoQuality |
'720p' |
Default video quality (480p/720p/1080p) |
recording.defaultAudioQuality |
'medium' |
Default audio quality (low/medium/high) |
npm install
npm run devOpen http://localhost:5173 in Chrome.
Takus can generate transcripts, summaries, and tasks using an AI provider. Configure this in the Settings tab after launching.
- Go to Google AI Studio
- Click Get API Key → Create a key for your project
- In Takus Settings, select Gemini as the AI provider and paste your API key
- Security: The API key is sent via the
x-goog-api-keyHTTP header (never in URL parameters) and stored only in your browser's IndexedDB
- Go to platform.openai.com → API Keys → Create
- In Takus Settings, select OpenAI and paste your API key
- Uses Whisper for transcription and GPT-4o-mini for summarization
Connect your GitHub repo to Netlify. Build command: npm run build, publish directory: dist/.
The dist/ folder is a static site. Deploy it anywhere: Netlify, Vercel, Cloudflare Pages, GitHub Pages, S3, etc.
- Connect a cloud provider — click "Connect" and choose Google Drive or Microsoft OneDrive (first time only)
- Set quality — choose video/audio quality in Settings
- Enter a title — optional but recommended for organization
- Click the record button (or press
R) - Select what to share — choose a screen, window, or tab
- 3-2-1 countdown — recording starts after the countdown
- Pause/Resume — press Space or click the pause button
- Stop — press
Sor click the stop button - Review & trim — preview the recording, optionally trim start/end
- Auto-upload — recording uploads to your cloud storage with progress tracking
- Calendar — if a matching Google Calendar / Outlook event is found, the link is added automatically
- Meeting notes — if AI is configured, a Google Doc or OneNote page is created with the summary
| Key | Action |
|---|---|
R |
Start recording |
Space |
Pause / Resume |
S |
Stop recording |
Esc |
Cancel (during preview/countdown) |
- Audio capture: when sharing a tab, check "Share tab audio" in the browser's sharing dialog
- Quality vs. size: 720p at medium audio uses ~18.6 MB/min (~1.1 GB/hour)
- Long recordings: resumable uploads handle files of any size without crashing
- Offline fallback: if no cloud provider is connected, recordings download locally
- Facecam: click the camera icon to activate Picture-in-Picture webcam overlay
You haven't set a Client ID in public/config.js. Follow Step 1 and Step 2 above.
- Check that your domain/redirect URI is in the authorized origins
- Make sure you're on HTTPS (not HTTP)
- Try clearing browser cache and cookies
- Check the browser console (F12) for specific error messages
Your organization may require admin consent for the requested permissions. Ask your IT admin to approve the app, or use a personal Microsoft account.
- When sharing your screen, make sure to check "Share tab audio" or "Share system audio"
- The audio level meter at the bottom of the preview shows whether audio is being captured
- If using a microphone, grant microphone permission when prompted
- If you click "Stop Sharing" in the browser's sharing bar, the recording stops automatically
- The recording data is preserved and will still upload or download
- Check your internet connection
- The upload will automatically retry failed chunks up to 3 times
- If it still fails, click "Save Locally" to download the file
- You can then manually upload the file to your cloud storage
Need help? Check the browser console (F12) for detailed error messages and logs.