Unified dashboard that aggregates multiple Google Drive accounts into a single storage pool. Runs entirely in your browser — no server, no backend, no installation required.
Try CloudNest — free, open source, works right in your browser.
Google gives every account 15 GB free. CloudNest lets you combine as many accounts as you want into one unified interface — effectively giving you N x 15 GB of free cloud storage. Every upload automatically routes to the account with the most available space.
- Unified storage pool — one dashboard for all your Drive accounts
- Smart upload routing — Least-Used-Space strategy picks the best account
- Folder navigation — full hierarchy, breadcrumbs, grid & list views, search, filters
- Drag-to-folder — drag a file and drop it into any folder
- Shared with me — browse files others have shared with your accounts
- Trash management — restore or permanently delete
- Analytics — storage by account, file type charts, upload activity
- Dark / light theme
- Runs in your browser — no server, no Docker, no backend
- Your data stays yours — stored in your browser and your own Google Drive
- 100% open source, $0 cost
Visit encryptioner.github.io/CloudNest and follow the setup wizard.
git clone https://github.com/Encryptioner/CloudNest.git
cd CloudNest
pnpm install
pnpm run devThen open http://localhost:3000/CloudNest.
Prerequisites: Node.js 24+, pnpm
You need a free Google Cloud project to connect your accounts. The in-app setup wizard walks you through each step, but here's the overview:
- Go to Google Cloud Console and create a new project
- Enable the Google Drive API
- Configure the OAuth consent screen — choose External, add your Google accounts as test users
- Create credentials — OAuth client ID — Web application
- Add
https://encryptioner.github.ioas an authorized JavaScript origin (andhttp://localhost:3000for local dev — the basePath/CloudNestis not needed in the origin) - Copy the Client ID and paste it into CloudNest
| Layer | Technology |
|---|---|
| Runtime | Node.js 24, pnpm |
| Framework | Next.js 15 (App Router, static export) |
| UI | React 19, Tailwind CSS 3 |
| Drive API | Google Identity Services + gapi client |
| Storage | localStorage + IndexedDB (via idb) |
| Linting | ESLint 9 (flat config) + typescript-eslint |
| Deployment | GitHub Pages via GitHub Actions |
- Token expiry: Google OAuth tokens last ~1 hour. CloudNest attempts silent re-authentication, but you may occasionally need to re-authorize
- Testing mode: Each Google Cloud project in testing mode supports up to 100 test users
- Browser storage: Data is stored in your browser's localStorage and IndexedDB. Clearing browser data will require re-setup
- No offline mode: File operations require an internet connection to reach Google Drive
- No data is stored on any server — everything stays in your browser and your own Google Drive accounts
- Access tokens are short-lived (~1 hour) and stored in localStorage
- You provide your own Google Cloud Client ID — CloudNest has no shared secrets
- The source code is fully auditable
Contributions welcome! Please open an issue or pull request on GitHub.
MIT
Inspired by saimon4u/Drive-Pool