From Noa:
bun run build
bun run dev
not within electron-app but the full directory
Understand where your time went and reduce distractions.
A modern AI-powered time tracking and productivity application.
- Automatic Time Tracking: Native window and app tracking across macOS, Windows, and Linux
- AI-Powered Categorization: Intelligent activity categorization and insights
- Distraction Management: Real-time distraction detection and prevention
- Calendar Integration: Seamless integration with Google Calendar and other services
- Analytics: Comprehensive dashboards and reporting
- π Bun - Fast JavaScript runtime and package manager
- π Monorepo Structure with workspaces (client, server, shared)
- βοΈ React + TypeScript for the frontend
- π¨ Tailwind CSS + Shadcn UI for styling
- π tRPC for type-safe API calls
- π³ Stripe for payments
- π MongoDB for database
- β‘ Next.js for the marketing website
- Craco - Used for customizing Create React App configuration without ejecting
- Lucide React - Icon library
- React Router - Client-side routing
- React Query - Data fetching and caching
- Zod - Schema validation
.
βββ client/ # React admin frontend
β βββ src/ # Source code
β βββ craco.config.js # Craco configuration for CRA customization
β βββ package.json # Frontend dependencies
βββ nextjs-client/ # Next.js marketing website
β βββ app/ # Next.js 13+ app directory
β βββ components/ # Reusable components
β βββ modules/ # Page-specific modules
β βββ public/ # Static assets
βββ server/ # Backend server
β βββ src/ # Source code
β βββ package.json # Backend dependencies
βββ shared/ # Shared types and utilities
β βββ types.ts # Shared TypeScript types
β βββ package.json # Shared package configuration
βββ electron-app/ # Electron desktop application
βββ src/ # Source code (main, preload, renderer)
βββ package.json # Electron app dependencies
- Bun (latest version)
- MongoDB
- Stripe account (for payments)
- Google OAuth credentials
Contact the project maintainer to get the required environment variables. You'll need to set up:
- MongoDB connection string
- Stripe API keys
- Google OAuth credentials
- Other service-specific keys
- Clone the repository
git clone https://github.com/your-username/whatdidyougetdonetoday-ai.git
cd whatdidyougetdonetoday-ai- Install dependencies
bun install- Start the development servers
For the React admin frontend:
cd client
bun devFor the backend:
cd server
bun devTo run both the backend server and the Electron application concurrently for development:
bun run dev:electron-serverThis project uses a monorepo structure with four main packages:
- Marketing website and landing pages
- Built with Next.js 13+ App Router
- Tailwind CSS and Shadcn UI components
- Blog system with markdown support
- SEO optimized
- Built with Create React App + Craco
- Uses Tailwind CSS for styling
- Implements Shadcn UI components
- Handles all admin logic and UI
- Bun-based backend
- tRPC for type-safe API endpoints
- MongoDB integration with Mongoose
- Handles authentication and payments
- AI categorization services
- Contains shared TypeScript types
- Used by both client and server
- Ensures type safety across the stack
- A desktop application built with Electron, React, and TypeScript
- Native system integration for automatic time tracking
- Cross-platform support (macOS, Windows, Linux)
- For more details, see the Electron App README
The application is set up as a monorepo with separate deployment targets:
- Next.js Website: Deploy the
nextjs-clientdirectory to Vercel or similar - Admin Client: Deploy the
clientdirectory to a static hosting service - Backend: Deploy the
serverdirectory to a Node.js hosting service - Desktop App: Build and distribute via GitHub Releases or similar
The Electron app uses Electron Builder for packaging and distribution. For detailed instructions on building, code signing, and publishing new releases, please refer to the dedicated README in the Electron app directory:
β‘οΈ Electron App Build and Release Guide (electron-app/README.md)
This guide covers:
- Development builds
- Production builds (signed
.appand.dmg) - Code signing setup
- Publishing releases with OTA updates to S3
The native Objective-C modules use Apple's Unified Logging system (os_log). To view these logs for debugging purposes:
- Open the Console.app on macOS.
- Start the Cronus application.
- In the search bar of the Console app, enter the following filter and press Enter:
This will display all log messages generated by the native modules, which is essential for diagnosing issues related to window tracking and native code execution.
subsystem:com.cronus.app
- App Icon is in electron-app/build/icon.png
- Icon for Website is in client/src/assets/icon.png
- Icon for Electron App (runtime) is in electron-app/resources/icon.png
This is an open source project! Contributions are welcome. Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.