A desktop productivity app that aggregates and organizes your personal information. Built with Electron and Next.js, with Gmail integration via Google OAuth 2.0 and the Gmail API (read-only).
- Bento grid layout – Clean, compact cards for Email, Documents, Calendar, Analytics, Team, and Settings
- Floating dock – Aceternity-style navigation bar at the bottom (Mac-like dock with hover animations)
- Gmail integration – Read-only access to your inbox via Google OAuth 2.0
- Monochrome UI – Black, white, and gray theme
- Next.js 16
- Electron
- Tailwind CSS v4
- Motion (animations)
- Radix UI components
- Node.js 18+
- npm
-
Clone the repo:
git clone https://github.com/YOUR_USERNAME/grum.git cd grum/recap/frontend -
Install dependencies:
npm install
-
(Optional) For Gmail integration, add a
.envfile in therecapfolder with your Google OAuth credentials:GOOGLE_CLIENT_ID=your_client_id GOOGLE_CLIENT_SECRET=your_client_secret
cd recap/frontend
npm run devThe Electron window opens automatically once Next.js is ready at http://localhost:3000. You can also open that URL in a browser.
| Command | Description |
|---|---|
npm run dev |
Runs Next.js dev server and Electron together |
npm run build |
Builds Next.js for production |
npm run start |
Runs Next.js in production mode |
npm run electron |
Runs only Electron (expects Next.js at port 3000) |
npm run lint |
Runs ESLint |
grum/
├── recap/
│ ├── frontend/ # Electron + Next.js app
│ │ ├── app/ # Next.js pages
│ │ ├── components/ # UI components (bento grid, floating dock, etc.)
│ │ └── main.js # Electron main process
│ └── backend/ # Gmail service (OAuth, API)
│ └── src/
│ └── gmail.service.ts
└── README.md
MIT