CoreLive is a personal task tracker and BrainDump archive whose centerpiece is an Activity Heatmap — every completed task accumulates as warm density across a year, so you close the app feeling validated, not graded. Built with Next.js, available as a web app and a macOS desktop app (Electron).
⚠️ Pre-launch — there are no users yet. Breaking changes are fine, anywhere. Reshape the database, Prisma schema, APIs, or any other element freely and abruptly — there is no need to write or preserve migrations, keep existing data, or maintain backward compatibility. When the schema changes, just reset the database (pnpm db:reset).
Developer documentation lives in docs/dev/, organized by
the Diátaxis framework — tutorial, how-to, reference, and
explanation. New to the codebase? Start with the
Getting Started tutorial, then read the
architecture overview. The design system
(typography, color, motion, voice) is in DESIGN.md.
This project supports:
- Web: Browser-based application accessible via web browsers
- Desktop (macOS only): Electron-based desktop application for macOS
Note: Desktop builds are currently limited to macOS. Windows and Linux support has been removed.
- Docker and Docker Compose
- Node.js (version 24+; CI uses 24.13.0)
- pnpm
- Clerk
- ngrok (for local development see Clerk docs)
- Clone the repository
- Run
pnpm installto install the dependencies
- Copy
.env.exampleto.envin the root of the project - Fill in your actual values in the
.envfile
All Next.js environment variables are loaded and validated via src/env.mjs using @t3-oss/env-nextjs. The app will fail to start if required variables are missing or invalid.
| Variable | Side | Description |
|---|---|---|
POSTGRES_PRISMA_URL |
Server | PostgreSQL connection string |
WEBHOOK_SECRET |
Server | Clerk webhook signing secret |
CLERK_SECRET_KEY |
Server | Clerk API secret key |
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY |
Client | Clerk publishable key |
NEXT_PUBLIC_CLERK_SIGN_IN_URL |
Client | Sign-in page path (e.g., /login) |
NEXT_PUBLIC_CLERK_SIGN_UP_URL |
Client | Sign-up page path (e.g., /sign-up) |
NEXT_PUBLIC_CLERK_SIGN_IN_FORCE_REDIRECT_URL |
Client | Post-login redirect path (e.g., /home) |
| Variable | Description |
|---|---|
APPLE_ID |
Apple Developer account email |
APPLE_APP_SPECIFIC_PASSWORD |
App-specific password for notarization |
APPLE_TEAM_ID |
Apple Developer Team ID |
GH_TOKEN |
GitHub token for release uploads (optional) |
| Variable | Description |
|---|---|
E2E_CLERK_USER_USERNAME |
Test user username (registered in Clerk Dev) |
E2E_CLERK_USER_PASSWORD |
Test user password |
E2E_CLERK_USER_EMAIL |
Test user email |
Note: E2E tests communicate with the real Clerk Dev instance (not mocked). Test credentials must be registered in Clerk Dashboard.
This project uses PostgreSQL v17 as the database, managed through Docker Compose for local development.
# Start the PostgreSQL database
docker compose up -d postgres
# Apply migrations (also generates the Prisma client)
pnpm prisma:migrate
# Seed initial data (optional)
pnpm prisma:seedBasic Commands:
# Start database
docker compose up -d postgres
# Stop database
docker compose down
# View database logs
docker compose logs postgres
# Access database directly
docker compose exec postgres psql -U postgres -d coreliveAfter setting up the database, run the development server:
pnpm dev
# or
npm run dev
# or
yarn dev
# or
bun devOpen http://localhost:4991 with your browser to see the result.
You can start editing the page by modifying files under src/app/. The page auto-updates as you edit.
This project uses next/font to optimize and load its three-font stack: Inter Tight (body/UI), Newsreader (display serif), and Geist Mono (data/code).
Need ngrok to recive create.user event webhook from Clerk in local.
like ngrok http --domain=foo.bar-ngrok.app 4991
This project includes an Electron desktop application that wraps the Next.js web app. Desktop builds are currently limited to macOS only.
# Run the desktop app in development mode
pnpm electron:dev
# Run Electron directly (requires Next.js dev server to be running)
pnpm electron| Command | Purpose |
|---|---|
pnpm electron:build:mac |
Production release (DMG + ZIP + signed + notarized) |
pnpm electron:build:dir |
Local production testing (unpacked .app only) |
# Local production testing (connects to corelive.app)
pnpm electron:build:dir
open dist/mac-arm64/CoreLive.app # Apple Silicon; dist/mac/ on Intel
# Production release
pnpm electron:build:macThe built macOS applications (DMG and ZIP) will be available in the dist/ directory.
Note: Only macOS builds are supported. Windows and Linux builds have been removed.